Braintree For WooCommerce


Accept Credit Cards, PayPal, PayPal Credit, Google Pay, ApplePay, & Venmo all in one plugin for free!

Official Partner Of Braintree

Payment Plugins is an official partner of Braintree & PayPal and has worked closely with them to develop this solution.


  • Google Pay
  • Apple Pay
  • PayPal & PayPal Credit
  • Credit Cards
  • 3D-Secure
  • Advanced Fraud Tools
  • Add Custom fees
  • SAQ A PCI Compliant
  • Beautifully designed forms
  • Create your own custom form
  • Integrates with Woocommerce
  • Integrates with Woocommerce Subscriptions 2.0.0+
  • Offer subscriptions without the WooCommerce Subscription plugin
  • Integrations with WooCommerce currency switchers
  • Void transactions
  • Automatic settlement or authorize transactions
  • Issue refunds
  • Dynamic descriptors

Custom Form Demos

Click HERE to see live demos of the custom payment forms.


For more information or questions, please email or read through our detailed documentation.


  • Google material form
  • Simple card form
  • API settings for communicating with Braintree.
  • WooCommerce Settings
  • Additional WooCommerce Settings.
  • Donation Settings
  • Debug Log
  • Customize messages
  • Select a custom form design
  • Manage donations
  • Build in subscription functionality


How can I found out more?

Please read our documentation which covers all the plugin functionality.

Where can I access my public and private keys?

Login to your Braintree account and select Account->My User->View Authorizations

What is a Merchant Account ID?

The Merchant Account ID determines the currecency that your transactions are settled in. You can have multiple Merchant Account ID’s if your Braintree account has been
configured for multiple currencies.

How do I test this plugin?

All of the plugin functionality can be tested in sandbox mode. If you haven’t already, sign up for a Braintree Sandbox Account
and download this plugin. Set the mode to Sandbox and configure your API keys by following the tutorial located within the plugin. You can use Test Cards for all of your sandbox transcations.

Can I customize the look of the plugin?

Yes, you can select between several options when customizing the look and feel. In addition, you can create your own custom payment forms.

Who can I contact for information on this plugin?

Please email

Do I have to have the WooCommerce Subscriptions Plugin?

No, this plugin allows you to convert a regular WooCommerce product into a subscription.

I don’t know where to start, what should I do?

Once you install and activate the plugin, there are detailed instructions contianed within the plugin to help guide you.



Have noting bad things to say about this plugin. It works perfectly. The customer support is fast and they go far to help you with the smallest details. -The documentation is solid -They accept credit cards, PayPal, Apple Pay, Google Pay and more.

What a great plugin!

This plugin has been great and has all the features I've been looking for to add multiple pay options to my woo commerce site. Google Pay, Apple Pay, PayPal and Venmo options are a really big deal to customers and I'm glad you've helped me bring them to my store. The customer support for this app has gone above and beyond to help me get the integration working to the approval standards of these pay gateways. I couldn't be happier and I don't know of another customer experience as great! Thank you guys and come visit Quit Rich to see the plugin in action!


We have been using the other main Braintree plugin successfully for a couple of years. However, we just switched to Braintree for Woocommerce. It's excellent. It supports Advanced Fraud Tools, which we had always wanted and were told wasn't an option. Their support was also extremely responsive and helpful. Well done!

Good Plugin, Great Support

This is a great plugin and seems to have all the features we wanted and needed. We haven't encountered any problems that the author didn't address the very same day. The only downside that I've encountered is a lack of good documentation. I've been developing a few sites and need to integrate some plugins with this one and have had some significant issues finding the right hooks and how those hooks are used. If you need something that just works to process payments and don't plan to do a lot of work in the back end, then this plugin is perfect for you. If you plan to do more detailed development, then I suggest waiting for the next major release (3.0.0), as the author plans to improve the documentation as part of that release.
Read all 77 reviews

Contributors & Developers

“Braintree For WooCommerce” is open source software. The following people have contributed to this plugin.



  • Fixed – Apple pay cart: shipping methods not showing in wallet if address element not displayed.
  • Updated – WC 3.6.2


  • Fixed – Shipping fields not populated on product page when using Apple Pay
  • Fixed – Breaking change introduced by WC 3.6 for product & cart page checkout API.


  • Added – Apple Pay currency display in wallet.
  • Fixed – Google Pay default icon
  • Fixed – WC removed support for html in select2 fields.
  • Updated – Credit card SVG’s now have transparent background
  • Updated – Updated Material design form


  • Added – Venmo integration with WooCommerce Subscriptions
  • Added – Explanation for obtaining Google Pay merchant ID.
  • Added – Venmo submit form option


  • Added – Venmo integration added.


  • Upated – WC 3.5.7
  • Fixed – Error creating subscription with no trial period on Admin Subscription page.
  • Fixed – Billing address not overridden during PayPal Checkout under certain conditions.
  • Fixed – Deprecated property in Google Pay V2 removed
  • Added – Container class added to Google Pay button


  • Updated – Google Pay API V2
  • Updates – JS V3 version to 3.43 for Hosted Fields and 3.42 for Dropin


  • Updated – WC Tested to 3.5.6
  • Updated – WordPress 5.1
  • Fixed – Subscriptions plans not fetched on Product page without removing option table entry.
  • Fixed – PHP 7.3 regular expression escaping


  • Added – Apple Pay on product pages
  • Added – WC 3.5.4
  • Added – WP 5.0.3


  • Fixed – Terms and conditions on cart page if Apple Pay enabled but not supported.
  • Fixed – Apple Pay banner issue resolved when Apple Pay gateway not selected
  • Added – Float clear to gateway icons


  • Fixed – Apple Pay JS loading on cart page if Apple Pay not enabled.
  • Fixed – PayPal Kount not enabled message


  • Added – Apple Pay on the cart page for one click checkout
  • Added – Auto-fill of checkout fields when using Apple Pay or PayPal
  • Updated – All icons now SVG
  • Updated – Credit card icon order customizable


  • Added – PayPal on the cart page for convenient checkout.
  • Updated – Apple Pay checkout button.
  • Updated – PayPal gateway icon
  • Updated – gateway get_title function no longer returns html due to some themes escaping html.


  • Updated – Out of the box subscription functionality. Subscription price is now reflected in order total if subscription does not have a trial.
  • Updated – CSS for Google payment form
  • Added – WC 3.5.0


  • Fixed – Place Order button not showing after selecting PayPal or GooglePay then another gateway not provided by plugin.


  • Updated – PayPal Smartbutton flow. PayPal Smart button now replaced Place Order button when gateway is selected.
  • Updated – Google Pay flow. Google Pay button replaces Place Order buton when gateway is selected.


  • Updated – WC version 3.4.5
  • Added – Mailing list signup


  • Updated – WC version 3.4.4
  • Updated – All features included in free version now.
  • Added – PayPal Smart Button integration
  • Added – PayPal credit support for subscriptions
  • Added – PayPal Insights and Promotions integration


  • Updated – WC version 3.3.3
  • Added – Google Pay
  • Fixed – PayPal address ID error


  • Updated – JS V3 version update
  • Added – Option to control order processing email when Kount Review status assigned
  • Added – Billing phone donation field


  • Fixed – 3DS integration with currency switcher ajax requests
  • Added – Change default payment method on Payment Methods page


  • Fixed – WCS change to admin edit subscription payment_method meta names
  • Added – WC tested up to 3.2.5


  • Added – Kount API authorization
  • Added – Kount decline actions.
  • Added – Hosted fields streetAddress when 3DS enabled.
  • Added – Bulk capture and void actions.


  • Fixed – payment method not showing in order complete email for WC 3.0+
  • Added – tested to WC 3.2.3
  • Removed – Retry option for WCS. WCS 2.1+ has a retry system so no other functionality is needed


  • Added – Terms and conditions check added client side for user experience
  • Added – Integration with Kount Event Notification System (ENS)
  • Added – WC 3.2.1 compatibility check added
  • Updated – Javascript V3 version changed to 3.24.1


  • Added – Filter for script enqueuement.
  • Added – Filter after donation success.
  • Fixed – Custom fields on donation page.


  • Added – Card type display
  • Added – Access to hosted fields instance
  • Cardholder name added to guest checkout.
  • Fixed – Incorrect coupon application of Braintree Subscription
  • Fixed – Recurring payment error fixed.


  • Skipped


  • Fixed – JS error on admin settings page if merchant accounts not configured.


  • Added – Place order button now initializes PayPal and PayPal Credit in addition to the PayPal buttons.


  • Fixed – Safari js error when sending shipping address.
  • Added – Catch malforned database entries for customer ID.


  • Fixed – custom form donation page.


  • Added – Fees can be taxed.
  • Updated – Merchant account settings UX.
  • Fixed – PayPal buttons can be customized.
  • Fixed – 3DS cart total if shipping updates change total.


  • Updated – Update of vaulted customer now hooked into standard WordPress actions instead of WooCommerce.
  • Updated – Update to user profile within admin updates vaulted customer.
  • Updated – Save payment method requests on checkout page incorporated into transaction object for improved performance.
  • Updated – Dropin V3 supports locale option now for displaying translated text.
  • Added – Billing agreement description for PayPal.
  • Added – Dynamic text translation for WooCommerce WPML.
  • Added – Card image on payment methods list.
  • Added – Payment method icon select.
  • Added – Payment method icons on payment methods page.
  • Added – Customer update during checkout if customer attributes have changed.
  • Added – 3D Secure actions based on verification response.
  • Added – User payment method management from Admin Panel in WordPress.
  • Added – Ability to add a fee to the checkout.


  • Fixed – (WC 3.0.0+) Braintree Variable Subscription displaying length on product page.
  • Fixed – (WC 3.0.0+) One time shipping for Braintree subscriptions.


  • Fixed – Tax rounding on WC Subscription recurring payment added for WooCommerce 3.0.0 or greater
  • Added – Ability for admin’s to change the WC Subscription payment method.
  • Added – WC 3.0.0 compatibility for WC_Product dynamic variable calls.


  • Fixed – WC subscription defaulting to month.
  • Added – Option to enable My Account Subscriptions link.


  • Added – Force account creation for subscriptions in WC 3.0.0+
  • Fixed – Device data when saving a payment method.


  • Added – Compatability with WC 3.0.0


  • Added – Recurring donation start date option
  • Added – PayPal shipping address during checkout.
  • Fixed – compatability for WC version 2.6.0 and lower for Gateways.


  • Fixed – subscription fields not present on variable product.
  • Added – PayPal Credit as separate gateway.
  • Added – Donation gateways.
  • Added – checkout page refresh option.
  • Added – WPML integration
  • Changed – subscription text from every 2nd month to every 2 months etc.
  • Improved – device data
  • Improved – WCS wehooks send message if subscription not found.


  • Fixed – determination of subscription end date for last day of month.
  • Added – PayPal credit
  • Added – conditional statements
  • Fixed – donation modal and inline rendering at beggining of page.


  • Added – Improved admin subscription creation.
  • Fixed – Currency display for subscription.


  • Fixed – donation payment method not recognized.
  • Fixed – Status correctly set for subscription cancelled webhook.


  • Fixed – payment fields display on checkout page for subscriptons with free trial (plugin subscriptions only).
  • Added – Check to see if checkout is processing when webhook is called for subscription charged successfully hook.


  • WordPress 4.7.2


  • 2.5.3 considered beta. All changes covered in 2.5.3


  • Added – Apple Pay
  • Added – Improved functionality for plugin subscriptions.
  • Added – Admin’s can configure how payment methods are displayed.
  • Added – Payment methods with active subscriptions cannot be deleted.


  • Fixed – When a subscription is cancelled, a pending-cancellation status is given.
  • Added – TLS 1.2 connection test for admin.


  • Fixed – Checkout page scrolling issue when free product was in cart or subscriptions were being upgraded resolved.
  • Added – Tokenzation errors displayed on checkout page now.


  • Added – Improvements to the WooCommerce Subscription recurring payment functionality. Any order that fails payment goes to a ‘failed’ status.
  • Added – Class loader prevents null values now.


  • Added – Additional checks to ensure that the custom form fields load.
  • Added – Payment icons can now be displayed on the outside of the payment form.
  • Added – Donations can now be set as tax exempt.


  • Fixed – iFrame already exists resolved. Occured with some themes that have heavy ajax use.
  • Added – Recurring donations available now.
  • Removed – Order status settings. WooCommerce determines order status.
  • Added – filters for process_payment call on Gateway.


  • Fixed – PayPal using dropin form and 3DS.
  • Added – Custom form loader for checkout.


  • Fixed – Non braintree related orders were not rendering in admin panel.


  • Added – Merchants can now select between PayPal checkout or vault flow.
  • Added – Transactions can be authorized or settled automatically.
  • Added – Transactions can now be voided.


  • Added – Simple form added.
  • Improved – Theme support for custom forms.
  • Improved – PayPal gateway user experience.


  • Added – Support for hosted forms now available. Merchants can create their own custom forms or customize the provided form designs.
  • Added – PayPal can now be setup as a separate gateway.


  • Added – Call to payment_complete() of WC_Order after transaction success in order for stock to be reduced.


  • Added – Customer’s can add and delete payment methods from the my acount page.


  • Added – Tax amount now reported on transactions.
  • Fixed – Merchant account associated with Braintree Subscription.
  • Added – $0 amount transactions for synchronized subscriptions.


  • Added – Improved subscription logic for WooCommerce Subscriptions. A new order is created now when a subscription payment is processed.


  • Changed – font size for admin notices so they are more visible.
  • Changed – API keys now save during connection test to prevent confusion.
  • Fixed – Some themes caused multiple dropin forms to show on checkout page.
  • Added – Default method selected on checkout page for users with saved payment methods.


  • Fixed – Webhooks now send response code 200 to Braintree.
  • Added – Improved admin notifications.
  • Added – Pretty url for webhook service added. Old url is still accepted.


  • Added – Improvements made to payment method save functionality.


  • Added – Shipping address has been added to sale transactions.
  • Added – Dynamic descriptors
  • Added – Merchant account validations


  • Fixed – Order prefix was showing up as suffix in versions after 2.3.0.
  • Added – Validation to compare merchant account Id with merchant Id. This prevents customer’s from confusing the two values.
  • Added – Connection test for API keys.


  • Added – Transactions now capture the billing state for tax purposes. Donation form can now be used to sell products.
  • Fixed – Data update for recurring payments using Paypal.


  • Fixed – Refunds were displaying unsuccessful message when refunds were processing correctly.


  • Added – Fail on duplicate payment method option.
  • Fixed – Pay for order screen.
  • Fixed – JQuery issue with certain themes and plugins.


  • Fixed – Issues with standard PayPal plugin.
  • Added – Webhooks for Subscriptions.
  • Added – New admin ui for configurations.


  • Added


  • Fixed – Dropin UI showed error message cannot use paymentmethodnonce more than once when incorrect card data was entered.


  • Change – License activation url updated.


  • Fixed – Donations error.


  • Fixed – Dependency on WooCommerce within Donation page.


  • Fized – During checkout, if country was changed, states were not updating properly. Resolved.


  • Added – Support added for custom orders.


  • Added – Support for Woocommerce Currency Switcher. Merchants can now configure as many Merchant Account Id’s as they want.


  • Fixed – Warning messages on the donation page when WP_DEBUG set to true.


  • Fixed – When deleting multiple subscriptions, exception was thrown due to a null object. Deprecated methods replaced for Woocommerce Subscriptions.


  • Resolved – PHP version 5.5 and lower displayed warning messages in teh admin panel when WP_DEBUG set to true. Issue has been resolved now.


  • Deprecated – Form 2 has been deprecated in favor of form 0 and 1.
  • Changed – Paypal only checkout no longer auto submits after Paypal login. For user experience improvement, customer must
    click “Place Order” to process the payment.


  • Added – site url and admin email sent to during plugin activation in order to help with technical issues and trouble shooting questions.


  • Fixed – Deprecated calls to checkout.js file updated.


  • Fixed – Duplicate dropin forms resolved when ajax refresh triggerd by Woocommerce.


  • Fixed – Token for subscription payment method added to subscription meta.


  • Added – The donation form can now be configured to be inline or modal and the donatin button text can be customized.
  • Added – Improved log messages for failed payments.


  • Update – Website changed from to for trademark reasons.


  • Fixed – Transaction log was overwritten during upgrades. Transaction log is now saved in a new folder located in wp-content to avoid this issue.


  • Fixed – Fatal Error resolved for class Braintree_For_Woocommerce


  • Fixed – If Woocommerce was not enabled, the plugin would error out. Now, Woocommerec is not necessary to run the plugin for donation payments.


  • Added – Admins now have the ability to select payment method images to display on the checkout page.
  • Fixed – Potential error if exception thrown during subscription creation.
  • Added – Additional transaction log message for enhanced tracking implemented.


  • Added – Transaction log that records all transactions related to orders, subscriptions, and donations. The transaction log can be used to trouble shoot payment errors or verify processed payments.
  • Added – Support for Woocommerce Subscriptions Version 2.0.0+. Integration with Braintree monthly subscriptions or Woocommerce Subscription’s automatic billing.
  • Added – Support for multiple subscriptions in shopping cart.
  • Added – Support for mixed shopping cart.
  • Added – Customer can now change payment method on subscriptions.
  • Added – Admins can change the recurring payment method on a subscription.
  • Added – Ability to validation of postal code and billing address for orders and subscriptions.
  • Added – Ability to validation of postal code and billing address for donations.
  • Fixed – Transactions now pass the countryCode for validation within Braintree.
  • Fixed – Ajax integration with checkout page to ensure nonce is not replaced during Woocommerce ajax calls on checkout page.


  • Fixed – Use of saved payment methods was failing due to false positive check on credit card token.


  • Fixed – Fixed issue Cannot use object of type WP_Error as array.
  • Fixed – Correct payment type used now displayed on order review page and in Admin order page.


  • Added – Enhanced Paypal checkout. Admins can now select if they want to only display Paypal as a checkout payment option.


  • Added – Admins can now see when their license will expire by navigating to the “Activate License” page.
  • Added – Improved UX and UI for donation screen.
  • Added – Custom forms can now be used to validate AVS settings for woocommerce checkout and donations.


  • Added – Non logged in users can now make donations.


  • Fixed – Error message added on donations form indicating failed transaction.


  • Changed – On the Woocommerce Order Admin page, Admins can now see the Payment type and Masked credit card number that was used for the order. Example. Visa – 401288******1881; Paypal –
    This is compliant with PCI standards.


  • Fixed – Woocommerce was not detected if plugin loaded before Braintree for Woocommerce. Plugin is now detected regardless of plugin loading order.


  • Fixed – Updated the payment method title to show “Credit Card” instead of Braintree For Woocommerce. Included check for Woocommerce_Subscriptions activation to prevent any conflicts.


  • Fixed – Conflict with folder capitilaization. WordPress issues fatal error during plugin activation when folders from previous version are lowercase. If you
    receive an error message that Currencies.php and Braintree_Donations.php cannot be found, simply delete the plugin folder and files and reinstall version 2.0.7.


  • Fixed – Possible issues with checkout if Woocommerce Subscriptions was not activated fixed.


  • Added – Integration with Woocommerce Subscriptions. Merchants can now charge for subscription products and services using their Braintree and Woocommerce Subscriptions install.


  • Added – Additional security checks added for transactions when customers using payment method tokens.


  • Fix – Bug found in checkout.js. There is the possibility that the response object from braintree does not indicate the payment type. Because of this, additional checks have to be
    made to determine of the payment type is CreditCard or Paypal.


  • Some themes might of had a conflict with the function “load_admin_scripts” so it was renamed to prevent any future clashes.


  • Additional setting made in the Woocommerce Payments settings page. Merchants can now control the status that is assigned to orders
    when a payment is succesfully processed.


  • Major update.
  • This plugin is now a paid plugin. For those that have already downloaded the plugin, please email
    to receive a free 20 activation license in order to keep processing payments. The 20 day license should provide merchants with enought time
    to evaluate the new functionality and either pay for a full year, or find a suitable replacement. Please email the developer if you need more than 20 days to either
    find a replacement plugin or evaluate this plugin.
  • Fix – when customers opt to save payment data, a random id is generated in the Braintree vault
    and saved in the merchants wordpress database as user meta. This ensures that no two customers can ever have
    the same id, even across different domains that share a Braintree gateway.
  • Fix – woocommerce status is changed to complete upon succesful payment transaction.
  • Added – Seperate config screen where merchants can maintain all of their API keys & UX settings.
  • Added – Donations functionality.


  • Updated PHP Braintree library to version 3.5.


  • Update to method that sends the client token to the browser.


  • Removed add_action call in braintree-payment-gateeway.php file as it was a placeholder for later releases.


  • List versions from most recent at top to oldest at bottom.


This version fixes a security related bug. Upgrade immediately.