Braintree Payment Plugin

Payment plugin for nopCommerce 3.60, 3.70, 3.80, implemented using Braintree Custom Integration. Recurring billing supported!

This payment plugin is developed using Braintree as a payment processor (

The plugin uses the primary currency of the shop, so make sure it is the same currency as the one configured in your Merchant Account from Braintree. Please note that with one Braintree account, you can have multiple Merchant Accounts, each with different currencies configured. The payment plugin can be configured to point to a specific Mechant Account, by specifying the MerchantAccountId. 

Operation Supported: Description
Authorize And Capture yes Authorize the payment and charge the customer at the same time
Authorize yes Authorize the payment and charge the customer at a later time
Capture yes Charge the customer
Void yes Void the payment (for authorized payments)
Refund (full) yes Refund the money to the customer.
Refund (partially) yes  Refund a certain amount to the customer.
Recurring Payments yes  


Please follow the bellow link to see what are the steps that you should take regarding to PCI Compliance:


The plugin is developed using BraintreeJS, with a custom HTML form implemented. The credit card data is not sent to the shop's server, instead it is sent to Braintree, and in return a payment token ("nonce", in Braintree terms) is returned, which is later sent to the shop's server.

Supported nopCommerce version: 3.60, 3.70, 3.80. If you would like to get this plugin for an earlier version of nopCommerce, please contact us. We maintain older plugins that we have built, for older nopCommerce versions, but as new versions of nopCommerce roll out, we implement new plugins from that version up.

 Recurring payments notes:

1) Plans must be manually created in the Braintree system
2) The PlanId must be set as the SKU of the corresponding product in nopCommerce (so a "membership" product in nopCommerce must have the SKU set as the ID of a Plan in Braintree)
3) When a customer orders one or more recurring products, the following happens :
-- Customer is created in the Braintree system (if not existing already - Email is used as identifier) - following info is passed to Braintree: Email (not Billing Email) , BillingAddress.Company, BillingAddress.FirstName, BillingAddress.LastName, BillingAddress.PhoneNumber
-- if customer exists in the Braintree system, then the plugin checks to see if he is subscribed to a plan that he just ordered - if he is already subscribed, a new subscription is NOT made
-- for all the products (plans) that he is not already subscribed to, a new Subscription is created in the Braintree system
-- if he is already subscribed to one or more plans, a warning is logged in nopCommerce, but the checkout continues normally (check System -> Logs , for warnings)
-- if customers orders multiple products, the subscriptions are made independent - meaning if one subscription fails, an error is logged (check System -> Logs), but the others may be succesfull.
4) When cancelling a recurring order (from nopCommerce Admin panel), the subscription(s) are cancelled in Braintree as well
5) Recurring payment type is Automatic, meaning Braintree handles the recurring billing, and everything related to it. NopCommerce just creates or cancels the subscription, via API calls

The PlanId must be set as the SKU, by convention, because Plans cannot be created / deleted / updated via the API (check:


Donate with PayPal

Product tags
Customers who bought this item also bought

Nop-Payments Plugin for Stripe

Payment plugin for nopCommerce 3.40, 3.60, 3.70, 3.80, 3.90 using Stripe API

Nop-Payments Plugin for Authorize.Net

Payment plugin for nopCommerce, implemented using Accept.js and Authorize.Net API.

Payment Plugin for 2Checkout

Payment plugin developed using the 2co.js library and Payment API approach.