WooCommerce extension updates & releases

WooCommerce Braintree version 3.0 was released on Monday of this week! This is a completely rewrite of the plugin to take advantage of tons of new Braintree features, plus add support for some WooCommerce features that have been added since Braintree was originally written.

Fixing A Lingering Issue

When Braintree was first written, we made some decisions about how we treated tokenization. We made the assumption that if a customer already had an account with your site, they’d want to save payment details for future use. As as a result, the “Securely Save to Account” option at checkout wasn’t presented, and this upset some merchants.

Since we completely redid the integration with Braintree in this version, this issue is now fixed and customers are presented with the choice to save a card for future use (unless they purchase a subscription, which saves the card automatically).

With that said, we can move on to the fun stuff: new features.

PayPal via Braintree Support

It seems that supporting PayPal is in fashion for a lot of payment processors, but most 3rd-party PayPal integrations are poor user experiences for both merchants and customers, and they tend to resemble Frankensteins between PayPal Standard and Express, but without the great stuff from either.

Not the case with Braintree. Checkout with PayPal and PayPal Vault are excellent experiences for merchants and customers, and provide tons of value to Braintree merchants. If you enable PayPal in your Braintree account, you can use both the Braintree credit card and PayPal gateways.

WooCommerce Braintree PayPal settings

This will let you use PayPal for one-time purchases, or allow customers to link a PayPal account to their account with your store (via PayPal Vault). WooCommerce Braintree will intelligently determine when to use Checkout with PayPal and PayPal vault based on if the “Save card to account” option is enabled or not.

WooCommerce Braintree checkout with PayPal

Checkout with PayPal (one time purchase)

WooCommerce Braintree PayPal Vault

PayPal Vault (linked account)

If customers link a PayPal account, they can use this PayPal account with one click for future purchases.

The ability to link / save a PayPal account with WooCommerce brings what I see as the best addition to WooCommerce Braintree: PayPal support for WooCommerce Subscriptions and Pre-Orders, making this an excellent alternative to the PayPal standard gateway.

Any purchase that includes a subscription can be purchased with the Braintree credit card gateway, or via PayPal — the PayPal vault is automatically triggered when a subscription is purchased.

Refund / Void Support

WooCommerce Braintree now supports refunding captured orders from directly within the WooCommerce admin. You can now click “Refund via Braintree” (or whatever you call the gateway) to process a refund without ever needing to log into your Braintree account.

The PayPal payment method also supports refunding orders from within WooCommerce.

WooCommerce Braintree credit card refund

Refund Credit Card Transactions

WooCommerce Braintree PayPal refunds

Refund PayPal Transactions

If you’ve not yet captured the charge for the order, then Braintree will void authorized transactions instead of refunding them, as the funds are not available to be refunded yet. If the entire order is “refunded” (really, voided), the order will intelligently be marked as “cancelled” instead of refunded.

Capturing Charges

WooCommerce Braintree has always let you capture charges immediately, or authorize charges to capture them later. However, you needed to log into your Braintree account to capture a charge that was previously authorized.

No more! You can now capture a charge directly within WooCommerce by viewing the order. An authorized charge will be set as “on hold”, and once it’s captured, it will move to “processing”.

WooCommerce PayPal Express Capture Charges

Capture Charges

You can even capture charges in bulk for several orders at once from the “Orders” list.

Multicurrency Support

Thanks to coordination with our friend Diego at Aelia, we’ve integrated the Braintree Extended capabilities right into WooCommerce Braintree. This means that multicurrency and multiple merchant accounts are now supported!

What does this mean for you? If you have multiple merchant accounts (for different currencies), you can add them to WooCommerce Braintree.

WooCommerce Braintree multicurrency support

You’ll then be able to use a currency switcher — we recommend using Aelia’s Currency Switcher for WooCommerce since it’s already integrated with WooCommerce Braintree — to process payments in different currencies.

Thanks so much to Diego at Aelia for the work he’s done with us on bringing multicurrency support to Braintree.

Improved and PCI-Compliant Payment Form

As part of the payment form improvements, we’ve updated the credit card icons and improved the credit card input form. Payment forms now show the customer which card type is being used after the card is entered, and provide the option to save the card to the account rather than doing so automatically.

WooCommerce Braintree payment form

We’ve also updated the integration to use Braintree’s Hosted Fields feature for completely secure checkout experience. As a result, the WooCommerce Braintree plugin is PCI DSS v3.0 SAQ-A compliant.

This means that the payment methods fields are posted directly to Braintree themselves, completely bypassing your site’s servers. This is a huge win for sites that need PCI compliance but do not want to go through expensive set up and audits of the entire site and server environment.

Better Saved Payment Methods

We’ve made a lot of improvements around saved payment methods to make them easier for customers to manage from the “My Account” area. Saved credit cards and linked PayPal accounts are displayed separately in a responsive “My Payment Methods” table. Each type of payment can have a default method selected.

WooCommerce Braintree saved payment methods

We’ve added support for the “Add New Payment Method” workflow to Braintree as well so it’s simple for customers to add a payment without going through the checkout process. When clicking “Add New Payment Method”, customers will be guided through the add payment method form.

WooCommerce Braintree add card

This lets them add new saved credit cards or linked PayPal accounts without the need to complete a purchase.

Other New Tools

WooCommerce Braintree now supports several other merchant tools offered by Braintree: Dynamic Descriptors, Fraud Tools, and 3D Secure.

WooCommerce Braintree Settings

Dynamic Descriptors can be used to give customers information about your company to remind them who they’ve purchased from (helpful if you’re incorporated under a name different than your brand name). Braintree has more details here.

Fraud Tools include support for Basic, Advanced, and Kount Direct fraud tools, which can be enabled in your Braintree account.

Finally, 3D Secure allows merchants to use card verification services for liability shift, such as Verified by Visa.

WooCommerce Braintree 3DS Visa
WooCommerce Braintree 3DS mastercard

Over 100 hours of development time later, the shiny new Braintree for WooCommerce is ready 🙂

Ready to go? Check out the updated documentation so that you’ve got your settings configured correctly, don’t forget to test on a staging site, then upgrade away!

Published by Max Rice

Max is one of our co-founders, CEO, resident webhook expert, and coffeescript lover. He's a top WooCommerce contributor, unit test aficionado, survivor of coding with timezones, and spends much of his time being the chief bottleneck at SkyVerge.


  1. Avatar

    Does Braintree work for US merchants that wish to accept credit cards from overseas customers? i.e. I have a lot of customers from Argentina, Chile, Brazil, Colombia and even Europe. Their credit cards are constantly failing (mostly due to the Billing/Shipping Address mismatch within Authorize.net).

    Can you please provide some info on whether it supports overseas credit cards?

    • Avatar

      Hey Amit, sure thing! You can accept international payments, they’ll just all process in USD unless you’re taking advantage of a currency switcher and multicurrency support.

      I know that Braintree lets you configure some of the AVS check rules, so I’d recommend getting in touch with them to confirm you could adjust these rules to help with these transactions (their team is usually very helpful). I think maybe you could disable some of the AVS checks and instead use the advanced fraud tools to make up for it.

  2. Avatar

    Would it be benificial to use this for only Paypal payments? I already use Stripe. But if Braintree can give me a better experience and support for paypal then I am interested.

    Thank you 🙂

    • Avatar

      Hey Deyson, you could definitely use it for only PayPal payments! The only thing to note is that you’d still have to enable the advanced fraud tools under the credit card gateway if you wanted to use PayPal tokenization to link accounts to your store (subscriptions / pre-orders support). You can leave the credit card gateway disabled though so it’s not shown at checkout.

      This a great question, so I’m going to add a section to the docs today on how you’d set it up to use PayPal alone 🙂

  3. Avatar

    Hi guys thanks for this fantastic update. I have a couple of questions that I’m sure other customers would like to know too..

    I’m in a country that only supports the “old vault flow” (https://articles.braintreepayments.com/guides/paypal/overview). Will it still work?
    I currently offer PayPal (via the standard WC PayPal gateway) and credit cards payment methods via your extension. I would like to consolidate both PayPal and credit cards to the new extension, and I expect that would involve disabling WC’s standard PayPal gateway. If I do that will my existing PayPal subscriptions continue to work?

    Thanks in advance for the answer and for all the work you do on the plugin 🙂

    • Avatar

      Hey David, great question. Based on our understanding of the Braintree docs, the implementation we have should work with both vault workflows (in your case, the old vault workflow will be initiated by the same button), but I’m afraid there’s no way for us to test this with a sandbox account to 100% confirm. If you have a staging site you can give it a go with, I’d love to hear back whether Braintree’s docs are correct on this.

      As for PayPal Standard, you can disable it and subscriptions currently with PayPal will still process 🙂 For any gateway with subscriptions, the gateway can be disabled at checkout, but so long as the plugin is active — not really a choice with PayPal Standard since it runs within WooCommerce core 😉 — subscriptions will renew properly.

      • Avatar

        Hi Beka, just wanted to let everyone know that Braintree told me that they will decide on the back end which new or old vault flow to use when a customer purchases, so there’s nothing for users of your extension to worry about.

        Great to know that I can just disable the included PayPal and everything will still work. Thanks!

  4. Avatar

    Hi Beka and the gang. Major user of the new plugin as you know and have been having fun.

    One small question, when using subscriptions, if you tick the paypal box but dont hit the paypal button (you just hit place order) it may cause purchase to hang.

    It’s a little confusing to have the “pay with paypal button”, then need to login to paypal, the when you come back out you have to press the “place order” button. People often (we tested) just hit the place order button and hang . . or they get confused why they put in all those paypal details then had to hit place order.

    Is there a code cut that will grey out the place order button if paypal is selected, forcing them to press the paypal button then the login is complete, it completes the purchase and doesnt require a “place an order” step?

    Ta muchly, trying to minimise as many cart steps as possible

    • Avatar

      Hey Derek, thanks for the feedback! We have had a couple people submit feedback about the PayPal workflow, so we’re looking into some options for an update. Unfortunately some of this part of the way the PayPal integration works, as the PayPal buttons also make it possible to see the PayPal account selected / cancel and use a different PayPal account (removing the PayPal buttons would remove this as well).

      Disabling the “Place Order” button is something we’re looking into, then re-enabling it once the customer logs into PayPal (along with a few other ideas) 🙂 I don’t think we can automatically then place the order, but I’ve added this to our issue to see if it’s technically feasible.

  5. Avatar


    Is it possible to have the Tokenization “Allow customers to securely save payment method” feature ticked (activated) by default?

    Or Save All and not offer the option as it worked before the update?

    Thanks. Greg

  6. Avatar

    Hi Beka,

    Is it possible to automatically make the saved tokenized card marked as the “Default” card for the user/customer? Maybe with a small snippet?

    Currently it seems unless the customer manually selects “Make Default” the checkout screen will default to Use New Card, which is confusing some shoppers.

    Hope the question is clear!

    Thanks. Greg

    • Avatar

      Hey Greg,

      It should be possible to do this with a bit of custom code that selects an existing saved card when the checkout page loads so the “Use a new card” payment box is hidden.


      • Avatar

        Hi Max,

        Thanks for the reply. I guess another way to put it in the form of a question, why is the saved card not automatically the default card on checkout?

        I like the option available to allow the customer to enter a new card on checkout. But it seems counter intuitive to have Use New Card automatically selected as the default. Seems it should be the other way?

        Is there a reason for coding it this way?

        Again, hope I am making myself clear and not missing something simple in the configuration like “use saved card as default on checkout” or something.

        Cheers. Greg

        • Avatar

          Hey Greg,

          Braintree is a little unique in that their vault feature allows you to indicate whether a saved payment method should be the default one or not. However, a payment method that’s added to the vault during a transaction (such as during the checkout process) can’t be set as the default (unsure of their reasoning). If you set a card as the default either within the Braintree Vault control panel, or on your site under My Account > My Saved Payment Methods, it will be automatically selected during checkout. I know it’s not ideal, but we’re more or less limited by what Braintree offers here.

  7. Avatar

    Been using braintree for over 3 years now and love the service and technology. We just installed the braintree paypal gateway yesterday and it’s working flawlessly.

  8. Avatar


    I am confused by the documentation. Hope you can clarify it. In the FAQ section in
    it says

    “Does this plugin work worldwide?
    PayPal Powered by Braintree for WooCommerce is available in the U.S.”

    My question, if I have a UK merchant account and I want to accept cards from UK and US, will this plugin work for me?


    • Avatar

      Hey Sean, our Braintree plugin worked with global merchant accounts / currencies, but has been retired by Woo / PayPal in favor of offering a free plugin (the one you’re referencing here), so you’d have to reach out to the Woo crew to check on this.

Hmm, looks like this article is quite old! Its content may be outdated, so comments are now closed.