How to add PayPal to your store
PayPal brings its own customers who already trust it — here is how to add it without duplicating or confusing your existing checkout.
PayPal is worth adding alongside a card processor rather than instead of one. Some customers will always prefer to pay through an account they already have set up rather than typing card details into a form they have never seen before, and offering it costs you nothing but a short setup.
Personal account or business account?
Use a PayPal Business account. A personal account is built around sending and receiving money between individuals and is not the right tool for taking payment from customers at scale — it lacks the reporting, refund handling and integration options a store needs, and PayPal's own terms distinguish between the two use cases. Sign up for Business directly with PayPal if you have not already.
Choosing how PayPal appears at checkout
| Option | What the customer sees | Best for |
|---|---|---|
| Redirect checkout | Clicks a PayPal button, is sent to paypal.com to log in and confirm, then returns to your site. | Simplicity — nothing about your existing checkout page needs to change. |
| On-page smart buttons | PayPal button sits directly in your checkout alongside card fields, with a lightweight popup for login. | Stores that want PayPal to feel like part of one continuous checkout rather than a detour. |
Both keep card and PayPal account details entirely on PayPal's side — your server never receives or stores anything about how the customer actually paid, only PayPal's confirmation that it succeeded.
Setting it up in WooCommerce
Install the official PayPal payments plugin from Plugins > Add New, then connect it to your Business account through the plugin's setup screen. This handles the credential exchange for you — you should not need to manually copy API keys between PayPal's developer dashboard and WordPress unless you have a reason to configure something more advanced.
PayPal's developer tools let you create fake buyer and seller accounts specifically for testing. Use them to place a complete order before switching to live mode — this is the PayPal equivalent of Stripe's test cards, and skipping it carries the same risk of discovering a problem only after a real customer has hit it.
Going live
- Switch the plugin out of sandbox mode and confirm it now references your live PayPal account rather than the sandbox one.
- Place one genuine order with real money and confirm it lands in your actual PayPal balance, not a sandbox environment.
- Check the order also appears correctly in WooCommerce — a payment that succeeds in PayPal but fails to record in WooCommerce leaves you with money taken and no order to fulfil.
If a customer's browser session drops or they double-click during the redirect back to your site, the order can appear to fail on your end even though PayPal processed it. Check your PayPal dashboard directly rather than only trusting what WooCommerce shows when a customer reports a payment that seems to have vanished.
Fees and currency
PayPal's transaction fees and supported currencies change over time and vary by country and account type, so check the current figures directly on PayPal's own site before pricing anything around them — do not rely on a percentage quoted in an older article, including this one.
If PayPal buttons do not appear at checkout
- Confirm the plugin is both installed and enabled as a payment method under WooCommerce's payment settings — installing it is not the same as switching it on.
- Check for a caching plugin serving a stale version of the checkout page from before PayPal was added. See how caching can break a cart and checkout.
- Check the account region matches your store's — some PayPal features are limited by the country the business account was registered in.
With both Stripe and PayPal available, most customers will have a workable option regardless of preference. From here, shipping and tax are the remaining checkout settings worth getting right before launch.
Refunds and disputes
Learn how PayPal handles refunds and disputes before you need to deal with either under pressure. A refund issued through PayPal's dashboard should also update the corresponding order in WooCommerce if the integration is configured correctly — check this explicitly with a test refund rather than assuming it happens automatically, since a mismatch between the two leaves your order records out of step with what actually happened financially.
A customer-initiated dispute or chargeback through PayPal follows its own resolution process, separate from a refund you issue voluntarily. Familiarise yourself with how PayPal notifies you of a dispute and what evidence it expects, so a genuine dispute does not catch you unprepared.
Related reading
Installing the plugin takes minutes — getting from test mode to a live payment without a mistake is where this guide actually helps.
How to take payments on your websiteHosted checkout, embedded fields, or building your own form — the choice affects your security workload far more than your conversion rate.
Does my store need to be PCI compliant?Almost certainly yes in some form, but how much work that means depends entirely on whether card data ever touches your own server.
How to fix a WooCommerce checkout that failsA broken checkout loses money every hour it stays broken, so work through the common causes in order rather than guessing.