Stripe + Adobe Commerce (Magento 2) integration

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

Stripe connects to Adobe Commerce and Magento Open Source through Stripe's own free module, Stripe Payments, Subscriptions, and Tax (Composer package stripe/stripe-payments), which Stripe publishes on the Adobe Commerce Marketplace and in its stripe-magento2-releases GitHub repository. It supports Adobe Commerce 2.3.7 through 2.4.x, offers an embedded Payment Element or a redirect to Stripe Checkout, configures its own webhooks, and adds a Stripe Billing subscription engine.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 Adobe Commerce (Magento 2) integration itself has not been run.

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

Connects through Adobe Commerce module installed with Composer (composer require stripe/stripe-payments after ordering the free listing on the Marketplace) or from the raw .tgz package, then setup:upgrade and di:compile. On Adobe Commerce on cloud infrastructure the same Composer requirement is committed with composer.lock and deployed through the cloud build. Biggest gotcha: The Marketplace is three patch releases behind the changelog.

How it connects

Method
Adobe Commerce module installed with Composer (composer require stripe/stripe-payments after ordering the free listing on the Marketplace) or from the raw .tgz package, then setup:upgrade and di:compile. On Adobe Commerce on cloud infrastructure the same Composer requirement is committed with composer.lock and deployed through the cloud build.1
Maintained by
Stripe (Marketplace seller and integrator: Stripe; GitHub organisation: stripe)1
Cost of the integration
free2
Latest release
2026-09-032
Requires
Adobe Commerce / Magento Open Source 2.3.7 (Stripe lifecycle policy); the Marketplace listing marks only 2.4 as current for cloud, on-prem and Open Source. 2.0-2.3.6 stops at module 2.9.5.3
Checkout modes
payment element embedded, stripe checkout redirect, express checkout wallets, multishipping checkout, admin orders, headless graphql rest2
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
CardsYes4Card payments with Authorize and Capture, Authorize Only (7-day hold) or Order mode; 3DS2 shown only when the issuer requires it.
Apple PayYes5Express Checkout wallet button; needs the domain registered in Stripe (www and bare domain separately), HTTPS with TLS 1.2, and a default country set in Adobe Commerce.
Google PayYes5Express Checkout wallet button alongside Apple Pay and Link; same domain and HTTPS requirements.
PayPalNo5PayPal is not in the module's payment method table; Stripe's Adobe Commerce docs list wallets such as Apple Pay, Google Pay, Link, Amazon Pay and Cash App instead.
ACH bank paymentsYes2ACH Debit is listed under bank debits; async refunds for ACH were added in 4.6.0.
SEPA Direct DebitYes5SEPA Direct Debit is listed under bank debits; the optional statement descriptor does not apply to it.
Buy now, pay laterYes5Affirm, Afterpay/Clearpay, Alma, Billie, Klarna and Zip, plus a Payment Method Messaging element for product, minicart and cart pages.
3-D SecureYes5SCA-ready with 3D Secure 2; preferences come from Radar rules. With Place order first disabled, the order waits in Pending Payment for a charge.succeeded webhook.
Saved cards (vault)Yes2Save customer payment method stores the last-used method in Stripe's vault; Authorize Only saves the card automatically until the order is invoiced or cancelled.
SubscriptionsYes5Any simple or virtual product can become a Stripe Billing subscription; renewals arrive as webhooks and create new Adobe Commerce orders.
Partial refundsYes3Partial refunds are issued from a credit memo using the Adjustment Fee field. Since module 4.1, partial refunds or captures made in the Stripe Dashboard no longer create Magento documents.
Level 2 / Level 3 dataYes4Send payment line items to Stripe enables the Level 2 and Level 3 card network programs.
Multi-currencyNot verified here6Stripe 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 Adobe Commerce app from the Stripe App Marketplace in a Stripe sandbox to get restricted publishable and secret keys, then set Mode to sandbox under Stores > Configuration > Sales > Payment Methods > Stripe and paste the keys. Stripe only appears at checkout once keys are saved. Webhooks are created automatically when keys are saved (one endpoint per Stripe account, using a store-view domain), so the staging store needs a public HTTPS URL; a store behind Basic Auth or a firewall will also fail Apple Pay domain verification. Adobe Commerce cron must be running because the module reconfigures webhooks hourly and cancels abandoned 3DS orders. Place orders with Stripe test cards, 4000 0000 0000 9235 to exercise the Radar elevated-risk hold, and the 3DS test cards to exercise authentication. Assert that orders move from Pending Payment to Processing on charge.succeeded; if they do not, run bin/magento stripe:webhooks:configure and replay events with bin/magento stripe:webhooks:process-event <event_id>.4

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

Gotchas

The Marketplace is three patch releases behind the changelog

On 2026-09-11 the Adobe Commerce Marketplace listing showed Current Version 4.6.0, updated 05 June 2026, while Stripe's own CHANGELOG in the stripe-magento2-releases repository listed 4.6.6, dated 2026-09-03, with webhook signature hardening and refund-status fixes. Composer resolves against Adobe's repository, so check composer show stripe/stripe-payments before reporting a bug a later patch already fixed, and read the changelog rather than the listing for what changed.

Source: github.com9

Webhooks are self-managed and point at a store-view domain

Since 3.0.0 the module creates and rewrites its webhook endpoint itself: on setup:upgrade, whenever API keys or a store URL change, and during an hourly cron check. It creates one endpoint per Stripe account and uses one store-view domain, not the base URL. A store behind Basic Auth or without cron quietly stops receiving events, and orders stay in Pending Payment. Recreate with bin/magento stripe:webhooks:configure and replay with stripe:webhooks:process-event.

Source: docs.stripe.com10

Abandoned 3DS orders hold stock for hours

With Place order first disabled, the order is created in Pending Payment before the 3DS challenge, and it only moves to Processing when charge.succeeded arrives. If the shopper fails or abandons authentication, a cron job cancels the order after 2-3 hours, and inventory stays reserved until then. For low-stock products either enable Place order first or shorten Adobe Commerce's pending payment order lifetime.

Source: docs.stripe.com4

Partial refunds from the Dashboard stopped creating documents in 4.1

Before 4.1, a partial capture or refund made in the Stripe Dashboard produced a Magento invoice or credit memo with adjustment totals and no line items, which broke tax reporting. From 4.1 only full captures and full refunds create documents automatically. Do partial refunds from the credit memo in the Adobe Commerce admin, using the Adjustment Fee field for the amount you keep; Refund Offline never reaches Stripe.

Source: docs.stripe.com3

Apple Pay fails silently on staging and on the wrong hostname

Wallet buttons need the domain registered on Stripe's payment method domains page, and www.example.com and example.com count separately. Domain verification also fails behind a firewall or Basic Auth, which describes most staging stores, and the site must serve TLS 1.2 with no mixed content. Product-page buttons additionally disappear when guest checkout is disabled or the theme overrides the Add to Cart template.

Source: docs.stripe.com10

Alternatives

Other gateways on Adobe Commerce (Magento 2)

Stripe on other platforms

Sources

  1. https://docs.stripe.com/connectors/adobe-commerceofficial documentation · describes this integration · checked 2026-09-11
  2. https://commercemarketplace.adobe.com/stripe-stripe-payments.htmlmarketplace listing · describes the connector · checked 2026-09-11
  3. https://docs.stripe.com/connectors/adobe-commerce/payments/installofficial documentation · describes this integration · checked 2026-09-11
  4. https://docs.stripe.com/use-stripe-apps/adobe-commerce/payments/configurationofficial documentation · describes this integration · checked 2026-09-11
  5. https://docs.stripe.com/use-stripe-apps/adobe-commerce/paymentsofficial documentation · describes this integration · checked 2026-09-11
  6. https://docs.stripe.com/currenciesofficial documentation · checked 2026-09-10
  7. https://docs.stripe.com/sandboxesofficial documentation · checked 2026-09-10
  8. https://docs.stripe.com/testingofficial documentation · checked 2026-09-10
  9. https://github.com/stripe/stripe-magento2-releases/blob/master/CHANGELOG.md
  10. https://docs.stripe.com/use-stripe-apps/adobe-commerce/payments/troubleshooting

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

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.