Braintree + Salesforce Commerce Cloud (B2C) integration

Vendor pluginLast verified 2026-09-11 · Reviewed by a person 2026-09-25

Braintree connects to Salesforce B2C Commerce through a PayPal-maintained LINK cartridge, listed free on AppExchange as 'PayPal Enterprise Payments for B2C Commerce - SFRA (previously Braintree)' and documented in PayPal's Braintree Integration Guide 24.1.2 (cartridges int_braintree, bm_braintree, bm_braintree_configuration, plus int_braintree_ocapi for OCAPI hooks). It is SFRA-only; the guide pins the 24.1.x cartridge to SFRA 6.3.0 and Compatibility Mode 21.2, and no public GitHub repository or dated release list was found.1

UAT-Ops testing: Braintree's sandbox was tested by UAT-Ops on 2026-09-11 with the directory's card flow (7 passed, 1 expected rejection) → evidence on the Braintree hub. The Salesforce Commerce Cloud (B2C) integration itself has not been run.

Sources checked: 24 claims from 4 sites, listed at the foot of the page.

Connects through LINK cartridge (int_braintree, bm_braintree, bm_braintree_configuration, plus int_braintree_ocapi for OCAPI hooks) added to the site's cartridge path and configured in Business Manager. Biggest gotcha: Three PayPal listings, and the docs link the wrong one.

How it connects

Method
LINK cartridge (int_braintree, bm_braintree, bm_braintree_configuration, plus int_braintree_ocapi for OCAPI hooks) added to the site's cartridge path and configured in Business Manager1
Maintained by
PayPal (Braintree is a PayPal service)1
Cost of the integration
Free to download; Braintree processing fees apply1
Requires
SFRA only (AppExchange). Integration Guide 24.1.2: cartridge 24.1.0 supports SFRA 6.3.0 only, tested with Compatibility Mode 21.2; templates current with SFRA 6.3.01
Checkout modes
hosted fields, paypal smart buttons, apple pay, google pay, venmo, local payment methods, secure remote commerce, fastlane, ocapi hooks2
PCI scope
SAQ A for most merchants: card data is entered in the gateway's own fields or page, so it never touches your server. The gateway or your acquirer can still require a different questionnaire.2

What works on this platform

Yes: a source confirms it on this integration. Not verified here: the gateway supports it, but no source confirms this integration exposes it. No: not available. A capability with no source either way is left off.

CapabilityOn this integrationNotes
CardsYes1Braintree Hosted Fields on the SFRA billing page; the CREDIT_CARD payment method must stay active or the cartridge errors. Diners Club and UnionPay are processed as Discover, so Discover must be enabled in Business Manager's card list.
Apple PayYes1Supported on cart and checkout pages; requires the Apple domain-association file to be served for domain registration (guide section 4.1).
Google PayYes1BRAINTREE_GOOGLEPAY payment processor shipped in int_braintree.
PayPalYes1PayPal Smart Payment Buttons, Pay Later and Venmo (US only); PayPal accounts can be vaulted as billing agreements, and a payment_method_revoked_by_customer webhook removes revoked ones.
Buy now, pay laterYes1PayPal Pay Later buttons and Pay Later messaging are part of the cartridge; no other BNPL provider is mentioned.
3-D SecureYes23D Secure site preference with an 'auto' mode that consults Authentication Insight (unregulated skips, psd2/unavailable triggers). Fastlane checkout does not support 3DS in its initial release.
Saved cards (vault)Yes2'Store Payment Method in Vault' site preference (Vault always / Vault on Success); Commerce Cloud stores only the payment method token. Local payment methods cannot be vaulted.
Partial refundsYes2Refunds, voids and submit-for-settlement are issued from the Braintree Transactions Business Manager module (bm_braintree); status sync back to the order depends on the hourly BraintreeUpdateOrders job.
Multi-currencyYes2Per-currency Braintree merchant accounts are mapped in the Merchant Account IDs preference as CurrencyCode:MerchantAccountID pairs.
Level 2 / Level 3 dataYes2Since cartridge 19.1.2 for cards, Apple Pay, Google Pay, local payment methods, SRC and Venmo (PayPal gets Level 2 only). Tax, shipping and discount amounts are passed; Purchase Order Number and Ships From Postal Code are not passed without code changes.
ACH bank paymentsNot verified here3Braintree supports this; no source confirms it on this integration.
SEPA Direct DebitNot verified here4Braintree supports this; no source confirms it on this integration.
Network tokensNot verified here5Braintree supports this; no source confirms it on this integration.
SubscriptionsNot verified here6Braintree supports this; no source confirms it on this integration.

Capability status reflects the integration and documentation available at the time of verification, not necessarily every capability of the underlying gateway or platform.

Testing it

Create your own Braintree sandbox account (the guide says to contact Braintree support if you cannot). Upload int_braintree, bm_braintree and bm_braintree_configuration to an On-Demand Sandbox, import the metadata zip (rename the RefArch site folder to your site ID first), put int_braintree ahead of app_storefront_base in the site cartridge path and bm_braintree_configuration:bm_braintree in the Business Manager path. Under Administration > Operations > Services > Credentials edit Braintree_Sandbox_GraphQL_Credentials: URL https://payments.sandbox.braintree-api.com/graphql, User = public key, Password = private key, plus Merchant ID and an optional tokenization key. Pay with Braintree sandbox cards (4111 1111 1111 1111; amounts 2000.00-2999.99 force a processor decline). For webhooks, create one in the Braintree Control Panel (gear > API > Webhooks) pointing at https://<sandbox-host>/on/demandware.store/Sites-<site>-Site/en_US/Braintree-PaymentMethodHook with only payment_method_revoked_by_customer (and transaction_reviewed if you have Fraud Protection Advanced) enabled, then use Check URL; the guide's own test is to vault a sandbox PayPal account, cancel its billing agreement in the sandbox buyer console and confirm the wallet entry disappears within 5-10 minutes. Assert the transaction under Merchant Tools > Braintree Plugin > Transactions, then run BraintreeUpdateOrders by hand - recurring job schedules do not fire on sandbox instances - and confirm Order.custom.braintreePaymentStatus updates. Leave the service communication log off except while debugging; it writes customer PII and some credentials to the logs in cleartext.2

UAT-Ops runs integration flows like this against the real sandbox and keeps the evidence. Get one email when it opens.

Gotchas

Three PayPal listings, and the docs link the wrong one

PayPal's own plugin directory points "Braintree for Salesforce Commerce Cloud" at AppExchange listing a0N3A00000G9I8rUAF, which is "Braintree Payments for Order Management" and requires Salesforce Order Management. The B2C cartridge is a different listing, renamed "PayPal Enterprise Payments for B2C Commerce - SFRA (previously Braintree)". A third, "PayPal Complete Payments for B2C Commerce", is a separate cartridge again. Search AppExchange for the Enterprise Payments name, not for Braintree.

Source: developer.paypal.com9

Pinned to SFRA 6.3.0, no public repo, no release list

The Integration Guide (file 24.1.2, copyright 2023) says cartridge 24.1.0 supports SFRA 6.3.0 only and was tested on Compatibility Mode 21.2. The AppExchange page shows no version or release date, and neither the braintree nor the paypal GitHub organisation carries the cartridge, although the guide refers to tests "in the repository". If you run a newer SFRA or SiteGenesis, get the current package and its SFRA support statement from braintreepaypalplugins@paypal.com before scoping the work.

Source: paypalobjects.com2

Order status is a job, and the job does not run on your sandbox

Payment state reaches the order only through BraintreeUpdateOrders, an hourly job that writes Order.custom.braintreePaymentStatus. Recurring schedules are ignored on sandbox instances, so on a developer sandbox you run it by hand every time. Even in production some statuses, notably SETTLEMENT_DECLINED after a Business Manager submit-for-settlement, stay stale until someone opens the transaction; the settlement-declined webhook only covers ACH and SEPA.

Source: paypalobjects.com2

The webhook endpoint handles exactly two kinds

Braintree-PaymentMethodHook exists for payment_method_revoked_by_customer (a buyer cancelling a vaulted PayPal billing agreement) and transaction_reviewed, which only fires for merchants on Fraud Protection Advanced and only for manual review decisions. Nothing else you enable in the Control Panel does anything on the SFCC side. Braintree retries a non-2xx hourly for 3 hours in sandbox, so a mis-typed site ID in the URL surfaces as silence, not an error.

Source: paypalobjects.com2

Upgrading from 23.1.0 rewrites your site preferences

Moving to 24.1.0 or later is a manual migration: the old BRAINTREE_COMMON, Paypal_Pay_later and Paypal_Credit_Financial_Options attribute groups and their attributes must be deleted and the BRAINTREE_GENERAL, BRAINTREE_PAYPAL_PAY_LATER and related groups imported, either one attribute at a time or by hand-editing an exported metadata file. Run BraintreeSynchronizePaymentMethodTokens first, or vaulted PayPal accounts will not line up with the new vault workflow.

Source: paypalobjects.com2

Alternatives

Other gateways on Salesforce Commerce Cloud (B2C)

Braintree on other platforms

Sources

  1. https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000FMiRdUALmarketplace listing · describes the connector · checked 2026-09-11
  2. https://www.paypalobjects.com/enterprise-platforms-sdk/Braintree%20Integration%20Guide%2024.1.2.pdfofficial documentation · describes the connector · checked 2026-09-11
  3. https://developer.paypal.com/braintree/docs/start/overviewofficial documentation · checked 2026-09-11
  4. https://developer.paypal.com/braintree/docs/guides/sepa-direct-debit/overviewofficial documentation · checked 2026-09-11
  5. https://developer.paypal.com/braintree/docs/guides/network-tokens/getting-startedofficial documentation · checked 2026-09-11
  6. https://developer.paypal.com/braintree/docs/guides/recurring-billing/overviewofficial documentation · checked 2026-09-11
  7. https://developer.paypal.com/braintree/articles/get-started/try-it-outofficial documentation · checked 2026-09-11
  8. https://developer.paypal.com/braintree/docs/reference/general/testingofficial documentation · checked 2026-09-11
  9. https://developer.paypal.com/docs/3rd-party/plugins/

Last verified 2026-09-11 · Reviewed by a person 2026-09-25

Integration capabilities, requirements, pricing, availability, and vendor policies may change over time. UAT-Ops documents information based on the authoritative sources and testing available at the time of review.

Where newer information, testing, or vendor documentation materially changes a published claim, UAT-Ops may revise the page to reflect the most current verified information. Readers should confirm time-sensitive requirements with the relevant vendor before making production or purchasing decisions.