Server SDK Migration Guide

Availability
This page is only relevant for:
  • PHP migrating from version 5.5.0 and below,
  • Python migrating from version 3.59.0 and below,
  • Java migrating from version 2.109.0 and below,
  • .NET migrating from version 4.18.0 and below,
  • Node migrating from version 2.24.0 and below,
  • Ruby migrating from version 3.4.0 and below.
You can skip this guide if you are starting a new integration using the latest version of an SDK.

OverviewAnchorIcon

Braintree makes regular updates to our server SDKs which follow semantic versioning guidelines. This page will guide you through the largest breaking changes that are specific to the language you are integrating with Braintree.

Check the SDK's CHANGELOG or more information on changes.

SDK major version 3AnchorIcon

Node versionsAnchorIcon

Starting with version 3.0.0, the Braintree Node SDK targets Node versions 10+ and npm CLI 6+.

Creating a gateway instanceAnchorIcon

Previous code examples used the function connect() to set up the Braintree Gateway. This method was deprecated in version 2.15.0, and removed in version 3.0.0. Instead, initialize the gateway by creating a new instance:
  1. Node.js
const gateway = new braintree.BraintreeGateway({
  environment: braintree.Environment.Sandbox,
  merchantId: 'your_merchant_id',
  publicKey: 'your_public_key',
  privateKey: 'your_private_key'
});

Search methods for expiring credit cards updatedAnchorIcon

Previous versions of the Node SDK contained a bug where the expired and expiringBetween methods on CreditCardGateway returned an array of credit card ids rather than the full results. These methods have been updated to return either an iterable response or a stream containing the full credit card result objects. See expiringBetween for more details.

ExceptionsAnchorIcon

Down For Maintenance exceptions have been renamed to Service Unavailable exceptions, since we do not bring our services down to perform maintenance operations anymore.

We also added additional timeout exceptions to give extra clarity on the source (client request vs gateway response).

For more information, check our guide on Exceptions.

Further readingAnchorIcon

If you accept cookies, we’ll use them to improve and customize your experience and enable our partners to show you personalized PayPal ads when you visit other sites. Manage cookies and learn more