To set up WooCommerce Stripe payments, install the official Stripe extension, connect the right Stripe account, and verify checkout in test mode. Before accepting real orders, confirm the live connection and webhook status too.
A connected account is only part of the job. You also need to know whether the payment succeeded, whether WooCommerce received the update, and whether the order is ready for fulfillment.
This guide covers that setup from account creation to testing, followed by an optional way to bring WooCommerce and Stripe reporting together.
Accept payments with the WooCommerce Stripe gateway
Use the free official Stripe extension to accept payments through a regular Stripe account. You can offer card payments and eligible local payment methods, with express checkout options such as Apple Pay and Google Pay when their requirements are met.
The main benefits are:
- Card payments at checkout. Customers can enter their card details on your store without a separate hosted payment page for the standard card flow.
- Wallets and local methods. Offer relevant options based on your account, customer location, currency, and device. Availability varies by payment method.
- Saved payment methods. Enable this option if returning customers need to reuse a supported payment method.
- Recurring payments. Pair the gateway with WooCommerce Subscriptions when your store needs scheduled renewals.
The plugin is free to install. Stripe processing fees, paid extensions, and optional services are separate costs; check Stripe’s pricing for your country before choosing payment methods.
WooPayments is a different integration, even though Stripe is its payments partner. This tutorial uses the standalone Stripe extension; see WooPayments and the Stripe extension if you’re deciding between them.
Prepare your store for Stripe
Check these four requirements before installing the gateway:
- Supported software. Use compatible, maintained versions of WordPress, WooCommerce, PHP, and the Stripe extension. Check the current plugin requirements before updating; an old minimum such as WooCommerce 2.2 is not a useful compatibility check.
- HTTPS. Your store needs a valid SSL certificate and secure checkout pages. Stripe also needs to reach the site to deliver payment updates.
- An eligible business account. Confirm that Stripe supports your business location and activity using its availability information and onboarding checks.
- Access to the right accounts. Have WordPress administrator access and permission to connect the intended Stripe business account. Selecting a different account sends payments and records to a different place.
Keep a current backup and test software updates on a staging copy first. This lets you check compatibility before changing the checkout customers use.
How to add Stripe to WooCommerce
Add Stripe to WooCommerce by creating or selecting a Stripe account, installing the official extension, and authorizing the connection. Review payment settings and webhook status, connect test mode separately, and verify an order before switching checkout to live payments. The steps below follow WooCommerce’s current documentation.
Create or choose your Stripe account
Start at Stripe if you don’t have an account. Follow its prompts to verify your email and supply the business, representative, and bank information required for your location and business type.
Use details that match the business taking payments. An LLC name or US employer identification number is not a universal requirement for every merchant; the requested information depends on your account.
Complete any outstanding verification before expecting live payments and payouts to work. A test-only account can help you try the integration, but it doesn’t establish that the business is ready to accept real payments.
Install the official Stripe plugin
In WordPress, complete these three steps:
- Open Plugins > Add New and search for WooCommerce Stripe Payment Gateway to find the official extension.
- Check the plugin identity against the official directory listing so you don’t follow these steps with a different Stripe plugin.
- Select Install Now, then Activate, to make the gateway available in WooCommerce payments settings.

Connect Stripe through account authorization
Open WooCommerce > Settings > Payments, find Stripe, and select Complete setup. Choose Create or connect an account, then follow Stripe’s connection flow and select the correct business account.

After returning to WordPress, check the connected account and its payment, payout, webhook, and sync statuses. Follow any prompts for missing information rather than assuming that completing the connection screen enables every function.
You don’t need to copy publishable and secret API keys for the normal setup described here. For an older installation that requests reconnection, follow WooCommerce’s updated connection requirements to authorize the account again.
Choose payment methods and capture settings
Open Stripe’s Payment Methods settings and enable the methods your store needs. For wallets, follow the express checkout requirements, including HTTPS and applicable domain registration; a wallet button won’t necessarily appear on every browser or device.
In Settings, review saved payment methods and payment capture. If you choose authorization followed by manual capture, the initial authorization holds funds for later capture; it isn’t a completed collection of money.
Use the Stripe settings guide to check the option names in your installed version. Choose capture behavior that matches how you fulfill orders, then save the settings before testing that flow.
Verify live and test webhooks
Webhooks are Stripe’s messages back to your store about payment events. The current extension normally configures them during connection, so manually creating an endpoint and pasting a signing secret is not the default setup step.
Check them in WooCommerce > Settings > Payments > Stripe > Settings > Account details > Configure connection. Look for Configured under webhooks in Live, and check Test as well after connecting test mode.

If a status is incorrect, follow the same guide’s Reconfigure webhooks steps for the affected mode. Check the recent webhook-processing status under Account details too, because configured endpoints still need to deliver updates successfully.
Connect test mode and test checkout
The initial live connection doesn’t also connect test mode. In Account details > Configure connection, open Test, select Create or connect a test account, and authorize the intended account’s test connection.

Confirm the test connection, then select Enable test mode in the General section and save changes. Use a staging store where possible so customers aren’t trying to place live orders while testing is enabled.
Run these four checks using Stripe’s test payment details:
- Successful payment. Add a product, proceed to checkout, and use a success test card such as
4242 4242 4242 4242, a future expiry date, and any three-digit CVC. Confirm that checkout reaches the order-received page. - Declined payment. Use the documented decline scenario to see whether checkout gives the customer a useful error and avoids marking the order paid.
- Authentication. Use Stripe’s authentication test scenario to check the extra verification flow when required.
- Order and payment match. Open the test order in WooCommerce and follow its linked Charge ID to Stripe. Compare the amount, currency, payment result, and order notes so a thank-you page isn’t your only evidence.
Use test card numbers only while the integration is in test mode. For wallets or other payment methods, follow their specific test instructions instead of assuming the card scenario covers every method.
When testing is complete, disable Enable test mode, save changes, and recheck the intended live account, payment methods, and Live webhook status. Don’t swap test keys for live keys as a routine step in this authorization-based setup.
If the account is restricted to testing, complete the required Stripe onboarding first. WooCommerce documents that a test-only account cannot disable test mode until the account is ready for live use.
Check common setup problems
Start with the failed stage rather than reinstalling the gateway.
Start with the failed stage rather than reinstalling the gateway. These checks help narrow down where the payment flow stopped:
| Symptom | What to check first |
|---|---|
| Connection is incomplete | Review the connected account and outstanding Stripe verification or reauthorization prompts. |
| A wallet or local payment method is missing | Check that it is enabled and eligible for the account, currency, customer location, device, and domain. |
| Stripe shows a payment but the order isn't updated | Match the payment to the order and inspect webhook configuration, recent delivery status, and order notes. |
| A test payment isn't where you expect | Check the selected Stripe account and mode in both systems before searching the dashboard again. |
| Funds are authorized but not captured | Review the capture setting and payment status before treating the authorization as collected revenue. |
For a persistent failure, enable error logging as described in WooCommerce’s Stripe troubleshooting guide. Use the order reference, payment identifier, and recorded error to investigate the specific attempt; avoid repeatedly changing unrelated settings.

Bring WooCommerce and Stripe reporting together
Once checkout works, you can review sales in WooCommerce analytics and payment activity in Stripe. Both provide useful reports, but they answer different questions about orders, payments, and payouts.
For several stores or multiple Stripe accounts, a consolidated reporting view can reduce dashboard switching. Putler supports connected WooCommerce and Stripe data for sales, customer, product, and subscription analysis, as described in its feature guide.

Before comparing totals, align the reporting period, currency, and treatment of refunds. When connecting a store and its payment gateway, check how overlapping transactions are handled; adding two dashboards’ sales totals can count the same sale twice.
Check the available data sources and features for your plan rather than assuming unlimited accounts. Reporting helps you understand recorded business activity; it doesn’t replace the gateway’s account, webhook, or checkout checks.
Confirm checkout before accepting live orders
Finish with a verified test order and matching Stripe payment, then confirm your live account and webhook settings. Keep the order and payment references available for troubleshooting; those records are more useful than a connected badge alone.
FAQ
Is the WooCommerce Stripe plugin free?
The official WooCommerce Stripe Payment Gateway plugin is free to install. Stripe charges for payment processing, and fees vary by account country, payment method, and agreement. Optional services and paid extensions can add costs, so check the applicable Stripe pricing rather than treating a free gateway plugin as free payment processing.
Do I need Stripe API keys to connect WooCommerce?
For the current official extension’s standard setup, use Create or connect an account and authorize the account connection. Copying publishable and secret keys is not the normal setup route described in this guide. Older installations may need reauthorization; follow WooCommerce’s current migration instructions rather than reusing a legacy key-entry tutorial.
Do I have to connect Stripe test mode separately?
Yes. WooCommerce’s initial Stripe account connection connects live mode; test mode requires a separate connection from the Test tab under Configure connection. After connecting, enable test mode and save changes before using test payment details. Return to the intended live configuration after testing, and verify the Live webhook status again.
Does WooCommerce Subscriptions use Stripe Billing?
No. The official Stripe extension’s integration with WooCommerce Subscriptions does not use Stripe Billing to manage renewals. WooCommerce Subscriptions schedules the recurring payments and uses the gateway to charge supported saved payment methods. Those charges appear as Stripe payments; they do not become subscriptions managed in Stripe Billing. See WooCommerce’s explanation.
