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
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.
Requires replacing RedirectURL.js to serve the Apple domain-association file, a temporary site alias on the sandbox, and domain verification in the Stripe Dashboard.
Wallets 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.
Not named in the cartridge docs; the Payment Element shows every method enabled in the Stripe Dashboard and deferred-intent-compatible methods are supported automatically.
PaymentIntent authentication flows run through Stripe.js; releases 23.8.0 and 24.0.2 fixed 3DS handling (handleNextAction, empty 3DS error on abandoned checkout).
Stripe 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.
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.
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.
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.
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.
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.