Payments 9 min read

WooCommerce Stripe Integration: Payment Gateway Setup (2025)

Set up Stripe payments for WooCommerce. Accept credit cards, Apple Pay, Google Pay, and buy now pay later. Complete configuration and optimization guide.

Quick Answers

Is WooCommerce Stripe free?

The WooCommerce Stripe plugin is free. You only pay Stripe's transaction fees (2.9% + $0.30 per transaction in the US). There are no additional gateway or plugin fees.

What payment methods does WooCommerce Stripe support?

WooCommerce Stripe supports credit/debit cards, Apple Pay, Google Pay, Klarna, Affirm, Afterpay, iDEAL, SEPA, Alipay, WeChat Pay, and many more local payment methods.

Stripe is a leading payment processor for WooCommerce stores. This guide covers complete setup and optimization for accepting payments worldwide.

WooCommerce
integrates with
Stripe
Payments
TOP PICK

WooCommerce Stripe Gateway

Payments Integration for WooCommerce
3.1
219 reviews
Price
Free
Active Users
700,000+
Last Updated
2025-12-21

Why Choose Stripe for WooCommerce?

Stripe advantages:

FeatureBenefit
Wide payment supportCards, wallets, BNPL, local methods
Developer-friendlyEasy integration, good documentation
Global reach135+ currencies, 40+ countries
Modern checkoutClean, conversion-optimized UI
Fraud protectionRadar machine learning

Stripe is ideal for:

  • International selling
  • Subscription products
  • Modern checkout experience
  • Advanced payment needs

Stripe Fees

Standard Transaction Fees

Transaction TypeUS Fee
Domestic cards2.9% + $0.30
International cards3.9% + $0.30
Currency conversion+1%
Chargeback$15 (refunded if won)

Alternative Payment Methods

MethodFee
Apple Pay / Google PaySame as cards
ACH Direct Debit0.8% (max $5)
KlarnaVariable
AffirmVariable

Installing Stripe Plugin

Step 1: Install Plugin

From WordPress:

  1. Go to Plugins > Add New
  2. Search “WooCommerce Stripe Payment Gateway”
  3. Click Install Now
  4. Click Activate

Or download from:

  • WordPress.org plugin repository
  • WooCommerce marketplace

Step 2: Get Stripe API Keys

  1. Log into Stripe Dashboard
  2. Go to Developers > API Keys
  3. Copy Publishable key and Secret key
  4. Note: Use test keys for testing

Step 3: Connect to WooCommerce

  1. Go to WooCommerce > Settings > Payments
  2. Click Stripe or Set up
  3. Enter API keys
  4. Configure settings
Data Flow
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#e0f2fe', 'primaryTextColor': '#0369a1', 'primaryBorderColor': '#0369a1', 'lineColor': '#64748b', 'secondaryColor': '#f0fdf4', 'tertiaryColor': '#fef3c7'}}}%% graph LR A[WooCommerce Store] -->|Data Sync| B[WooCommerce] B -->|Bi-directional| C[Stripe]
Real-time sync Scheduled sync

Step 4: Configure Settings

Essential settings:
├── Enable/Disable: On
├── Title: Credit Card (Stripe)
├── Description: Pay securely with card
├── Test mode: Enable for testing
├── API Keys
│   ├── Test Publishable Key
│   ├── Test Secret Key
│   ├── Live Publishable Key
│   └── Live Secret Key
├── Webhook
│   └── Set up for real-time updates
└── Payment Methods
    ├── Cards
    ├── Apple Pay
    ├── Google Pay
    └── Others

Payment Methods Setup

Credit/Debit Cards

Enabled by default:

  • Visa, Mastercard, Amex
  • Discover, JCB, Diners Club
  • Card number, expiry, CVC

Apple Pay

Enable Apple Pay:

  1. Verify domain with Stripe
  2. Enable in plugin settings
  3. Available on Safari/iOS

Domain verification:

  1. Download verification file from Stripe
  2. Upload to .well-known directory
  3. Confirm in Stripe dashboard

Google Pay

Enable Google Pay:

  1. Enable in plugin settings
  2. Automatic for supported browsers
  3. Chrome, other browsers

Buy Now Pay Later

Enable BNPL options:

ProviderAvailabilityPayment
KlarnaUS, UK, EU4 installments
AfterpayUS, AU, NZ4 installments
AffirmUSFinancing

Setup:

  1. Enable in Stripe dashboard
  2. Toggle on in plugin
  3. Configure messaging

Local Payment Methods

Enable based on customer regions:

RegionMethods
EuropeiDEAL, Bancontact, SEPA
AsiaAlipay, WeChat Pay
BrazilBoleto
PolandP24

Webhook Configuration

Why Webhooks Matter

Webhooks ensure:

  • Real-time payment status
  • Refund synchronization
  • Dispute notifications
  • Subscription updates

Setup Steps

  1. Go to Stripe Dashboard > Developers > Webhooks
  2. Click Add endpoint
  3. Enter: https://yoursite.com/wc-api/wc_stripe
  4. Select events:
    • charge.succeeded
    • charge.failed
    • charge.refunded
    • payment_intent.succeeded
    • payment_intent.payment_failed
  5. Copy webhook secret to WooCommerce settings

Checkout Optimization

Stripe Elements

The modern inline payment form:

  • Clean card input
  • Real-time validation
  • Error messaging
  • PCI compliance

Express Checkout

Enable fast checkout buttons:

  • Cart page
  • Product pages
  • Checkout page
Express checkout placement:
├── Product page: Above add to cart
├── Cart page: Top of cart
└── Checkout: Payment section

Mobile Optimization

Stripe automatically optimizes for mobile:

  • Touch-friendly inputs
  • Auto-fill support
  • Digital wallet buttons prominent

Security Features

Stripe Radar

Fraud prevention included:

  • Machine learning detection
  • Rule-based blocking
  • Manual review tools

3D Secure

Enable 3D Secure for added protection:

  1. Enable in Stripe settings
  2. Automatic for high-risk
  3. Configure rules as needed

PCI Compliance

Stripe handles PCI compliance:

  • Card data never touches your server
  • Stripe Elements are PCI compliant
  • Reduces your compliance burden

Subscriptions Setup

WooCommerce Subscriptions + Stripe

For recurring billing:

  1. Install WooCommerce Subscriptions plugin
  2. Stripe handles recurring charges
  3. Customer payment methods stored
  4. Automatic retry on failure

Features

  • Automatic renewal billing
  • Failed payment retry
  • Customer portal for card updates
  • Proration handling

Troubleshooting

Payment Declined

Common reasons:

  • Insufficient funds
  • Incorrect card details
  • Bank security block
  • Card expired

Solutions:

  1. Ask customer to verify details
  2. Try different card
  3. Contact issuing bank
  4. Check Stripe dashboard for reason

Webhook Issues

Symptoms:

  • Orders stuck in pending
  • Refunds not syncing

Solutions:

  1. Verify webhook URL correct
  2. Check webhook secret
  3. Review webhook logs in Stripe
  4. Test webhook delivery

Express Checkout Not Showing

Causes:

  • Domain not verified
  • HTTPS not enabled
  • Browser not supported

Solutions:

  1. Verify domain in Stripe
  2. Ensure SSL certificate
  3. Test in supported browser
  4. Check console for errors

Testing

Test Mode

Use test mode before going live:

  1. Enable test mode in settings
  2. Use test API keys
  3. Process test transactions

Test Card Numbers

CardNumber
Visa (success)4242 4242 4242 4242
Visa (decline)4000 0000 0000 0002
3D Secure4000 0000 0000 3220
Mastercard5555 5555 5555 4444

Test any expiry date (future) and any CVC.

Stripe vs Alternatives

FeatureStripePayPalSquare
Card fee2.9% + $0.302.9% + $0.302.9% + $0.30
SetupEasyEasyModerate
WalletsApple/Google PayPayPalSome
BNPLKlarna, AffirmPay LaterAfterpay
SubscriptionsExcellentLimitedLimited

Best Practices

Checkout Experience

  • Offer multiple payment methods
  • Enable express checkout
  • Clear error messages
  • Mobile-optimized design

Security

  • Enable Radar fraud protection
  • Use 3D Secure appropriately
  • Keep plugin updated
  • Monitor transactions

Conversion

  • Test checkout regularly
  • Minimize form fields
  • Show security badges
  • Offer local payment methods

2025 Snapshot

Quick benchmarks for the Stripe workflow. Use these as planning ranges, then validate against your own data.

Data point20242025Why it matters
Typical online card processing fee~2.9% + $0.30~2.9% + $0.30Directly impacts gross margin
Typical payout time2–5 business days2–3 business daysCashflow planning for inventory and ads
Chargeback rate benchmark<1%<1%Helps avoid account/risk issues as you scale
Implementation time (basic)10–30 min10–30 minUseful for launch checklists

Practical Implementation Notes

Data sync and ownership

Most WooCommerce integrations follow the same lifecycle: a one‑time historical import (customers, products, orders) followed by ongoing incremental updates via API/webhooks. In practice, the biggest failures come from identity and mapping—not from missing features. Before you activate anything customer‑facing, decide which system is the source of truth for customer identity (email vs phone), consent flags, segmentation, and lifecycle fields.

Treat the first week as a controlled rollout. Start with a small segment (internal addresses or a low‑risk cohort), validate that events fire exactly once, and then scale automation volume. This approach prevents silent double‑sending, broken attribution, and hard‑to‑debug “it looks connected but nothing happens” situations.

QA checklist (run once, then reuse)

Use a seed dataset (test customers, a few SKUs, a low‑value test order) to run an end‑to‑end path: signup → first purchase → fulfillment → refund. Confirm that reporting matches your store’s order IDs and timestamps.

Operational checks:

  • App permissions/scopes match the features you actually use
  • Timezone aligns across scheduled sends, reporting windows, and dashboards
  • Edge cases are represented correctly (partial refunds, cancellations, multi‑location fulfillments)
  • Baselines are captured so you can measure lift after go‑live

Payments workflow notes

Treat payments as a risk + cashflow project, not just a toggle. Document who owns fraud review, disputes, and refunds. Decide whether you capture immediately or authorize first for high‑risk SKUs, and make sure refund behavior (partial refunds, shipping refunds, chargebacks) maps cleanly into your accounting workflow.

Practical checks:

  • Test a full refund, partial refund, and cancellation flow
  • Verify webhook reliability (don’t assume “created” means “paid”)
  • Confirm payout timing assumptions for inventory and ad spend planning

Next Steps

After setup:

  1. Test thoroughly - All payment scenarios
  2. Enable wallets - Apple/Google Pay
  3. Set up webhooks - Real-time updates
  4. Monitor transactions - Stripe dashboard
  5. Consider BNPL - Increase conversions

WooCommerce + Stripe implementation checklist (2025)

This section adds practical “make it stable” steps you can use after you install the app/connector. It’s intentionally lightweight: the goal is fewer sync surprises, cleaner reporting, and easier troubleshooting.

1) Quick setup checklist

  • Permissions first: grant only the scopes you need (orders/customers/products as required) and document who owns the admin credentials.
  • Data mapping: confirm how email, phone, currency, and SKU are mapped between WooCommerce and Stripe.
  • Historical import: decide how far back to import orders/customers (avoid importing years of data if you don’t need it).
  • Deduplication rules: pick one unique identifier per object (usually email for customers, order ID for orders) to prevent doubles.
  • Alerts: set a lightweight alert path (email/Slack) for failed syncs, auth expiry, and API rate limits.

2) Data you should verify after connecting

Most integration issues show up in the first hour if you test the right things. Use the table below as a QA checklist (create a test order if needed).

Data objectWhat to checkWhy it matters
CustomersEmail/phone format, marketing consent fields, duplicatesPrevents double messaging and broken segmentation
OrdersOrder total, tax, discount, shipping, currencyKeeps revenue reporting and automation triggers accurate
Line itemsSKU, variant ID, quantity, refunds/returns behaviorAvoids inventory and attribution mismatches
FulfillmentStatus changes + timestamps, tracking numbers, carrier fieldsDrives customer notifications and post-purchase flows
CatalogProduct titles, handles, images, collections/tagsEnsures personalization and reporting match your storefront

3) Automation ideas for Payments

  • Payout reconciliation: map payouts/fees to orders so finance can reconcile quickly.
  • Disputes flow: define escalation and evidence collection for chargebacks.
  • Multi-currency: standardize how you store/report currency and FX conversions.
  • Fraud review: set thresholds for manual review and keep notes attached to the order.
  • Refund policy: align refund status + accounting entries to avoid mismatched books.

API sanity check (WooCommerce REST API)

If your integration UI says “connected” but data isn’t flowing, a quick API call helps confirm whether the store is accessible and returning the objects you expect.

# List the 5 most recent orders (REST)
curl -u ck_your_key:cs_your_secret \
  "https://example.com/wp-json/wc/v3/orders?per_page=5&orderby=date&order=desc"

Tip: keep tokens/keys in environment variables, and test in a staging store/site before rolling changes to production.

4) KPIs to monitor (so you catch problems early)

  • Sync freshness: how long it takes for a new order/customer event to appear in Stripe.
  • Error rate: failed syncs per day (and which object types fail most).
  • Duplicates: number of merged/duplicate contacts or orders created by mapping mistakes.
  • Revenue parity: weekly spot-check that WooCommerce totals match downstream reporting (especially after refunds).
  • Attribution sanity: confirm that key events (purchase, refund, subscription) are tracked consistently.

5) A simple 30-day optimization plan

  1. Week 1: connect + map fields, then validate with 5–10 real orders/customers.
  2. Week 2: enable 1–2 automations and measure baseline KPIs (conversion, AOV, repeat rate).
  3. Week 3: tighten segmentation/rules (exclude recent buyers, add VIP thresholds, handle edge cases).
  4. Week 4: document the setup, create an “owner” checklist, and set a recurring monthly audit.

Related integration guides

Sources


Need PayPal too? See WooCommerce PayPal integration. For accounting, check WooCommerce QuickBooks.

Payment Integration Comparison

Compare key features across popular payments solutions

FeatureStripePayPalShopify PaymentsSquare
Transaction feePer-transaction cost2.9% + $0.302.9% + $0.492.4-2.9% + $0.302.6% + $0.10
Monthly feeFixed monthly cost$0$0$0$0
Payout speedTime to receive funds2 daysInstant2 days1-2 days
InternationalMulti-currency supportYesYesYesLimited
Fraud protectionBuilt-in fraud toolsAdvancedBasicYesYes
SetupImplementation complexityEasyEasyInstantEasy

Data based on publicly available information as of February 2026. Features and pricing may vary.