Chykalophia Docs
WooCommerce

Accepting credit cards (Stripe & more)

How to accept credit and debit card payments in WooCommerce using Stripe, WooPayments, or another card processor.

Difficulty
Beginner

Accepting credit and debit cards is essential for most online stores. This guide explains your two main options, both of which run on Stripe behind the scenes, and walks you through getting set up.

Quick summary

Install either WooPayments (Woo's own payments plugin, formerly called WooCommerce Payments) or the Stripe for WooCommerce extension. WooPayments creates a new payments account for you during its sign-up; the Stripe extension connects to a new or existing Stripe account. Use test mode to check everything works, then turn test mode off to take real payments. Your customers can then pay by credit or debit card.

Why Stripe?

Many online businesses use Stripe to take payments. The Stripe extension supports:

  • Credit and debit cards (Visa, Mastercard, American Express, Discover, Diners, and more)
  • Express checkouts such as Apple Pay, Google Pay, and Link
  • Buy now, pay later options such as Klarna, Afterpay, and Affirm, built into the extension
  • Businesses in many countries: Stripe lists where it's available on its global availability page, and once you're set up you can sell to customers anywhere in the world

Stripe's standard pricing is pay-as-you-go: a percentage plus a small fixed fee on each successful card payment, with no setup or monthly fees. Rates vary by country and payment type. Check stripe.com/pricing for current rates in your country.

Option 1: WooPayments (simplest)

WooPayments (formerly WooCommerce Payments) is Woo's own payments plugin. It's free to install, it's built in partnership with Stripe, and you manage payments, refunds, disputes, and payouts from your WordPress dashboard. It creates a new Stripe Express account for you: you can't connect an existing Stripe account to it, and you don't get the full Stripe Dashboard.

Go to WooCommerce → Settings → Payments.

Find "Accept payments with Woo" in the list and click Install. This installs WooPayments. If you don't see the option, install WooPayments from Plugins → Add Plugin instead.

Follow the sign-up steps. If you aren't taken there automatically, go to Payments and click Complete setup. You'll choose your payment methods, connect a WordPress.com account (you can create one), then enter your business details and verify them with Stripe. Choose your country carefully: it can't be changed later.

Enable test mode under Payments → Settings (tick Enable test mode) to verify everything works before going live.

Turn off test mode when you're ready to accept real payments. (If you picked test payments during sign-up, that creates a test account, which can't take real payments.)

Option 2: Stripe plugin (more control)

If you want to use Stripe's full dashboard and features directly, or you already have a Stripe account, install the Stripe extension. It's the official plugin created by Stripe and WooCommerce, and it's listed on WordPress.org as WooCommerce Stripe Payment Gateway.

Install the Stripe extension. Go to Plugins → Add Plugin, search for "WooCommerce Stripe Gateway", and install the Stripe plugin by WooCommerce.

Activate the plugin.

Go to WooCommerce → Settings → Payments and click Complete setup next to Stripe.

Click Create or connect an account. You'll be sent to Stripe to log in to your existing Stripe account or create a new one, then returned to your WordPress dashboard. You don't need to copy API keys by hand.

Connect test mode too. Test mode is a separate connection. In the Stripe settings, click Configure connection, open the Test tab, and click Create or connect a test account. Then tick Enable test mode in the General section and click Save Changes.

Test a payment using Stripe's test card numbers (below).

Untick Enable test mode and save when you're ready to take real payments.

Never share your Secret key

If you ever handle Stripe API keys directly (for example, if a developer connects the extension with manually entered keys), treat the Secret key like a password. Never paste it anywhere public, share it in a message, or commit it to a code repository. If you believe it has been exposed, rotate it on the API keys page of your Stripe Dashboard immediately.

Testing before going live

Always test card payments before real customers use your store:

Test card numberResult
4242 4242 4242 4242Successful payment
4000 0000 0000 0002Card declined
4000 0025 0000 3155Requires authentication (3D Secure)

Use any future expiry date and any 3-digit CVC (4 digits for American Express cards) when testing. These are Stripe's test cards: use them only in test mode, and never test with real card details.

What customers see at checkout

With the Stripe extension, customers enter their card details in a card form on your checkout page, with no redirect to another site. That form is hosted by Stripe and embedded in your page, so card details go directly to Stripe, never through your server, and WooCommerce never stores them.

Common questions

When does the money arrive in my bank account?

Stripe sends money to your bank on your account's payout schedule, and how soon each payment becomes available depends on your country. Stripe says your first payout is typically scheduled to arrive within 7–14 days of your first live payment, and it can take longer depending on your industry, country, and risk level. You can see payout status and history in your Stripe dashboard. With WooPayments, payouts are handled from the Payments menu in WordPress.

What transaction fees does Stripe charge?

Stripe's fees vary by country. It charges a percentage of each successful card payment plus a small fixed fee, with extra fees for things like international cards and currency conversion. Check stripe.com/pricing for the current rates in your country.

Can I accept payments in multiple currencies?

Yes. Stripe can take payments in many currencies. The Stripe extension's Adaptive Pricing feature (available once its Optimized Checkout Suite setting is on) lets customers pay in their own currency, and WooPayments has built-in multi-currency support. Currency conversion fees may apply.

What is 3D Secure (3DS)?

3D Secure is an extra authentication step (like a one-time code, a password, or a fingerprint check) that the customer's bank can ask for during an online card payment. It adds security and helps protect you from liability for fraudulent card payments. Stripe asks for 3DS when it's needed: for example, when regulations require it (such as the Strong Customer Authentication rules in the European Economic Area and the UK), when the customer's bank requests it, or when your fraud rules call for it. The Stripe extension supports it on both the checkout page and the "Pay for order" page. Your customers will only see it when authentication is requested.

Need a hand?

If you're stuck, email support@chykalophia.com and we'll help. Include your website address and a screenshot if you can.

Learn more

Last updated

On this page