New 24/7 monitoring and daily cloud backups now included in every Shield Pro plan.

PayPal

Learn how to fix WooCommerce PayPal not working.

PayPal integrations range from legacy standard gateways to PayPal Payments with smart buttons. Symptoms overlap: redirect loops, on-hold orders, or a blank PayPal window. This tutorial separates account issues from WordPress configuration.

Time: 25-40 minutes Level: Intermediate
Neil McNaught, founder of BugShield and WordPress author
Written by
Written by
Updated
Updated

What this problem looks like

PayPal orders marked on-hold after customers paid usually mean instant payment notification or webhooks failed. The money is in PayPal but WooCommerce never got the message.

Sandbox and live credentials are separate. Connecting sandbox on a live domain confuses customers and breaks reconciliation.

Step 1: Use one modern PayPal integration

Deactivate PayPal Standard, old express checkout plugins, and duplicate PayPal Payments installs. Keep WooCommerce PayPal Payments maintained by PayPal. Run the setup wizard under WooCommerce → Settings → Payments and connect your business account with OAuth.

Step 2: Currency and locale requirements

  • Store currency must be in PayPal supported list for your region.
  • Multi-currency plugins may send amounts PayPal rejects.
  • UK sellers need a UK business account for GBP settlements.

Step 3: Smart buttons and checkout flow

If buttons do not render, JavaScript conflicts and CSP rules mirror Stripe issues. Disable minification on checkout. Test PayPal only with card fields disabled temporarily to see redirect flow clearly.

Step 4: IPN and webhook troubleshooting

Legacy IPN URLs still appear on older setups. Modern plugin uses webhooks. In PayPal developer portal, open Webhooks, resend failed events, and read HTTP response codes from your store.

Step 5: Account holds and risk reviews

PayPal can block transactions while reviewing new merchants. Customers see generic payment errors unrelated to WordPress. Check PayPal Resolution Centre and email for account limitation notices before debugging code further.

When to stop DIY and hire help

PayPal plus subscriptions, marketplace vendors, or custom capture flows crosses multiple plugins. BugShield connects PayPal Payments cleanly and fixes stuck on-hold orders at a confirmed price without hourly billing surprises.

Questions answered

WooCommerce PayPal not working FAQs

Answers about PayPal credentials, logs, webhooks, returns, order status, currencies, sandbox testing, and payment confirmation.

Why does PayPal redirect back with no order?

Session lost between domains, cancel URL misconfigured, or customer closed window before confirmation. Check cookie domain and www consistency.

Is PayPal Standard still supported?

PayPal deprecated older NVP integrations. Migrate to WooCommerce PayPal Payments for current security and button support.

Can I test PayPal without real money?

Use PayPal sandbox accounts and sandbox mode in the plugin on a staging site, not on a public live catalog.

Why are PayPal orders on-hold?

WooCommerce did not receive payment confirmation. Fix webhooks or IPN and manually compare PayPal transaction ID with order notes in wp-admin.

What causes WooCommerce PayPal not to work?

Incorrect credentials, wrong sandbox or live mode, unsupported account or currency, blocked scripts, webhook failures, return errors, or plugin conflicts can interrupt payment.

Where can I find WooCommerce PayPal errors?

Check the gateway log, WooCommerce order notes, browser Network and Console panels, and the matching transaction or webhook event in the PayPal account.

How do I check PayPal live credentials in WooCommerce?

Confirm the gateway is in live mode and its client ID, secret, merchant account, and webhook belong to the same live PayPal application.

Can a PayPal webhook failure leave WooCommerce orders on hold?

Yes. PayPal may record the transaction while WooCommerce misses confirmation. Compare both systems before manually completing or retrying the order.

Why does PayPal return to the shop without confirming the order?

The return URL, session, security nonce, cache, or gateway callback may fail. The PayPal transaction and WooCommerce logs show whether payment actually completed.

How should I test a WooCommerce PayPal fix?

Use separate PayPal sandbox buyer and seller accounts on staging, then complete one controlled live order and verify status, stock, email, webhook, and refund.

Would you rather a developer fixed it?

Request a fix at a confirmed price and speak directly with the BugShield developer working on your site.

Request a Fix