WooCommerce Stripe Payment Gateway

Description

Changing consumer behavior has resulted in an explosion of payment methods and experiences, which are great for increasing conversion and lowering costs—but can be difficult for businesses to maintain. Give customers a best-in-class checkout experience while you remain focused on your core business. This is the official plugin created by Stripe and WooCommerce.

Drive 11.9% in revenue with an optimized checkout experience from Stripe

The enhanced checkout experience from Stripe can help customers:

  • Boost conversion: Provide an optimal experience across mobile, tablet, and desktop with a responsive checkout, and offer 23 payment methods, including Link, Apple Pay, and Google Pay, out of the box.
  • Expand your customer base: Convert customers who might otherwise abandon their cart with buy now, pay later methods like Klarna, Affirm, and Afterpay/Clearpay, wallets like Apple Pay, Google Pay, Alipay, and WeChat Pay, and local payment methods such as Bancontact in Europe and Alipay in Asia Pacific. Deliver a localized payment experience with out-of-the-box support for localized error messages, right-to-left languages, and automatic adjustment of input fields based on payment method and country.
  • Meet existing customer demand and localize the experience: Offer local payment methods, such as ACH Direct Debit, Bacs Direct Debit, Bancontact, BECS Direct Debit, BLIK, Boleto, Cash App Pay, EPS, iDEAL, Multibanco, OXXO, Pre-authorized debit payments, Przelewy 24, and SEPA Direct Debit, and let customers pay in their local currency across 150+ countries with Adaptive Pricing.
  • Fight fraud: Detect and prevent fraud with Stripe Radar, which offers seamlessly integrated, powerful fraud-detection tools that use machine learning to detect and flag potentially fraudulent transactions.
  • Accept in-person payments for products and services: Use the Stripe Terminal M2 card reader or get started with no additional hardware using Tap to Pay on iPhone, or Tap to Pay on Android.
  • Support subscriptions: Support recurring payments with various payment methods via WooCommerce Subscriptions.
  • Manage cash flow: Get paid within minutes with Stripe Instant Payouts, if eligible.
  • Achieve PCI-DSS compliance with Stripe Elements hosted input fields.
  • Support Strong Customer Authentication (SCA).

Stripe is available for store owners and merchants in 46 countries worldwide, with more to come.

Compatibility Notes

The following items note specific versions that include important changes, features, or deprecations.

  • 10.8.0
    • Optimized Checkout Suite enabled by default for eligible existing stores
    • Adaptive Pricing enabled by default for eligible existing stores
    • Removed deprecated code and constants from 10.2.0 and before – Full list – PR #5294
  • 10.7.0
    • Optimized Checkout Suite re-enabled by default for new installs
    • Adaptive Pricing enabled by default for new installs
    • Removed deprecated backend methods that called wc_deprecated_function – Full list – PR #5066
  • 10.6.0
    • Adaptive Pricing available
  • 10.4.0
    • Optimized Checkout Suite no longer enabled by default for new installs
    • Removed the main Payment Request Buttons backend class, WC_Stripe_Payment_Request, which was deprecated in 10.2.0
    • Removed the deprecated WC_Stripe_Apple_Pay class
  • 10.3.0
    • Removed legacy checkout payment method classes and settings retrieval methods
  • 10.2.0
    • Optimized Checkout Suite enabled by default for all new installations
    • Add minimum transaction amounts for BRL, INR, NZD, THB, CZK, HUF, AED, MYR, PLN, RON
  • 10.1.0
    • Improved express checkout address handling for countries without state/postal codes
  • 10.0.0
    • Payment Request Buttons are fully replaced by Express Checkout
    • Legacy Checkout is fully deprecated and no longer available
  • 9.8.0
    • Optimized Checkout Suite available via a configuration setting
    • We will disable the Affirm or Klarna payment methods if the respective official plugin is enabled
  • 9.7.0
    • Improved express checkout support for custom checkout fields
    • Validate customer details against required billing fields from checkout before sending to Stripe
  • 9.6.0
    • Legacy checkout deprecated by default
    • Voucher payment methods can be used for subscription purchases when manual renewals are available
    • Include extension data from block checkout for express checkout orders
    • Add hooks to support custom checkout fields for classic checkout
  • 9.5.0
    • Synchronize payment methods with Stripe
    • Support Pre-Authorized Debit (PAD) in Canada and the US
    • Support BLIK in Poland and from other EU countries
    • Support BECS Direct Debit payments in Australia

Screenshots

FAQ

In which specific countries is Stripe available?

Stripe is available in the following countries, with more to come:

  • Australia
  • Austria
  • Belgium
  • Brazil
  • Bulgaria
  • Canada
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Gibraltar
  • Greece
  • Hong Kong
  • Hungary
  • India
  • Ireland
  • Italy
  • Japan
  • Latvia
  • Liechtenstein
  • Lithuania
  • Luxembourg
  • Malaysia
  • Malta
  • Mexico
  • Netherlands
  • New Zealand
  • Norway
  • Poland
  • Portugal
  • Romania
  • Singapore
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • Switzerland
  • Thailand
  • United Arab Emirates
  • United Kingdom
  • United States

Does this require an SSL certificate?

Yes. In Live Mode, an SSL certificate must be installed on your site to use Stripe. In addition to SSL encryption, Stripe provides an extra JavaScript method to secure card data using Stripe Elements.

Does this support both production mode and sandbox mode for testing?

Yes, it does. Both production and test (sandbox) modes are driven by the API keys you use with a checkbox in the admin settings to toggle between both.

Where can I find documentation?

Refer to the Stripe WooCommerce Extension documentation for more information, including how to set up and configure the extension.

Where can I get support or talk to other users?

If you get stuck, you can ask for help in the Plugin Forum.

Reviews

June 12, 2026 1 reply
Problème sur la page de paiement. Mes échanges avec le support ont été rapides et efficaces, de vraies réponses, bien détaillées, et pertinentes car une véritable écoute. Le problème ne venait finalement pas du plugin lui-même mais du thème Divi et pourtant, vous avez trouvé la solution !! Merci de votre aide !
June 12, 2026 2 replies
On a website with last WooCommerce version + WordPress7 + last version of the plugin 10.8.1 connection is good, webhook too, but successfull payment won’t return to woocommerce command wich becomes “canceled”. It seems the plugin (the only payment plugin installed) force “Clover” mode.De-installed and installed 7.4.1 version, entered API keys with copy/paste and all is getting OK with command status.It seems that I’m not the only one having this pb.
June 10, 2026 5 replies
First ever payment after launch, Bancontact crashes Woo, then I get reports of Chrome not displaying the Stripe modal, endless spinner. The 2 things we wanted the most; Bancontact, because we’re a Belgian store, and Adaptive pricing, because we sell to other non-Euro countries too, are now off or the site breaks. Days of painful trouble shooting, turns it both problems are 100% squarely on this plugin. I am not amused. Edit: Bumped the stars to 3, because they are very willing to help fix. Still, it was/is very embarrassing when you can’t offer the payment methods you planned to offer. Last time I checked, there are about 15 million Bancontact cards in circulation, so offering that as a Belgian store should be a no-brainer. Same goes for currencies when you ultimately have a worldwide customer base.
May 28, 2026 1 reply
There was a problem, but together WooCommerce and Stripe very quickly resolved the problem in less than 24 hours. Thank you for your cooperation and quick response.
May 27, 2026 1 reply
I contacted woocommerce support when I had issues with link payments in the stripe plugin not working correctly and was getting reports of multiple failed payments at checkout. Woocommerce support found the issue almost immediately, kept me notified along the way, found a solution to the problem and had it implemented that day. My third time contacting support for various of my clients stores and every time I’ve found them to be professional, knowledgable and got my clients’ sites working promptly.
May 27, 2026 1 reply
Awful plugin, just awful. The link payment button keeps reappearing on the product and checkout pages, even if it is disabled in the Stripe Dashboard and Woocommerce. They fix this issue in the past, only for it to resurface from time to time (like now). It’s incredible.
Read all 231 reviews

Contributors & Developers

“WooCommerce Stripe Payment Gateway” is open source software. The following people have contributed to this plugin.

Contributors

“WooCommerce Stripe Payment Gateway” has been translated into 35 locales. Thank you to the translators for their contributions.

Translate “WooCommerce Stripe Payment Gateway” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

10.8.2 – 2026-06-15

  • Fix – Disable Adaptive Pricing when webhooks are disabled
  • Fix – Fall back to standard checkout when Adaptive Pricing can’t initialize against a conflicting Stripe.js version
  • Fix – Correctly distinguish Adaptive Pricing checkout sessions from agentic ones in webhooks so their payments aren’t dropped
  • Fix – Prevent classic checkout from submitting an empty payment method while the Stripe Payment Element is re-mounting after a checkout update
  • Fix – Prevent Adaptive Pricing orders from being stuck in pending after a successful payment
  • Fix – Mark Adaptive Pricing orders as failed promptly when a payment is declined, instead of leaving them in Pending Payment

10.8.1 – 2026-06-11

  • Fix – Prevent a fatal error when a Bancontact, iDEAL or Sofort payment is placed with SEPA token saving enabled through the Adaptive Pricing checkout, which left the order unpaid
  • Fix – Hide the save payment method checkbox for Bancontact, iDEAL and Sofort in the Adaptive Pricing checkout, where Stripe cannot save them as SEPA Direct Debit tokens
  • Fix – Allow card and Link at classic checkout when the order has no billing country, instead of incorrectly blocking the payment as unavailable

10.8.0 – 2026-06-08

New Features

  • Add – Default Optimized Checkout Suite and Adaptive Pricing on for all eligible stores, with in-app notices announcing the change
  • Add – Allow shoppers to change a subscription payment method using Express Checkout (Apple Pay, Google Pay, Link)
  • Add – Add a setting to control whether Express Checkout is shown on the WooCommerce Subscriptions change payment method page
  • Add – Register Stripe gateway capabilities with the WordPress Abilities API for agent access (default off; opt in via the wc_stripe_abilities_enabled filter)

Important Fixes and Updates

  • Remove – Remove deprecated code up to version 10.2.0
  • Update – Improve express checkout load times by preloading the resources
  • Update – Ensure payment method restrictions based on account and shopper countries are up to date
  • Fix – Send Klarna’s preferred locale in the confirmation token (Optimized Checkout) flow so cross-border customers can complete identity verification
  • Fix – Store transaction IDs for orders when we get charges to ensure we can refund correctly
  • Fix – Ensure the bank statement descriptor is included when creating payment intents for alternative payment methods
  • Fix – Prevent Stripe API calls from failing due to DNS resolution issues
  • Fix – Recover a missing Stripe charge ID from the order’s payment intent so affected orders stay refundable
  • Fix – Add an order note and call action ‘wc_stripe_unexpected_charge_detected’ when a Stripe charge is captured for an order that was already paid via a different gateway
  • Fix – Restore “Refund via Gateway” button and Stripe dashboard transaction link for Amazon Pay orders by keeping Amazon Pay registered in the gateway list on order edit and refund pages
  • Fix – Don’t auto-cancel Stripe orders that have already been paid, preventing paid orders left at pending (e.g. by a checkout/webhook race) from being cancelled as unpaid
  • Fix – Add an order note when a paid-but-pending Stripe order is kept from being auto-cancelled, so stores can review and reconcile the stuck status

Other Fixes and Updates

  • Remove – Remove giropay from new checkouts (deprecated by Stripe on 2024-06-30); legacy refund and past-order rendering preserved
  • Add – Show Apple Pay / Google Pay branding on saved card tokens in My Account Payment Methods and at checkout
  • Add – Detect Stripe API outages (network failures, timeouts, 5xx responses) and surface a wp-admin notice instead of crashing or showing misleading “couldn’t connect” messages
  • Fix – Use a placeholder billing last name for single-name express checkout payments
  • Fix – Prevent Stripe from rendering an unexpected “Address Line 2” field inside the Payment Element
  • Fix – Incorrect payment method title on the order confirmation page when Optimized Checkout is enabled
  • Fix – Preserve saved card branding when the same card is later used via a wallet, and render multi-word brands (e.g. Cartes Bancaires) correctly
  • Fix – Add empty state mapping for Morocco in express checkout
  • Fix – Respect the iDEAL/Wero and Bancontact save toggle when Optimized Checkout is enabled
  • Fix – Ensure the save-payment-method checkbox is unchecked when a non-reusable payment method is selected in Optimized Checkout
  • Add – Add a “Release notes” link to the WooCommerce Stripe row on the Plugins page that opens the changelog modal
  • Add – Append a “what’s new” changelog link to the Updated! message after manually updating the plugin from the Plugins page
  • Add – Implement wc_stripe_logger_can_log filter to allow for targeted logging on busy sites
  • Fix – Dismissible subscription detached admin notices
  • Fix – Fix admin banner dismissal and display logic
  • Fix – Don’t default Adaptive Pricing on when first connecting a Stripe account that is ineligible for Adaptive Pricing
  • Fix – Make the “Update now” link in the account status tooltip clickable and improve its contrast against the tooltip background
  • Fix – Correct Amazon Pay button preview rendering in the Full Site Editor block cart and checkout pages
  • Fix – Require a connected account for the target mode before switching between test and live
  • Fix – Show better message when express checkout preview is not available
  • Fix – Add guards against invalid values for webhook state timestamps
  • Fix – Prevent saved Link, Cash App Pay, SEPA, Amazon Pay and Bacs Direct Debit payment methods from being duplicated when viewing My Account Payment methods
  • Fix – Resolve console errors shown when editing the Blocks checkout page
  • Fix – Update the order description and metadata on the payment intent after an Adaptive Pricing payment completes
  • Dev – Memoize the Express Checkout button visibility check within a request
  • Tweak – Drop redundant “Test mode:” label from test payment instructions on Blocks checkout, which already shows a Test Mode badge
  • Tweak – Remove the confirmation dialog when disabling a payment method in settings

Internal Changes and Upcoming Features

  • Fix – Improve handling of skipped products and in-flight syncs in Agentic Commerce sync dashboard
  • Dev – Add Jurassic Ninja preview link for PRs to enable one-click browser testing
  • Dev – Exclude AGENTS.md and CLAUDE.md contributor-instruction files from the built plugin zip
  • Dev – Skip Agentic Commerce catalog upload when content is unchanged
  • Dev – Align Agentic Commerce sync status UI with the WordPress design system
  • Dev – Refactor docker setup to be worktree friendly
  • Dev – Remove redundant get_retrievable_type() overrides from payment methods
  • Dev – Add Claude Code skills and review rules under .claude/ to capture repo-specific contributor guidance
  • Dev – Move some independent classes into autoloader
  • Dev – Require explicit visibility for class constants
  • Dev – Add payment token classes to autoloader
  • Dev – Add Jest tests for ECE payment flow
  • Dev – Use explicit method calls for upgrade checks and tools
  • Tweak – Reduce JS bundle sizes by using native browser features instead of polyfills
  • Tweak – Move UPE-only appearance helpers out of the shared stripe-utils module
  • Dev – Add wc_stripe_agentic_commerce_should_sync_product filter so adapters can exclude products from the Agentic Commerce catalog, inventory, and archive syncs
  • Dev – Move additional classes to autoloader, including email and migration classes
  • Dev – Add e2e tests for subscriptions and Optimized Checkout Suite and support stricter payment confirmation checks

See changelog for full details across versions.