WooCommerce Stripe Setup in 15 Minutes: The Complete 2025 Guide
Published on
E-commerce

More than 800,000 WooCommerce stores worldwide use Stripe as their payment solution. The WooCommerce Stripe setup has become the reference for online merchants, largely because it fully supports credit cards, Apple Pay, Google Pay and even cryptocurrencies.
On top of that, with standard transaction fees of 2.9% + $0.30 per payment and no fixed monthly cost, this payment gateway offers excellent value for online stores.
In this detailed guide, we show you how to configure Stripe on your WooCommerce site in only 15 minutes, from the initial install right through to turning on advanced features such as Apple Pay and recurring payments.
Why choose Stripe for your WooCommerce store
Among the payment gateways available for WooCommerce, Stripe stands out as a strategic choice for merchants who want to lift their conversion rate and simplify their financial admin.
Book a web consultationHow Stripe compares to other payment gateways
Stripe offers a long list of strengths that explain its growing popularity with online merchants:
A wide range of payment methods : beyond traditional credit cards, Stripe supports digital wallets such as Apple Pay and Google Pay, plus buy now, pay later options like Klarna, Afterpay and Affirm.
Built-in fraud protection : Stripe Radar uses machine learning to detect and automatically block suspicious transactions, with no complicated setup.
An optimized buying experience : businesses using the new Stripe checkout experience reported an average revenue increase of 11.9%.
Payment taken directly on your site : unlike other solutions, customers complete their payment without being redirected to a third-party site, which cuts cart abandonment.
Another significant advantage: Stripe integrates smoothly with the other essential tools you already run, such as your accounting software and your marketing platforms.
Pricing and transaction fees in 2025
When it comes to pricing, Stripe takes a transparent, no-surprises approach:
For transactions in Canada, the standard cost is 1.50% + $0.30 for common cards such as Visa and MasterCard. International cards from outside the EEA are billed at 3.25% + $0.25, with an extra 2% for currency conversion.
Stripe also charges no setup fee and no monthly subscription, which makes the solution especially attractive for new online stores. Do note, however, that a $20 dispute fee applies when a payment is contested.
For one-click payments through LINK, the preferential rate of 2.9% + $0.35 applies, which encourages adoption of this fast payment method.
Compatibility with the Quebec market
Stripe has adapted well to the specifics of the Quebec market:
First, the platform strictly respects PCI-DSS security standards and automatically enables strong customer authentication (SCA), in line with regulatory requirements.
It is also compatible with the requirements of the GDPR and of Law 25 regarding the protection of personal information.
Finally, the payment interface adapts intelligently to the visitor's location, automatically showing translated error messages and adjusting input fields to local preferences, which creates a smooth buying experience for your customers.
What you need before installing the WooCommerce Stripe plugin
Before diving into the installation of the WooCommerce Stripe plugin for WordPress, three essential prerequisites have to be in place to guarantee a successful and secure integration of this payment gateway.
Creating a Stripe account
First, you need to create a business account on the Stripe platform. The process is fairly simple:
Go to the official Stripe website and click "Create an account"
Fill in the requested information: email address, name, country and your business details
Confirm your email to activate your account
Be aware that Stripe will ask for detailed information about your commercial activity and how you plan to use their services. You will also need to provide the details of the business bank account where your payments will be deposited. This verification is essential to fully activate your account and leave test mode.
Setting up your SSL certificate
Next, installing an SSL certificate on your site is absolutely essential to run Stripe in live mode. This certificate establishes a secure, encrypted connection and guarantees that your customers' sensitive data is protected.
You have several options for getting an SSL certificate:
Use Let's Encrypt, which issues free certificates
Buy a paid certificate from a recognized certificate authority
Check whether your hosting provider offers SSL certificate installation
Once it is installed, your site will be served over HTTPS and the familiar padlock will appear in your visitors' address bar. Note that an SSL certificate is not only mandatory for Stripe, it is also required to meet the PCI DSS standard governing the security of cardholder data.
Checking that your WordPress theme is compatible
Finally, before installing the plugin, check that your WordPress theme is compatible. Some themes can conflict with payment extensions such as Stripe for WooCommerce.
To test compatibility:
Temporarily switch to a default WordPress theme (such as "Twenty Twenty-Five")
If the problem disappears, your original theme is probably the source of the conflict
Make sure your theme follows WordPress standards and best practices
Also check that your site runs recent versions of PHP, WordPress and WooCommerce, since these are essential for the Stripe extension to work properly.
Downloading and installing the WooCommerce Stripe Gateway plugin
Now that your Stripe account is set up and every prerequisite is checked off, it is time for the crucial step: installing the WooCommerce Stripe Gateway plugin on your online store. You have two main methods, each with its own advantages depending on your situation.
Installing from the WordPress plugin directory
Installing directly from the WordPress directory is the simplest and fastest method:
Log in to your WordPress dashboard
Go to Plugins > Add New
In the search bar, type "WooCommerce Stripe Gateway"
Find the official extension developed by WooCommerce (not one published by another vendor)
Click Install Now
Once the install finishes, click Activate
This method guarantees that you are installing the official, up-to-date version of the plugin, maintained directly by the WooCommerce and Stripe teams. Before you install, it is also worth checking whether the plugin is already present in your list of installed extensions.
Installing the ZIP file manually
If the automatic install gives you trouble, or if you want a specific version of the plugin, the manual method remains a reliable alternative:
Go to the official WooCommerce website or to WordPress.org
Download the ZIP file for the WooCommerce Stripe Gateway plugin
Return to your WordPress dashboard
Go to Plugins > Add New
Click the Upload Plugin button at the top of the page
Select the ZIP file you downloaded earlier
Click Install Now and then Activate Plugin
To make sure the plugin runs properly, confirm that your server meets the minimum requirements: PHP 5.6 or higher and WordPress 5.6 or newer. That said, for optimal performance and stronger security, the most recent versions of PHP and WordPress are strongly recommended.
Once the installation is complete, you will need to configure the plugin by entering your Stripe API keys and tailoring the payment options to your needs, steps we cover in the following sections of this guide.
Setting up your Stripe API keys
Authentication between your WooCommerce site and the Stripe servers happens through API keys. These unique credentials are essential to establish secure communication between your store and the payment gateway.
Where to find your API keys in the Stripe dashboard
To retrieve your Stripe API keys and add them to your WooCommerce Stripe Gateway plugin, follow these steps:
Log in to your Stripe account
In your dashboard, find and click the Developers button on the right-hand side of the screen
Select the API keys tab in the left-hand menu
There you will find your publishable and secret keys for both test and live modes
Keep in mind that these API keys work like passwords that allow your site and the Stripe servers to interact. The publishable key can appear in client-side code, while the secret key must be handled exclusively on your server and never exposed publicly.
The difference between test keys and live keys
Stripe runs two distinct environments, each with its own API keys:
Test keys (prefixed with "sk_test_" and "pk_test_") are used to simulate transactions without processing real payments. They let you test the Stripe integration on your WooCommerce store with no financial risk. In this environment, you can use the specific test card numbers Stripe provides.
Live keys (prefixed with "sk_live_" and "pk_live_") process genuine transactions and really move money. In live mode, every transaction is real and billed.
For security reasons, Stripe shows you the live secret key only once. Make sure you store it somewhere safe. If you do lose it, though, there is no need to panic: you can always revoke it and generate a new one in your Stripe dashboard.
Basic configuration of the Stripe for WooCommerce plugin
Once you have your API keys, the next step is to configure the WooCommerce Stripe plugin correctly to get the most out of your payment experience. This configuration happens in your WordPress dashboard, under WooCommerce > Settings > Payments > Stripe > Settings.
General settings
The first section of the settings controls whether Stripe is enabled and how it is presented to your customers. The Enable Stripe option determines whether Stripe payment methods appear at checkout. Note that this option does not deactivate the extension itself: to do that, you have to disable the plugin entirely.
The Enable test mode checkbox lets you switch between the test environment and the live one. Unless you are running tests on payments, refunds or similar processes, this option should stay off for your real customers.
Customizing the payment form
WooCommerce Stripe uses Stripe Elements to display the credit card fields on your checkout pages. That gives you the ability to customize how those fields look so they match your site's visual identity.
Every field is rendered inside an iframe for security. You can change the appearance of the field containers using CSS selectors such as .wc-stripe-elements-field to target all fields at once, or specific IDs such as #stripe-card-element for the card number.
You can also turn on the Compact payment form option to group all card fields into a single container, simplifying the checkout interface and potentially improving your conversion rate.
Setting up Stripe webhooks
To guarantee two-way communication between your WooCommerce store and the Stripe servers, setting up webhooks is an essential step. These HTTP endpoints let Stripe send real-time notifications to your site when important events occur, such as successful payments or refunds.
Creating the webhook endpoint
Webhooks act as a messaging system between Stripe and your site. Here is how to create your webhook endpoint:
Log in to your Stripe account
In the left-hand menu, go to Developers and then Webhooks
Click Add endpoint
For the official WooCommerce Stripe plugin, the endpoint URL usually follows this format:
https://www.yoursite.com/?wc-api=wc_stripeSelect the specific events you want to receive, in particular
checkout.session.completed,payment_intent.succeededandcharge.succeeded
Note that since version 8.6.1 of the WooCommerce Stripe plugin, webhooks are configured automatically when you connect to Stripe, which simplifies this process considerably.
Configuring the webhook secret key
To secure the communication and verify that requests genuinely come from Stripe:
Once the endpoint is created, Stripe generates a unique secret key for that webhook
Click Reveal the webhook key to display it
Copy that key (it usually starts with "whsec_")
In your WordPress dashboard, go to WooCommerce > Settings > Payments > Stripe > Settings
Find the webhooks section and paste your secret key
Testing the webhook connection
Before going live, test your webhooks to make sure they work properly:
Turn on test mode in the WooCommerce Stripe settings
Use the Stripe command line interface with
stripe listento monitor events
--forward-toPlace a test order using one of the test cards Stripe provides
Check that the
payment_intent.succeededevent appears in your log with the status[200
POST] OK
Correctly configured, your WooCommerce Stripe webhooks will keep your store perfectly in sync with Stripe, especially for order status updates and payment processing.
Configuring advanced payment methods
Adding advanced payment methods is a major lever for improving your store's conversion rate. The WooCommerce Stripe plugin makes it easy to add these modern, convenient options.
Turning on Apple Pay in WooCommerce Stripe
Apple Pay is easy to enable through the Stripe for WooCommerce extension. It is turned on from the same settings as Google Pay, since the two options go together. Your site must have a valid SSL certificate and run on HTTPS.
If you use the official WooCommerce Stripe plugin, domain verification happens automatically, unlike other payment gateways that require a manual procedure. Once enabled, the Apple Pay button can appear in three strategic places: on product pages, in the cart and on the checkout page.
Also remember that Apple Pay works only in the Safari browser and requires a compatible device (iPhone 6 or newer, iPad Pro, iPad Air 2 and so on).
Setting up Google Pay
To enable Google Pay through WooCommerce Stripe, follow these simple steps:
Go to Payments > Settings in your dashboard
Scroll to the Express Checkouts section
Tick the box for Apple Pay / Google Pay
Scroll to the bottom of the page
Click Save changes
Configured this way, Google Pay will appear only for customers signed in to their Google account with a saved payment method. You can customize the button's appearance by clicking Customize in the Express Checkouts section, adjusting its size, its style and the pages where it shows up.
Turning on test mode to verify your integration
Once all the technical settings are in place, it is crucial to verify that your Stripe integration works before you accept real payments. Stripe's test mode lets you simulate transactions without moving any real money.
Using Stripe test cards
To turn on test mode in WooCommerce Stripe, follow these steps:
Go to WooCommerce > Settings > Payments > Stripe
Tick the Enable TEST mode box
Make sure you have entered your test API keys (starting with "pk_test_" and "sk_test_")
Save your changes
In test mode, Stripe lets you use specific card numbers to simulate different kinds of transactions. For example, to simulate a successful payment you can use the card 4242 4242 4242 4242 with any future expiry date and any three-digit CVC.
To see these test transactions in your Stripe dashboard, turn on the View test data option in the left sidebar.
Simulating different payment scenarios
Stripe's test mode lets you simulate a range of payment scenarios:
Successful payments : use the card 4242 4242 4242 4242
Declined payments : try the card 4000 0000 0000 0002 to simulate a decline
3D Secure authentication : the card 4000 0027 6000 3184 will trigger a 3DS challenge
Disputes and refunds : other specific cards let you test these particular cases
For a full test, add a product to your cart, go through checkout and enter the details of a test card. If your integration is set up correctly, you will be redirected to the order confirmation page.
You can also test express payment methods such as Apple Pay and Google Pay in test mode. For Google Pay, add a Stripe test card to your Google account. For Apple Pay, simply use your real details: nothing will be charged in test mode.
Do not forget to turn test mode off and swap your API keys for the live ones when you are ready to accept real payments.
Going live
Once your Stripe integration has been thoroughly tested, it is time to switch to live mode and start accepting real payments. This transition is technically simple, but it deserves careful attention so that real transactions do not run into trouble.
Final checks before you go live
Before switching your WooCommerce Stripe gateway to live mode, run through these essential checks:
Confirm that your SSL certificate is correctly installed and working, since it is absolutely mandatory to run Stripe in live mode
Make sure your code handles every possible error, not just the most common ones
Verify that your live webhook endpoints are correctly configured and behave like your test endpoint
Check that your logs store no confidential information such as cardholder data
Turn on 3D Secure authentication for an extra layer of security
Also note that Stripe objects created in test mode (products, prices, coupons) cannot be used in live mode. Recreate those objects in the live environment using the same ID values so your code keeps working.
Replacing your test keys with live keys
To switch to live mode:
Go to WooCommerce > Settings > Payments > Stripe
Untick the Enable TEST mode option
Replace your test API keys with your live keys
Save your changes
As a security measure, change your API keys right before going live, in case they were saved somewhere else during development. Note that Stripe displays secret or restricted API keys only once in live mode. Store them somewhere secure, because if you lose them you will have to invalidate them and create new ones.
After the switch, place a test order with a real card to confirm that everything works. From then on, the card networks and payment providers will genuinely process transactions and you will be able to accept real payments in your WooCommerce store.
Customizing the payment experience
A customized payment experience builds considerable customer trust while reinforcing your brand's visual identity. Here is how to adapt the Stripe payment interface to the look of your WooCommerce store.
Changing the appearance of the payment form
The payment form generated by the WooCommerce Stripe extension is hosted on a PCI-compliant server. As a result, applying CSS styles directly will not work as expected. To customize the appearance of the fields, you will need to add custom PHP code through your theme's functions.php file or an extension such as Code Snippets.
The Stripe Elements API offers three levels of customization:
Preset themes : the "stripe", "night" and "flat" styles, for a quick change
Variables : control several components at once
Rules : allow granular customization of each individual element
To target every field at once, use the .wc-stripe-elements-field selector. To change specific fields, use their IDs, such as #stripe-card-element for the card number or #stripe-exp-element for the expiry date.
Remember that WooCommerce Stripe uses transients to cache styles. After any change, you will have to clear them to see the difference on your site.
Adding your logo to payment receipts
To strengthen your brand at every interaction with your customers, add your logo to Stripe payment receipts:
Log in to your Stripe dashboard
Go to the branding settings
Upload your logo (JPG or PNG format, under 512 KB, minimum resolution of 128 x 128 pixels)
You can also customize:
The brand colour applied to receipts, invoices and the customer portal
The accent colour used as the background for emails and pages
These branding settings apply globally to your account and show up on receipts, emails and payment pages, giving your customers a consistent visual experience across every touchpoint.
Optimizing your checkout page to increase conversions
Did you know that more than 70% of online shopping carts are abandoned before the purchase is completed? That alarming statistic shows why optimizing your checkout page with WooCommerce Stripe matters so much for conversions.
Simplifying the checkout process
Checkout is often the last line of defence against cart abandonment. Every extra step or field can become an obstacle for your customers. Tempting as it is to collect as much information as possible or to push additional products, stay focused on the main goal: making the purchase easy.
Here is how to simplify your checkout funnel with WooCommerce Stripe:
Keep required fields to a minimum : remove every non-essential field and ask only for the information you strictly need
Offer guest checkout : roughly 21% of abandoned carts are caused by a checkout process that is too complex or too long
Turn on express options : add Apple Pay and Google Pay, which allow one-click payments and dramatically reduce friction
Stripe Checkout is also a preconfigured solution designed to minimize the number of steps a customer has to go through to buy. This mobile-optimized interface localizes itself automatically based on the customer's location, which improves the user experience.
Reducing cart abandonment
Businesses using the new Stripe checkout experience reported an average revenue increase of 11.9%. That is largely explained by Stripe's ability to solve the main causes of cart abandonment.
First, make sure you display every fee from the very start of the buying process. Shoppers frequently abandon their cart when they discover unexpected charges at checkout.
Next, add trust elements such as Stripe security badges. They reassure your customers that their personal and financial data is protected.
Finally, do not overlook retargeting. Despite your best efforts, some abandonment is inevitable, but it is not always a lost cause. Follow-up emails or targeted ads can bring hesitant visitors back by reminding them of the value they first saw in your product.
Adding WooCommerce Stripe Terminal for in-person payments
Extending your WooCommerce store beyond the digital world becomes possible with Stripe Terminal, which brings your online and in-person sales together in a single system.
Choosing the hardware you need
To accept in-person payments through Stripe Terminal, you first have to pick the hardware that suits your needs. You have several options:
The Stripe M2 reader : a compact Bluetooth device, ideal for mobile payments
The Tap to Pay option on iPhone (XS or newer running iOS 16+) or Android (running Android 11+), which lets you accept payments with no extra hardware
Smart readers such as the Stripe S700 or the BBPOS WisePOS E for a more complete experience
To use Stripe Terminal with WooCommerce, you also need a stable internet connection over WiFi or cellular data, and the latest version of the Woo mobile app. A US Stripe account in good standing is required to access this feature.
To connect your M2 reader, first turn on Bluetooth on your mobile device, then hold the reader's power button for one second. In the Woo Mobile app, open the Payments menu and follow the instructions to finish pairing.
Syncing with your online store
Connecting Stripe Terminal to your existing WooCommerce store lets you manage in-person and online sales from one place. That means you can follow a complete customer history and simplify your financial reporting.
Stripe Terminal also offers three ways to create orders and collect payments:
Orders created on the spot : create a new order straight from the mobile app by scanning your product barcodes or selecting products manually
Payment for online orders : let customers order on your site with the "pay on delivery" option, then pay in person by card
For receipt printing, if your mobile device has WiFi access you can use any printer compatible with AirPrint (iOS) or Mopria (Android). WiFi Direct printers, such as the Brother RJ-4250WB-L, have their own WiFi access point so they can print without an external network.
In short, Stripe Terminal turns your mobile device into a genuine payment terminal, extending your WooCommerce Stripe gateway into physical commerce while keeping management centralized.
Managing subscriptions and recurring payments with Stripe
Building recurring revenue is a major asset for any online store. Adding subscriptions through the WooCommerce Stripe gateway lets you fully automate billing and keep customers loyal over the long term.
Setting up subscription products
There are two main approaches to creating subscription products with WooCommerce Stripe:
The WooCommerce Subscriptions extension for Stripe : built by the WooCommerce team, it is the most complete way to manage recurring payments. Once activated, this extension adds two new product types: the simple subscription and the variable subscription.
When you create a subscription product, you can define several essential parameters:
The billing frequency (monthly, weekly, twice a year and so on)
An optional free trial period before the first charge
The price and the length of the subscription
If you sell digital services, remember to tick the "Virtual" box in the product options. Once configured, your customers can buy these subscriptions like any other product, and Stripe will then charge them automatically on the schedule you set.
Managing automatic renewals
The strength of the WooCommerce and Stripe pairing lies in fully automating the billing cycle. When a new cycle starts, the system automatically generates an invoice and attempts to complete the payment.
To improve your renewal success rate:
Turn on the "Enable automatic retry for failed recurring payments" option
Configure Stripe's Smart Retries feature, which intelligently retries failed payments and recovers an average of 57% of them
If a payment keeps failing, the subscription status changes to "past_due". To handle those situations effectively, set up a webhook so you get notified when the status changes.
Give your customers a secure portal where they can manage their own subscriptions: update their payment details, change their plan or review their billing history. That autonomy significantly improves the user experience while reducing your workload.
Troubleshooting common problems
Even with careful configuration, WooCommerce Stripe integrations can sometimes misbehave. Identifying the source of the problem quickly lets you restore your payment system without losing potential customers.
API connection errors
The error "There was a problem connecting to the Stripe API endpoint" usually appears when cURL requests are not working properly. Several factors can be to blame:
An outdated PHP version : make sure your server runs a recent version of PHP and of the cURL library
Server memory limits that are too low to process the requests
DNS problems : your host may need to switch to OpenDNS
Firewalls or security modules (such as mod_security) blocking outbound cURL requests
To fix these problems, first check your API keys under WooCommerce > Settings > Payments > Stripe > Settings > Account details. If the error persists, contact your hosting provider so they can review your PHP settings, your firewall configuration and other server settings.
Webhook problems
Webhooks exist to pass events from Stripe to your site. Three errors come up particularly often:
TLS error : Stripe cannot establish a secure connection with your server. Use a tool such as SSL Labs to detect and resolve TLS certificate problems
Timeout : your server takes too long to respond. To fix this, optimize your code so it returns a 2xx code quickly, then run long tasks in the background
HTTP 4xx/5xx error codes : these errors mean your server received the request but could not process it
Failed payments
Failed payments accounted for more than $118 billion in losses for the global economy in 2020. These failures are generally caused by:
Customer-related factors : insufficient funds, incorrect details, expired cards or bank account restrictions
Technical problems : errors on your site, a misconfigured payment gateway or outdated software
Security issues : fraud detection algorithms blocking legitimate transactions
To reduce these failures, turn on Stripe's Smart Retries option, which intelligently retries failed payments. Also clean up your database every time you change your Stripe API keys, since outdated customer IDs can cause validation failures.
Security and Law 25 and GDPR compliance with WooCommerce Stripe
Data security is a fundamental concern for any e-commerce site handling payments. The WooCommerce Stripe integration offers several layers of protection to keep transactions confidential.
Protecting payment data
WooCommerce Stripe uses Stripe Elements to host the payment forms, which means sensitive data travels directly to Stripe's secure servers and is never stored on your site. That architecture means you automatically benefit from Stripe's PCI DSS Level 1 compliance, the strictest standard in payment security.
Stripe also uses several advanced technologies to protect transactions:
Tokenization : card details are replaced by secure identifiers, so the data is useless in the event of a breach
Dynamic 3D Secure : an extra layer of authentication that shields you from liability in cases of fraud
Stripe Radar : a machine-learning anti-fraud system that analyzes hundreds of thousands of transactions to spot suspicious behaviour
Two-factor authentication for access to your Stripe Dashboard further strengthens the security of your admin account.
The bottom line
Pairing Stripe with WooCommerce is a robust, complete way to handle payments for your online store. This gateway strikes a perfect balance between ease of use and advanced features.
The many payment options, the reinforced security and the regulatory compliance make Stripe a strategic choice for Canadian online merchants. The initial configuration does demand careful attention, but it stays accessible thanks to automated tools and detailed documentation.
That said, keep in mind that the success of your integration depends largely on meticulous configuration and thorough testing. Correctly configured webhooks, payment methods suited to your market and an optimized user experience are the pillars of a successful integration.
Finally, the flexibility of WooCommerce Stripe lets you grow with confidence, whether you run a small shop or a large-scale e-commerce platform. The solution adapts to your needs while guaranteeing a smooth, secure payment experience for your customers.
Custom Software Development: Which Part to Build
August 31, 2026
Custom software or an off-the-shelf package? The decision comes down to the slice of your work that falls outside your tools, and to the hours your people spend covering the gap.
How to Plan a Custom Software Project When Tech Is Not Your Trade
August 31, 2026
Handing your development firm a clear requirements brief is what lets it grasp your expectations and your context before it quotes your custom software project.
Moving Company Software for Quebec and Canada
August 13, 2026
MFlow is moving company software that builds online quotes, takes credit card payments and texts your customer 48 hours before the move. On sale at the end of August 2026.
SEO Agency in Québec City: Rank Higher, Win More Local Customers
July 1, 2026
Working with an SEO agency in Québec City is how local businesses climb Google. Inside: audits, keyword research, content, backlinks and 9 years of Quebec expertise from CyberPerformance.
360 Virtual Tour Photographer: Immersive Tours for Your Business
July 1, 2026
A Google-certified 360 virtual tour photographer turns your space into an immersive tour published straight to Google Maps, lifting your local visibility, your engagement and your sales.
Web Content Writing in 2025: The Practical Guide to Getting Started
July 1, 2026
Web content writing made practical: learn to write for the web, master SEO, build a portfolio and launch your career as a freelance writer.

