Stripe + Salesforce Commerce Cloud (B2C) integration

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

Stripe connects to Salesforce B2C Commerce through Stripe's own LINK cartridge (the Stripe app for Salesforce B2C Commerce), listed free on AppExchange and developed in the open at stripe/stripe-sfcc-b2c-connector, with separate cartridges for SFRA and SiteGenesis controllers. Stripe maintains it; the latest release is 24.0.3 (2026-09-04). No Stripe-maintained package for PWA Kit / composable storefronts was found, and Salesforce's native Salesforce Payments also runs card and wallet payments on a Stripe merchant account.1

UAT-Ops testing: Stripe's sandbox was verified by UAT-Ops on 2026-09-11 with the directory's card flow (6 passed) → evidence on the Stripe hub. The Salesforce Commerce Cloud (B2C) integration itself has not been run.

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

Connects through LINK cartridge with separate SFRA and SiteGenesis controller cartridges, added to the site's cartridge path and configured in Business Manager. Biggest gotcha: Three version numbers, none agreeing.

How it connects

Method
LINK cartridge with separate SFRA and SiteGenesis controller cartridges, added to the site's cartridge path and configured in Business Manager2
Maintained by
Stripe, Inc.1
Cost of the integration
Free to download; Stripe processing fees apply1
Latest release
2026-09-043
Requires
Stripe docs: Commerce Cloud platform 16.8 and SFRA 4.4 (code examples based on 4.4); AppExchange listing: SFRA 4.0 and above, plus SiteGenesis1
Checkout modes
payment element, express checkout element, bank transfer, card form deprecated, saved payment methods2
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.4

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
CardsYes5STRIPE_CREDIT payment processor handles cards; the storefront's allowed card list is still governed by Business Manager's Credit/Debit Cards list.
Apple PayYes5Requires replacing RedirectURL.js to serve the Apple domain-association file, a temporary site alias on the sandbox, and domain verification in the Stripe Dashboard.
Google PayNot verified here5Wallets arrive through the Express Checkout Element handled by the STRIPE_APM processor; Google Pay is not named in the cartridge docs, so this is inferred from the Element.
PayPalNot verified here2Not named in the cartridge docs; the Payment Element shows every method enabled in the Stripe Dashboard and deferred-intent-compatible methods are supported automatically.
SEPA Direct DebitNot verified here2Not named in the cartridge docs; arrives via the Payment Element like other dynamic payment methods.
Buy now, pay laterNot verified here2Not named in the cartridge docs; arrives via the Payment Element like other dynamic payment methods.
3-D SecureYes4PaymentIntent authentication flows run through Stripe.js; releases 23.8.0 and 24.0.2 fixed 3DS handling (handleNextAction, empty 3DS error on abandoned checkout).
Saved cards (vault)Yes2Saved payment methods via Customer Sessions in the Payment Element; enable the 'Save Payment Method for Future Purchases' site preference.
Partial refundsYes3Refunds and captures are issued from a Business Manager module with an amount; 24.0.3 fixed amount conversion for zero-decimal currencies.
Multi-currencyYes1AppExchange listing cites 135+ currencies; zero-decimal currencies needed the 24.0.3 fix for Business Manager refund/capture amounts.
ACH bank paymentsNot verified here6Stripe supports this; no source confirms it on this integration.
SubscriptionsNot verified here7Stripe 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

Install the Stripe app 'Salesforce Commerce' from the Stripe App Marketplace in a Stripe sandbox to mint a publishable key and a restricted key, then run Stripe Quick Setup in Business Manager (Administration) on your On-Demand Sandbox, or fill the Stripe Configurations custom site preferences by hand. Create the STRIPE_CREDIT and STRIPE_APM payment processors, point CREDIT_CARD at STRIPE_CREDIT, and enable STRIPE_PAYMENT_ELEMENT. Register a Stripe webhook endpoint at https://<sandbox-host>/Stripe-WebHook (Quick Setup does this and stores the whsec_ secret in stripeWebhookSigningSecret), then enable the 'Stripe - Process Webhook Notifications' job. Pay with Stripe test cards (4242 4242 4242 4242; 4000 0025 0000 3155 for 3DS) - real cards are prohibited in test mode. Assert that a PaymentIntent appears in the Stripe Dashboard, that the event lands as a StripeWebhookNotifications custom object, and that the job moves the order to placed/PAID; test capture-on-authorize and a Business Manager refund, including one in a zero-decimal currency if you sell in one.5

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

Gotchas

Three version numbers, none agreeing

The GitHub release list says 24.0.3 (2026-09-04). The README on the same default branch still headlines 23.7.0, package.json says 24.0.2, and CHANGELOG.md dates releases weeks earlier than the GitHub release page does (24.0.2: 2026-03-16 vs 2026-04-10). AppExchange shows no version at all. Pin the release tag you deployed in your own notes; nothing in the cartridge will tell you later.

Source: github.com3

The docs still describe a button the cartridge removed

Release 23.7.0 removed Payment Request Button functionality, and the README warns the Card Form is next. Stripe's implementation guide nevertheless still walks through enabling STRIPE_PAYMENT_REQUEST_BTN and its styling preference. Build on STRIPE_PAYMENT_ELEMENT and the Express Checkout Element; treat any PRB or card-form preference you inherit from an older install as dead configuration to clean up during the upgrade.

Source: docs.stripe.com5

Webhooks that arrive and go nowhere

The cartridge stores each verified event as a StripeWebhookNotifications custom object and only a scheduled job turns it into a placed, PAID order. Forget to enable "Stripe - Process Webhook Notifications" for the site and APM and bank-transfer orders sit unconfirmed with no error. Event types missing from the stripeAllowedWebHookStatuses preference are answered 200 and dropped silently, and going live needs Quick Setup re-run so the live signing secret replaces the sandbox one.

Source: docs.stripe.com10

Replaced controllers and the SFRA floor

Stripe's docs put the floor at platform 16.8 and SFRA 4.4, with examples written against 4.4; the AppExchange listing says SFRA 4.0 and above. Either way the cartridge replaces CheckoutServices-SubmitPayment, PaymentInstruments-DeletePayment and RedirectURL-Start. If your own cartridge already replaces any of those, one of you loses; Stripe's guidance is to merge its changes into your controller. Apple Pay additionally needs RedirectURL-Start to serve the domain-association file and a temporary sandbox alias for verification.

Source: docs.stripe.com4

Salesforce Payments is also Stripe

The platform's native option, Salesforce Payments, runs cards, SEPA, iDEAL, Klarna and Afterpay on a Stripe merchant account you onboard from Business Manager, installed as plugin_commercepayments ahead of the SFRA base cartridge. It is a different code path from the LINK cartridge with different site preferences and script APIs. Pick one; stacking both on a site means two Stripe accounts, two webhook secrets and two sets of checkout templates fighting over the same payment step.

Source: trailhead.salesforce.com11

Alternatives

Other gateways on Salesforce Commerce Cloud (B2C)

  • Adyen
  • Worldpay
  • PayPal
  • Cybersource

Stripe on other platforms

Sources

  1. https://appexchange.salesforce.com/appxListingDetail?listingId=a0N4V00000J61BeUAJmarketplace listing · describes the connector · checked 2026-09-11
  2. https://docs.stripe.com/connectors/salesforce-commerce-cloudofficial documentation · describes this integration · checked 2026-09-11
  3. https://github.com/stripe/stripe-sfcc-b2c-connector/releasescode repository · describes the connector · checked 2026-09-11
  4. https://docs.stripe.com/use-stripe-apps/salesforce-commerce-cloud/component-overviewofficial documentation · describes this integration · checked 2026-09-11
  5. https://docs.stripe.com/connectors/salesforce-commerce-cloud/implementation-guideofficial documentation · describes this integration · checked 2026-09-11
  6. https://docs.stripe.com/payments/payment-methods/overviewofficial documentation · checked 2026-09-10
  7. https://docs.stripe.com/billing/subscriptions/overviewofficial documentation · checked 2026-09-10
  8. https://docs.stripe.com/sandboxesofficial documentation · checked 2026-09-10
  9. https://docs.stripe.com/testingofficial documentation · checked 2026-09-10
  10. https://docs.stripe.com/use-stripe-apps/salesforce-commerce-cloud/user-guide
  11. https://trailhead.salesforce.com/content/learn/modules/cc-commerce-payments/cc-explore-commerce-payments

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.