WooCommerce Stripe Setup: Accept Cards the Right Way
A complete WooCommerce Stripe setup guide: connect your account, test properly, enable Apple Pay and Google Pay, and avoid the common mistakes.

A working WooCommerce Stripe setup lets you accept cards, Apple Pay, Google Pay and local payment methods without redirecting customers away from your store. It takes about twenty minutes to configure correctly, but a few small mistakes, like leaving test keys in place or skipping webhooks, cause most of the problems we see afterward. This guide covers the full setup, done right the first time.
There are two common ways to connect Stripe to WooCommerce: WooPayments, WooCommerce’s own built-in solution which is itself powered by Stripe’s infrastructure, and the dedicated WooCommerce Stripe Payment Gateway plugin, which connects directly to your own Stripe account. Either works well; the dedicated plugin gives you a completely independent Stripe account and dashboard, which many stores prefer.
Always start in test mode
Stripe provides test card numbers that simulate successful payments, declines and specific errors without moving real money. Complete a full test order before switching to live keys.
What you need before you start
| Requirement | Why it matters |
|---|---|
| A Stripe account | Free to create, needs business details before you can go live |
| A valid SSL certificate | Stripe requires HTTPS to process any live payment |
| Current WooCommerce version | Older versions can be incompatible with the latest Stripe plugin release |
| Store currency set correctly | Confirm it matches what your Stripe account supports before launch |
Step 1: install the Stripe plugin
From your WordPress dashboard, go to Plugins → Add New and search for “WooCommerce Stripe Payment Gateway,” or install it directly from WordPress.org. Activate it once installed; WooCommerce will show a new Stripe section under its payment settings.
Step 2: connect your Stripe account
Go to WooCommerce → Settings → Payments, find Stripe, and follow the connect flow. If you do not yet have a Stripe account, you can create one during this step. Once connected, WooCommerce pulls your API keys automatically rather than needing you to copy and paste them manually.
Step 3: understand test mode versus live mode
Stripe issues two separate sets of API keys: test keys, prefixed pk_test_ and sk_test_, and live keys, prefixed pk_live_ and sk_live_. WooCommerce’s Stripe settings let you toggle between them. Leave test mode on until you have placed and refunded at least one full test order successfully.
Step 4: place a real test order
Add a product to your cart, go through checkout, and use one of Stripe’s published test card numbers, such as 4242 4242 4242 4242 with any future expiry date and any three-digit CVC. Confirm the order completes, the payment shows in your Stripe test dashboard, and the order status updates correctly in WooCommerce.
Step 5: enable the payment methods you want
Beyond standard card payments, Stripe supports Apple Pay and Google Pay through its Payment Request Button, and various local payment methods depending on your country and currency, such as iDEAL or Bancontact in Europe. Enable only the methods relevant to your actual customers; offering irrelevant ones adds clutter to checkout without adding sales.
Step 6: set up webhooks
Webhooks let Stripe notify WooCommerce about events that happen outside the normal checkout flow, such as a delayed bank payment finally clearing, or a dispute being opened. The Stripe plugin usually configures its webhook endpoint automatically once connected; confirm it in your Stripe dashboard under Developers → Webhooks, and check the endpoint shows recent successful events rather than repeated failures.
Step 7: go live
Once your test order works end to end, switch Stripe to live mode in WooCommerce, confirm your Stripe account has completed its business verification (Stripe will not process live payments until it has), and place one small real order yourself to confirm everything works with real money before announcing the store is open.
Common WooCommerce Stripe issues after launch
- Payments succeed in Stripe but orders stay “Pending” in WooCommerce: usually a webhook not configured or not reachable, often blocked by a security plugin or firewall rule.
- Checkout errors mentioning SSL: Stripe requires HTTPS on every page involved in checkout, not just the payment step.
- Currency mismatch errors: confirm your WooCommerce store currency is one Stripe supports for your account’s country.
- Apple Pay or Google Pay button not showing: both require domain verification with Stripe and a valid SSL certificate to appear at all.
If checkout stops working entirely rather than just the payment step, our broader guide on WooCommerce checkout not working covers causes beyond the payment gateway itself.
Keeping a WooCommerce Stripe setup secure
Never paste live secret keys into support tickets, screenshots, or anywhere other than the WooCommerce settings screen itself. If a key is ever exposed, roll it immediately from your Stripe dashboard under Developers → API keys, since a leaked secret key gives full access to process charges on your account. Keep your WordPress admin accounts secured with strong, unique passwords and two-factor authentication too, since access to wp-admin means access to your live Stripe connection.
Handling refunds and disputes
Refunds issued from WooCommerce’s order screen sync automatically back to Stripe when the connection is working correctly, so you rarely need to touch the Stripe dashboard directly for a standard refund. Disputes, sometimes called chargebacks, do need attention in the Stripe dashboard itself, since WooCommerce does not manage the evidence submission process; Stripe emails you directly when one opens, with a deadline to respond.
Understanding Stripe’s fees
Stripe charges a percentage plus a fixed fee per successful transaction, varying by country and card type; check the current rates on Stripe’s own pricing page, since they are reviewed periodically and differ by region. There is no separate charge from WooCommerce itself for using the payment gateway plugin. Factor these fees into your product pricing or margins from the start, since they apply to every successful transaction regardless of order size.
Selling in more than one currency
If you sell internationally, check which currencies your Stripe account supports before enabling them in WooCommerce. Stripe handles the currency conversion automatically on its side, but your store’s base currency in WooCommerce still determines how totals, taxes and reports are calculated, so plan this before launch rather than changing it after orders have started coming in.
Rather have it set up for you?
We build WooCommerce stores from $700 and fix existing WooCommerce issues from $45, including payment gateway setup. Get it sorted or contact us.
WooCommerce Stripe setup: quick answers
Is WooCommerce Stripe setup free?
The plugin itself is free, and creating a Stripe account costs nothing upfront. Stripe charges a per-transaction fee only when a payment actually succeeds, so there is no cost for having it installed and configured.
Do I need a business bank account for WooCommerce Stripe setup?
Stripe requires business or individual verification details before releasing live payments to your bank account, which varies by country. You can complete the technical setup and test everything before finishing that verification.
Can I use WooCommerce Stripe setup alongside PayPal?
Yes. Most stores offer both, since some customers prefer one over the other. Enable both gateways under WooCommerce payment settings and customers choose at checkout; this does not require any extra configuration between the two.
Why did my WooCommerce Stripe setup stop working after an update?
Check the plugin’s changelog for breaking changes, and confirm WooCommerce core itself is also updated, since the Stripe plugin follows WooCommerce’s release schedule closely and can lag behind after a major core update.



