WooCommerce PayPal Powered by Braintree allows you to accept credit cards on your WooCommerce store along with PayPal payments via Braintree. Customers can save their credit card details or link a PayPal account to their WooCommerce account for fast and easy checkout.
PayPal Powered by Braintree includes full support for WooCommerce Subscriptions and Pre-Orders for both the PayPal and Credit Card gateways.
Requirements ↑ Back to top
To use this extension, your store must have:
- SSL certificate installed
- PHP 5.4 or higher (go to WooCommerce > System Status to check)
- cURL support (most hosts have this enabled by default)
- WooCommerce 2.5 or newer
As of version 2.0, this plugin can be used with merchant accounts in any country. However, note that your store currency must match your merchant account. If you’d like to present items in your store using a different currency than your Braintree account, you must use a multi-currency setup.
Installation ↑ Back to top
Install via WordPress admin ↑ Back to top
You can install the plugin automatically via your WordPress dashboard:
- Go to: Plugins > Add New.
- Search for
woocommerce paypal powered by braintree

- Click Install Now. Once installed, Activate.
- Go to WooCommerce > Settings > Payments > Braintree and read the next section to learn how to set up and configure the plugin.
Install Manually ↑ Back to top
You can install the plugin manually as well:
- Download the extension from WordPress.org.
- Go to Plugins > Add New > Upload and select the ZIP file you just downloaded.
- Click Install Now, and then Activate.
- Go to WooCommerce > Settings > Payments > Braintree and read the next section to learn how to set up and configure the plugin.
Setup and Configuration ↑ Back to top
You need to connect your store to Braintree, then configure plugin settings.
Connect to Braintree: US Merchants ↑ Back to top
US Merchants can connect to Braintree using a few clicks, without the need to find and manually enter API credentials. To manually enter API credentials, see the “Non-US Merchants” instructions.
To connect to Braintree, go to WooCommerce > Settings > Payments > Braintree (credit card or PayPal). Scroll down to Connection Settings.
To connect to a production or live account, use the Connect with Braintree button. To connect in sandbox mode, use the text link instead.
Either enter your details to create an account, or click the “Log in” link to connect an existing Braintree account.
Authorize WooCommerce to use your Braintree account to process payments.
Accept the redirection back to your store, and you’re ready to configure the plugin settings!
Connect to Braintree: Non-US Merchants ↑ Back to top
Non-US merchants, or US merchants who want to use separate credentials for the Credit Card and PayPal gateways, can connect to Braintree by entering API credentials. Non-US merchants must use this method, as Braintree Connect is not available for non-US accounts and will therefore be hidden. If you don’t have an account already, you can use this New Account link to signup.
First, log into your Braintree Control Panel. Go to Account > My User to access your user profile.

From this page, click View API Keys under Authorization.

If you have any keys generated, access them here or generate new keys. Click View to see your keys or generate new ones.

While viewing keys, you need to copy the Public Key, Private Key, and Merchant ID.

Now log into your WooCommerce store and go to WooCommerce > Settings > Payments > Braintree (Credit Card). Copy and paste your Merchant ID, Public Key, and Private Key to their respective text boxes on the settings page under Connection Settings:
That’s it! These credentials can be shared with the PayPal gateway or re-entered in those settings.
If you want to tweak settings and customize the checkout process, keep reading.
Credit Card Settings ↑ Back to top
While you can share credentials between the Braintree – Credit Card and Braintree – PayPal payment methods, there are settings to configure for each.
General Settings ↑ Back to top

- Enable / Disable – Enables gateway as an option for customers in checkout.
- Title – This is the text shown for the payment during checkout and on the Order Received page.
- Description – Text shown under the title during checkout. Limited HTML is allowed. If you enable test mode, this section also displays a notice along with a test amount input.
- Card Verification (CSC) – Enable to require customers to enter their CVV / CV2 (Card Security Code) when checking out. Useful if you have requirements in your Braintree account for CV2 verification.
- Transaction Type – Controls how transactions are submitted to Braintree. Choose Charge or Authorization. Default is Charge. If you select Authorization, you must manually capture and settle payments in your Braintree control panel or on the WooCommerce orders screen after the transaction has been submitted. If you use the Authorization method, please note that different credit card types have a different expiry to this Authorization. E.g. you might need to Charge the card within 7 days after the authorization has been granted. For a full list of the credit card types and their expiry date, see the documentation at Braintree.
- Charge Virtual-Only Orders – (Shown if Transaction Type is set to Authorization) Enable to force charges on order containing only virtual items so they’re captured immediately instead of authorized (e.g., grant download access right away).

- Accepted Cards – Controls card logos that display during checkout. Purely cosmetic and has no affect on cards actually accepted by your merchant account.
- Tokenization – Enable to allow customers to save payment methods for future use at checkout. This must be enabled if you use Subscriptions or Pre-Orders, and the vault must be enabled in your Braintree account.
- Detailed Decline Messages – Enable to display detailed messages to customers on reason for declines when possible instead of a generic error message.
- Debug Mode – Enable if having issues correctly processing transactions. Either log API requests / responses directly to the checkout / thank you page, save them to the WooCommerce Error Log (found under WooCommerce > System Status > Logs) or both. All debugging messages are cleaned of sensitive information before display, but as a best practice do not enable this unless you are having issues with the plugin.
Connection Settings ↑ Back to top
US Merchants will see the Connect to Braintree button under Connect/Disconnect.
Otherwise, non-US merchants, or those who have enabled “Enter connection credentials manually” will see further connection settings:
- Environment – Switch between Sandbox and Production credentials. Set to Production to process payments. Note: You cannot use Sandbox credentials in Production mode. This is an separate sandbox environment that requires a separate login. You can sign up for a sandbox account here. Once you have done this, then use the provided Sandbox credentials.
- Share connection settings – Enabling allows you to use connection/authentication settings between the credit card and PayPal gateways. If enabled, you need to enter Braintree credentials in the PayPal settings to share them from.
- Merchant ID – Found in your Braintree account. Follow setup steps to get this.
- Public Key – Found in your Braintree account. Follow setup steps to get this.
- Private Key – Found in your Braintree account. Follow setup steps to get this.
Merchant Account IDs ↑ Back to top
This section is only needed if you have different merchant accounts for multicurrency support. Note that you must use a currency switcher plugin to change currencies — we recommend the Aelia Currency Switcher (requires purchase), which works seamlessly with this Braintree plugin.
The different merchant IDs you entered here are then used to charge the appropriate currency. To add more merchant IDs:
- Select the currency for this merchant ID in the dropdown.
- Click the “Add merchant account ID for (currency)” button.
- Enter the merchant account ID for this currency in the newly created field.
- Repeat as needed for each merchant ID / currency.
Remember to use a new merchant account for each currency.
Dynamic Descriptors ↑ Back to top
To set up Dynamic Descriptors, you must have these enabled by your Braintree representative.
- Name – Name to display for the dynamic descriptor. Braintree requires this to be in a very specific format. More at Dynamic Descriptor Setup.
- Phone (Optional) – Your phone number. Must be exactly 10 characters, and can only contain numbers, dashes, parentheses, or periods.
- URL (Optional) – Your website URL. Must be 13 characters or less.
Fraud Settings ↑ Back to top
Basic Fraud protection is enabled by default on your Braintree account. If you want to enable Advanced or Kount fraud detection, this must be enabled within your Braintree account.
- Fraud Tool – Select which Fraud tool to use. Basic is enabled by default for all Braintree accounts. To use Advanced or Kount, these must be enabled for your account — see more under Fraud and Verification Tools.
- Kount merchant ID – Shown if “Kount Direct” is enabled. You’ll get this from your Braintree representative. Note that you must manually enter API credentials to use Kount, this is not supported via “Connect with Braintree”.
- Phone (Optional) – Your phone number. Must be exactly 10 characters, and can only contain numbers, dashes, parentheses, or periods.
- URL (Optional) – Your website URL. Must be 13 characters or less.
3D Secure ↑ Back to top
WooCommerce Braintree supports verifying transactions via 3D Secure, but you must have 3D Secure enabled by your Braintree representative for your account.
- 3D Secure – You can enable 3D Secure checks for the plugin if enabled in your Braintree account. See more under Fraud and Verification Tools.
PayPal Settings ↑ Back to top
To use the Braintree PayPal integration, you must have PayPal enabled in your Braintree account under Settings > Processing.
General Settings ↑ Back to top

- Enable/Disable – Enables the gateway as an option to customers in checkout.
- Title – Text shown for the payment during checkout and on the Order Received page.
- Description – Text shown under the title during checkout. Limited HTML is allowed. If you enable test mode, this section also displays a notice along with a test amount input.
- Transaction Type – Controls how transactions are submitted to PayPal via Braintree. Choose either Charge or Authorization. Charge is default. If you select Authorization, you must manually capture and settle payments in your Braintree control panel or on the WooCommerce orders screen after the transaction has been submitted.
- Charge Virtual-Only Orders – (Shown if Transaction Type is set to Authorization) Enabling forces charges on orders containing only virtual items so they’re captured immediately instead of authorized (e.g., grant download access right away).

- Tokenization – Enable to allow customers to link PayPal accounts for future use at checkout. This must be enabled if you want to use PayPal for Subscriptions or Pre-Orders, PayPal vault must be enabled in your Braintree account, and you must be using Advanced Fraud Tools.
- Detailed Decline Messages – Enable to display detailed messages to customers to provide reasoning for declines when possible instead of a generic error message.
- Debug Mode – Enable if you are having issues correctly processing transactions. Either log API requests/responses directly to the checkout/thank you page, save them to the WooCommerce Error Log (found under WooCommerce > System Status > Logs) or both. All debugging messages are cleaned of sensitive information before display, but as a best practice, do not enable unless you are having issues with the plugin.
Connection Settings ↑ Back to top
If you’re already connected to Braintree (US Merchants), you’ll see the connection button. If not, you can choose to enter credentials manually.
- Environment – Switch between Sandbox and Production credentials. Set to Production to process payments. Note: You cannot use Sandbox credentials in Production mode. This is a separate sandbox environment that requires a separate login. You can sign up for a sandbox account here, and then use the provided Sandbox credentials.
- Share connection settings – Enabling allows you to use connection/authentication settings between the credit card and PayPal gateways. If enabled, the account and dynamic descriptor settings under the credit card gateway are used here as well.
- Merchant ID – From your Braintree account. Follow the setup steps to get this.
- Public Key – From your Braintree account. Follow the setup steps to get this.
- Private Key – From your Braintree account. Follow the setup steps to get this.
Merchant Account IDs ↑ Back to top
This section is only needed if you have different merchant accounts for multicurrency support. Please note that you must use a currency switcher plugin to change currencies — we recommend the Aelia Currency Switcher (requires purchase), which works seamlessly with this Braintree plugin.
The different merchant IDs you entered here are then used to charge the appropriate currency. To add more merchant IDs:
- Select the currency for this merchant ID in the dropdown.
- Click the “Add merchant account ID for (currency)” button.
- Enter the merchant account ID for this currency in the newly created field.
- Repeat as needed for each merchant ID / currency.
Remember to use a new merchant account for each currency.
Dynamic Descriptors ↑ Back to top
To set up Dynamic Descriptors, you must have these enabled by your Braintree representative. If you share your connection settings, you need not enter anything here.
- Name – Name displayed for the dynamic descriptor. Braintree requires this to be in a very specific format. More at Dynamic Descriptor Setup.
Using PayPal without Credit Cards ↑ Back to top
It’s absolutely possible to use only the Braintree (PayPal) gateway without using the Braintree (Credit Card) gateway if you use another credit card processor. You will, however, need to pay attention to settings to ensure that you have this configured correctly.
Using PayPal for One-time Purchases
You can allow customers to use Checkout with PayPal for one-time purchases without configuring anything in the Braintree (Credit Card) payment gateway, and can leave this disabled. This allows you to only configure the Braintree (PayPal) gateway with your Braintree credentials.
The only catch is that you cannot enable tokenization to use this setup. This means that customers cannot link PayPal accounts to WooCommerce for future purchase. If you want to allow tokenization to allow linked accounts, you must use the next method.
Using PayPal with Linked Accounts
If you want to use both Checkout with PayPal and the PayPal Vault workflows, your customers can use PayPal for both one-time purchases and linking PayPal accounts to your store for faster purchases in the future and for Subscriptions / Pre-Orders support.
To enable tokenization within the PayPal gateway requires a bit of extra setup since Braintree requires Advanced Fraud Tools to be used with PayPal Vault. Instead of just setting everything up in the Braintree (PayPal) settings, use these steps instead:
- Enter your Braintree credentials in the Braintree (Credit card) gateway settings. You can leave the gateway disabled, and it won’t be used at checkout, but this way its settings are available for PayPal to use.
- Under the Braintree (Credit Card) settings, ensure that you’ve enabled “Advanced” Fraud tools.
- Make sure Advanced Fraud tools are also enabled within your Braintree account as outlined below.
- Under the Braintree (PayPal) settings, (1) enable the gateway, (2) enable sharing credentials to use the Credit card gateway settings, and (3) enable tokenization here as well.
This ensures that advanced fraud tools are available, which are required for PayPal vault. We’d love to hear if you’re using this setup! If this is popular for WooCommerce Braintree, we’d like to make this setup easier. Contact us here.
Dynamic Descriptor Setup ↑ Back to top
Dynamic Descriptor Phone Numbers and URLs are optional, and have character limits. However, the Dynamic Descriptor Names must be in a very specific format (Braintree has details here). We recommend running a test transaction to confirm your format is valid.
There are three formats you may use, and letters must be separated by an asterisk:
-
- (3 letters)*(up to 18 letters) – 3 letters to represent company name, up to 18 letters to represent product name. Examples:
SKY*WOOCOMMERCEPLUGINSorWOO*PLUGINS
- (3 letters)*(up to 18 letters) – 3 letters to represent company name, up to 18 letters to represent product name. Examples:

-
- (7 letters)*(up to 14 letters) – 7 letters to represent company name, up to 14 letters to represent product name. Examples:
SKYVERG*WOOCOMMPLUGINSorSKYVERG*WCPLUGINS
- (7 letters)*(up to 14 letters) – 7 letters to represent company name, up to 14 letters to represent product name. Examples:

-
- (12 letters)*(up to 9 letters) – 12 letters to represent company name, up to 9 letters to represent product name. Examples:
SKYVERGECORP*WCPLUGINSorSKYVERGECORP*PLUGINS
- (12 letters)*(up to 9 letters) – 12 letters to represent company name, up to 9 letters to represent product name. Examples:

Fraud and Verification Tools ↑ Back to top
If you want to use Advanced or Kount fraud prevention tools, you must enable these for your Braintree account. We recommend every merchant use Advanced fraud tools, as this can be enabled easily. Braintree has an overview of available tools.
If you want to use tokenization (linked accounts) with PayPal, you must enable advanced fraud tools to do so.
- To enable Advanced Fraud Tools, go to Settings > Processing, and scroll down to Advanced Credit Card Fraud Tools. Click Enable, and also Show Risk Data.
- To enable Kount Direct Fraud Tools, contact your Braintree representative to enable. You can then enable Kount Direct and enter your Kount merchant ID. Note that you must manually enter API credentials to use Kount; it is not supported via Connect with Braintree.
If you’d like to use verification tools (3D Secure / Verified by Visa), contact your Braintree representative. Once enabled, use 3D Secure for Visa and / or Mastercard.
When enabled, Visa and Mastercard verification is presented to enrolled Visa and Mastercard users.
Non-enrolled users, or customers using other card types, are not presented with authentication.
If a customer uses a saved Visa or Mastercard for a transaction, they are also presented with the verification screen.
Merchant Usage ↑ Back to top
Capture Charges from WooCommerce Order Admin ↑ Back to top
It’s possible to use Braintree to capture charges from within the WooCommerce admin if they’ve been authorized during checkout. Captures can be performed for both credit card and PayPal payments.
You can do this via your Braintree control panel, or can easily do so from the WooCommerce Edit Order page. Not sure what this means? Check out this tutorial on Authorizing vs. Authorizing and Capturing.
When payment is authorized for an order, the order status is set to On Hold. Edit the order by going to WooCommerce > Orders, then clicking on the order number that needs to have the charge captured. Braintree adds the new Capture Charge action to the Order Actions menu:
Once you’ve selected Capture Charge and saved the order, payments are captured via Braintree, the order status is updated to Processing, and Order notes are updated to reflect these changes:
Bulk capturing charges is also possible. Select orders for which you want to capture charges on the Orders page, then use the bulk Capture Charge action to update all selected orders:

Automatic Refund Support ↑ Back to top
PayPal Powered by Braintree has automatic refund support. That means refunds can be processed directly in WooCommerce without the merchant logging into a Braintree account. Refunds are supported for both the credit card and PayPal gateways.
To process an automatic refund, the “Refund via Credit Card” or “Refund via PayPal” option must be used when creating the refund (if you have changed the name of the payment method, you’ll see whatever name you use instead of “Credit Card” or “PayPal”). This sends refund information to Braintree to process.
For a partial refund, selecting “Refund with Credit Card” will process the refund and create an order note to designate the amount that was refunded via Braintree.
For total refunds, the refund amount will be added to an order note, but the order status will also be updated. If the total amount is completely refunded via this gateway, the order status will be changed to “refunded”, and an additional order note is added for the status change.
This allows merchants to process refund transactions completely inside of WooCommerce, saving time on store management.
Void Transaction Support ↑ Back to top
Transactions can be voided by using the same workflow as refunds. A void will occur if the transaction has been authorized, but not captured. In the case of Braintree, voids will also occur for authorized & captured transactions that have not yet been settled. As funds haven’t been transferred, a refund can’t truly be processed.
Instead, this will void the authorized charge in Braintree and note that the charge is voided via Order Note. Note that WooCommerce will still show “Refund via Credit Card” as the text to void a transaction still — this is normal.
If an order is completely voided (the entire authorized order amount is marked for a refund), the order status will change to cancelled, not refunded. Braintree does not allow partial voids, so you must void an entire order, or capture it then refund part of it.
Saved Payment Tokens ↑ Back to top
There are occasions when saved payment method tokens on your site can get out-of-sync with tokens in your payment gateway account, or you’ll need to manually add tokens. The customer payment token editor allows you to do this for each payment method to save both live and sandbox tokens.
You can access the token editor from the “Edit User” page, right before customer billing details.

Customer Usage ↑ Back to top
Express Checkout ↑ Back to top
Customers can use PayPal’s in-context checkout from the cart page to expedite the checkout process. The “PayPal Checkout” option will be offered on the cart page.
This will allow the customer to log into his or her PayPal account to set up account details (including billing / shipping details), then the customer is forwarded to checkout with these details pre-filled, letting them just hit “Place order” to complete the purchase.
If the cart contains a subscription or pre-order item, the PayPal “vault” button will be shown instead:
This express option is not shown if the customer already has a saved payment method linked to his or her store account, as they’ll be able to select this saved account at checkout easily with checkout details pre-filled, letting them use already saved data rather than data from the PayPal account overriding their store account information.
Checkout Experience ↑ Back to top
PayPal Powered by Braintree improves the payment form to detect and display card type while also using Braintree’s hosted fields for security.
When using PayPal, WooCommerce Braintree intelligently determines whether to use the PayPal Checkout or PayPal Vault workflow.
- For one-time checkouts, the PayPal Checkout workflow is used. This provides a simple, “log in and pay” experience.
- If “save to account” is checked, or a Subscription / Pre-Order is purchased, the plugin switches to the PayPal Vault workflow. This authorizes the site to charge the customer in the future, and links the PayPal account to the WooCommerce account.
For either workflow, the customer is prompted to log into PayPal for the purchase.
If the “Vault” workflow is being used, then customer will also be prompted to authorize future charges since the account is being linked or used for a Subscription.
The customer (regardless of which workflow is used), will then be able to click “Place order” to complete the purchase with the selected PayPal account.
Note that, if the “PayPal Checkout” workflow is used, customers will not be able to check “Save to account”, as this does not have the step to authorize future transactions. The customer must cancel and use the “Vault” workflow to link the PayPal account to your store.
Saved Payment Methods ↑ Back to top
Customers can save payment methods during your checkout process or from the account section to use them in future checkouts, with Subscriptions, or for Pre-Orders. Note that customers cannot save payment methods if they check out as a guest since there’s no account to assign cards to.
Saved cards and linked PayPal accounts are available to logged-in customers at checkout:
Customers can manage their saved payment methods by going to their My Account page and scrolling to the “My Payment Methods” section. From here they can set any available saved payment method as active, or click the “Delete” action to delete the payment method.

Customers can also add cards or link PayPal accounts by clicking “Add Payment Method”. This will give them a form to securely save a payment method for future use without going through checkout.
Both credit cards and PayPal are supported.
Tokenized or saved payment methods could be used for a subscription as well. As a result, it could be problematic for a customer to delete this saved payment method, as the next renewal order will fail. You’ll have to ask the customer to add a new method and then manually update the token attached to the subscription.
To avoid this, when Subscriptions is active, the “My Payment Methods” table adapts to it and disables deletion of methods tied to subscriptions.

If a method is tied to more than one subscription, the “Subscription” column will show a comma-separated list of each subscription, and the “View Subscription” button is removed. No method tied to a subscription can be deleted until the subscription is switched to a new payment method.
Other Information ↑ Back to top
PCI Compliance ↑ Back to top
PayPal Powered by Braintree is PCI DSS v3.0 SAQ-A compliant and uses the Braintree’s “Hosted Fields” feature to process payments. Sensitive payment information is never passed through your server, as it’s tokenized client-side before being sent to Braintree.
The “Hosted fields” is not quite the same as the Braintree v.zero SDK, but works in a very similar way and is just as secure. We use this since it offers us better customization over the payment form, as the v.zero drop-in form is not very intuitive for customers to use.
You can read more about Braintree’s hosted fields here.
Credit card and PayPal information is not stored on your server either; rather it is tokenized and stored on Braintree’s secure servers. Learn more about Braintree tokenization.
Subscriptions / Pre Orders ↑ Back to top
Both the credit card and PayPal gateways included with Braintree fully support WooCommerce Subscriptions and WooCommerce Pre-Orders (v2.0+). Please note that in order to use Subscriptions or Pre-Orders, you must:
- Have the Braintree vault enabled in your Braintree account for credit cards, and / or have PayPal Vault enabled in your Braintree account for PayPal transactions.
- Enable the “Tokenization” setting for the credit card and / or PayPal gateways within the plugin settings.
- You must enable Advanced Fraud tools in the plugin and within Braintree to use PayPal’s Vault for Subscriptions / Pre-Orders.
Migrating or Upgrading to v2 ↑ Back to top
If you used either the retired WooCommerce Braintree plugin, or version 1.x of this plugin, you’ll notice that upgrading to version 2 of PayPal Powered by Braintree provides a different experience.
Version 1 → Version 2 upgrade
If your store used version 1 of PayPal Powered by Braintree, the v1 to v2 upgrade will add new features for you, so there are several new settings available, such as detailed decline messages, that you may want to enable in the plugin. We recommend having a look at the settings after upgrading to check out what’s available.
Version 1.x of the plugin had a bug in saving payment methods for subscription usage, which was most prominent if your site (a) offered free trials, and (b) customers saved and used multiple payment methods on different subscriptions. If customers had > 2 saved method with free trials, an existing method could be used instead of saving a new one. There are only a few instances that will fail renewals, each of which requires multiple saved methods with free trials.
Because of this, when version 2 is upgraded and separates the Credit Card vs PayPal gateways, if the wrong saved method was present (for example, if a saved PayPal account was used when it should have been a saved credit card), the renewal can fail since the saved token for the customer was never properly generated in version 1, and now it’s an invalid type.
If you see this occur, you may need to change the subscription to use a different gateway or whatever tokens exist for the customer instead, then re-run the failed payment with the updated payment information.
Retired Braintree → Version 2 upgrade
If you use the retired, premium Braintree extension, this is a drop-in replacement. When you upgrade to v2 of PayPal Powered by Braintree, your settings, and most importantly, your subscriptions, will all carry over seamlessly. Renewals will process as you expect.
In order to migrate, please be sure the retired Braintree plugin is active, then install + activate PayPal Powered by Braintree v2 or newer. This will automatically do a quick migration to carry your settings and subscription data over, then it will deactivate the retired Braintree plugin automatically.
Troubleshooting ↑ Back to top
Having trouble? Follow these steps to ensure everything is set up correctly before opening a support request:
- Check that your Merchant ID, Public Key, and Private Key are correct, or that you’re connected to the right Braintree environment.
- Double-check that your connection settings are correct 😉
- Check that you are not using production API credentials in the sandbox or vice versa.
- Ensure your shop currency matches the currency of your Braintree account.
- If the issue is with an enabled tool, such as Kount Direct or 3D Secure, confirm the tool is enabled in your Braintree account.
- To support Subscriptions and/or Pre-Orders, ensure your settings are correct.
- If you don’t see the express checkout option for PayPal, see our notes on express checkout with linked accounts.
- If you see renewals fail when upgrading from version 1 to version 2, see our migration notes for further details
- Enable debug mode to the checkout page and review the errors messages that Braintree is providing.
- Enable debug both to the logs, and submit a support ticket, with the log found under WooCommerce > System Status > Logs as an attachment.
Theme Issues ↑ Back to top
Braintree loads some important javascript on the checkout page. Some themes (particularly those based on the Starker base theme) cause conflicts with this javascript. There are two primary issues:
- The theme lacks the
do_action( 'get_header' );call when loading the checkout page — The Starker theme is an example of this issue (and any child themes of Starker). This action must be added into the theme, or we suggest using a WooCommerce-compatible theme like Storefront. - The theme has incorrectly modified the review-order.php template — The Braintree javascripts requires the order review div to have the
order_reviewclass. When a theme has modified the template and changed or removed that div, this trigger cannot be bound and you’ll encounter errors. To fix this, ensure that your review-order.php template is up-to-date and has not been incorrectly modified.
Frequently Asked Questions ↑ Back to top
Q: “Connect with Braintree” button not showing on settings page?
A: This can happen if your location is not set to the USA.
Check your County/State settings in WooCommerce > Settings > General to ensure that your location is set to somewhere in the United States.
Q: Why do Subscriptions not display inside the Braintree Control Panel?
A: Subscriptions do not display in Braintree because the gateway does not use Braintree’s subscription handling. It tokenizes the customer’s payment method and then the Subscriptions plugin handles charging the payment method. This is far more flexible than the subscriptions provided by Braintree and thus supports a lot of features that couldn’t be done without it (changing payment dates, amounts, etc).
Q: Why do I see a “customer with id xxxxxxxx not found” error on checkout?
A: If you’ve recently switched Braintree accounts (for example, from Sandbox to Production), you will need to clear the Braintree customer ID in the user’s profile (accessible from the “Users” menu):

Q: How do I use Braintree’s Address Verification System (AVS) with this extension?
A: The plugin fully supports AVS, but you will have to enable it in your Braintree account. Braintree has instructions here.
Q: What is my PCI compliance requirement when using this Braintree?
A: This extension was written from the ground-up to be as secure and reliable as possible with respect to PCI compliance. We have information above on PCI Compliance, and Braintree can provide further information.
Q: Braintree merchant accounts are available in my country – can I use this extension?
A: Yes! Our plugin is designed to work with any Braintree account. If Braintree is available in your country, you can use this integration.
Q: I have multiple Braintree merchant accounts, so I’ve entered IDs for each. Why aren’t these being used?
A: This plugin only handles processing payments via different accounts — it does not handle switching the currency to run the transaction in different accounts. If you want to use multiple currencies, we recommend the Aelia Currency Switcher (requires purchase), which is compatible with WooCommerce Braintree’s multi-currency.
Q: Does this Braintree integration support Venmo or Apple Pay?
A: Venmo is a mobile-only (iOS / Android app) payment methods, which means it’s not available for eCommerce (website) payment methods. They can only be used within an app or for in-person transactions, so we cannot support this.
Apple Pay is supported as of version 2.2.0.
Questions & Support ↑ Back to top
Need some assistance using this plugin? Get in touch with us via the Help Desk.




























