Skip to main content

Braintree Gateway


Braintree Gateway

Braintree provides merchant account, payment gateway, and credit card storage services for online merchants. 

You can use Braintree's Account Updater service to update the credit card information on the Braintree side. This service operates independently of the Zuora Billing system. Therefore, you must manually configure the Account Updater service in Braintree instead of in Zuora. 

Supported Payment Methods

Braintree supports the following payment methods:

  • Credit Cards (Visa, MasterCard, Discover, American Express, JCB, and Diners Club)

Stored Credential Transactions

Braintree gateway includes support for the Stored Credential Transactions framework. For details about the supported payment methods, see Support for stored credential transactions overview.

Support for 3D Secure 2.0 

Zuora's Braintree gateway integration provides support for 3DS2 through the embedded iFrame of Payment Pages 2.0. To enable 3DS2, see Enable 3DS2 for Braintree gateway integration and Zuora’s implementation of 3D Secure 2.0 for more information.

After 3DS2 is enabled in the Payment Pages settings, the following features are supported:

The "Best practices" section in Zuora’s implementation of 3D Secure 2.0 also provides best practices for reducing the possibility of failed transactions due to 3DS2 authentication errors.

Configure the Braintree Gateway

  1. Navigate to Settings > Payments > Setup Payment Gateway
  2. Select Braintree from the Gateway Type drop-down list.
  3. Click create gateway.

Configuration Fields

You must configure some common fields in the Basic Information area for every gateway configuration. See Setting Up Payment Gateways for information on these fields: 

  • Name
  • Use Gateway Test Environment
  • Cards Accepted
  • Default Authorization Amount: The default amount cannot be overridden. The validation amount is determined by Braintree.
  • Verify new payment method (optional)
  • Verify updated payment method (optional)

In addition to the common fields, you should specify the following fields:

  • Merchant Id: A unique identifier for your gateway account
  • Merchant Account Id: You can have multiple merchant accounts to process transactions for different businesses or currencies within your Braintree gateway. Each merchant account will be associated with a unique merchant account ID.
  • Public Key: User-specific public identifier
  • Private Key: User-specific secure identifier that should not be shared
  • Soft Descriptor (Optional): The specified value for this field will be presented on customers’ credit card statements. It corresponds to the descriptor field on the Braintree side. See Braintree's documentation for more information. 
  • 3DS2 Challenge Requested (Optional): By selecting this setting, if 3DS2 is enabled in the Payment Pages settings, the challengeRequested: true indicator will be passed to the Braintree gateway to request the cardholder challenge. The 3DS2 authentication challenge will be enforced if possible. Ultimately, it is the issuing bank that determines whether a card needs to be authenticated through a challenge.

After you have entered the necessary information, click save gateway information.

Testing Your Configuration 

We recommend that you test your payment gateway by using both your payment gateway's test and production (live) environments.  Once you have completed testing in the gateway's test environment, it is recommended that you perform a test in your live production environment with a real credit card. If there are any differences in the configuration of your testing and production accounts, testing in production ensures your production merchant account is set up properly and can successfully connect to the production environment.

You can use the test card information and testing scenarios provided by the gateway vendor to test your integration. See Testing and Go Live in Braintree Developer Docs for details.

Braintree Version

The Braintree payment gateway uses version 2.81.0 of the Braintree Java JAR.