Whop payment issues: causes and fixes
Whop payment issues fixed: card declines, 3D Secure, missing payment methods, Apple Pay not showing, form not loading, and paid orders not updating.
On this page
Most Whop payment issues fall into four groups: the customer’s bank declined the card, a payment method isn’t eligible for that customer, the checkout page is cached or misconfigured, or the payment went through but the store wasn’t notified. Each has a specific signal and a specific fix, listed below.
The store-side fixes assume WooCommerce with WhopForWoo; the customer-side causes apply to any Whop checkout.
1. The card was declined
Whop returns a decline code with each failed card payment. The common ones:
| Code | What it means | What the customer should do |
|---|---|---|
insufficient_funds |
Not enough money on the card | Another card or method |
generic_decline / bank_declined |
The bank refused without a reason | Call the bank, or another card |
authentication_required |
3D Secure needed | Complete the bank’s verification |
invalid_cvc / invalid_zip |
Wrong CVC or postcode | Re-enter details |
restricted_card |
Online or international purchases blocked | Ask the bank to allow it |
card_velocity_exceeded |
Card limit reached | Smaller amount or another card |
currency_not_supported |
Card can’t pay in that currency | Another card |
suspected_fraud / high_risk |
Fraud checks blocked it | Another method, or contact support |
None of these are fixed by changing your settings. Point the customer to another card, a wallet (Apple Pay, Google Pay) or another method.
3D Secure. On an embedded checkout, the customer completes the bank challenge in the form. A common failure: on mobile, the customer switches to their banking app to approve, and the browser reloads the checkout. WhopForWoo creates the order before the payment and reuses it for the session, so the payment is still matched to the right order.
2. A payment method is missing
Whop shows local methods only when the customer is in an eligible country (by IP), the checkout currency is eligible, the amount fits the method’s limits, and the method supports one-time or recurring payment.
Check in this order:
- VPN. Ask the customer to turn it off.
- Currency. iDEAL, SEPA and Bancontact need EUR; ACH and Cash App need USD; Swish needs SEK.
- Amount. SEPA Debit stops at €11,500; Klarna has per-country maximums. See Whop payment limits.
- iDEAL never shows on embedded checkouts or direct checkout links. That’s a Whop rule, not a bug.
- Klarna and other financing only appear after Whop approves your business for financing.
3. Apple Pay or Google Pay doesn’t appear
On your own domain, Whop requires Apple Pay to be set up for that domain: host Whop’s file at /.well-known/apple-developer-merchantid-domain-association, then register the domain in your Whop dashboard (Websites → Fix Apple Pay → Check now). One verified domain clears both wallets. The customer must also be on a device with a wallet set up, over HTTPS. Full guide: Apple Pay on WooCommerce.
Apple Pay and Google Pay can’t be tested in Whop’s sandbox.
4. The payment form doesn’t load
Cached checkout. A cached checkout page serves a stale security token and the form won’t load. Exclude the checkout and order-pay pages from your caching plugin and CDN. In WhopForWoo, Whop → Status & Tools runs a checkout cache test and can clear common caches.
Theme or plugin conflict. If another plugin interferes with the embedded form, switch the checkout mode to Hosted Redirect. Customers then pay on Whop’s hosted page.
Checkout Block. The WooCommerce Checkout Block always uses the hosted redirect. If you expected the embedded form, use the classic checkout.
Site not on HTTPS. The live gateway requires a secure site.
Wrong environment. Sandbox and production API keys look identical but don’t work across environments. If Sandbox Mode is on, use a key from sandbox.whop.com; if it’s off, a key from whop.com.
5. The customer paid but the order isn’t updated
WhopForWoo marks an order paid in two ways: when the customer returns and the plugin reads the payment back from Whop’s API, or when Whop’s payment.succeeded webhook arrives. If neither happens, check:
- Webhook URL:
https://yourstore.com/?wc-api=whop_webhook, subscribed topayment.succeeded, in the same environment (sandbox or live) as your API key. - Webhook secret: pasted exactly as Whop gave it,
ws_prefix included. - Delivery log: Whop keeps each delivery for 30 days in the dashboard, with the response code. Whop retries failed deliveries for about 3 days and disables endpoints that keep failing for 72 hours.
- Security plugins or firewalls blocking POST requests from Whop.
More on Whop webhooks.
Charged, but no order at all. Open Whop → Status & Tools. Any payment that couldn’t be matched to an order is listed with its payment ID. Find it in your Whop dashboard, then create the order manually or refund it.
6. The order is on hold
WhopForWoo never trusts the browser. Before marking an order paid, it checks that the payment’s order, site, checkout configuration, amount and currency match. If anything differs, for example the cart changed after the checkout was created, the order goes on hold with a note. Compare it with the payment in Whop before shipping.
7. Whop refused to create the checkout
- Amount over your cap: new accounts are limited to $2,500 per checkout. Apply for higher checkout links.
- API key or permission errors (401/403): regenerate the key or check its permissions.
- Rate limit (429): 600 requests per minute per operation; temporary.
Turn on logging in Status & Tools, reproduce the problem, then read the log in WooCommerce → Status → Logs. API keys and webhook secrets are never written to the logs.
8. Payout problems
Failed payouts usually come from wrong bank details or a bank account that doesn’t accept the payout currency. The failed amount returns to your balance; fix the details and withdraw again. Funds held in a reserve follow their own release dates.
Frequently asked questions
Why was my Whop payment declined?
Most declines come from the customer's bank: insufficient funds, a blocked online or international purchase, a wrong CVC or postcode, or a card limit. Whop shows a decline code such as insufficient_funds or generic_decline. The customer should try another card or contact their bank.
Why doesn't a payment method show on Whop checkout?
Local methods depend on the customer's country (by IP), the currency and the amount. A VPN can hide them. iDEAL never shows on embedded checkouts or direct checkout links.
The customer was charged but there's no WooCommerce order. What do I do?
With WhopForWoo, open Whop → Status & Tools. Payments that couldn't be matched to an order are listed with their Whop payment ID, so you can create the order or refund it from your Whop dashboard.
Why is the Whop payment form not loading on my checkout?
The most common cause is a cached checkout page serving a stale security token. Exclude the checkout from page caching. WhopForWoo's Status & Tools has a test that tells you if your checkout is cached.
Why is the order on hold after a Whop payment?
WhopForWoo puts an order on hold when the paid amount, currency or checkout doesn't match the order. Compare the order with the payment in your Whop dashboard before shipping.