Most payment declines aren't plugin bugs — they're the issuing bank saying no. But some are avoidable misconfigurations on your side that turn good cards into failed transactions. This guide covers the common Clover decline codes, distinguishes soft declines from hard ones, and walks through the configuration issues that cause preventable failures.
Soft vs hard declines
Every card network distinguishes between two kinds of declines. Treating them the same is one of the biggest causes of lost revenue.
Hard declines are final: stolen card, closed account, permanently blocked. Retrying doesn't help. Common hard decline codes include 14 (invalid card number), 15 (no such issuer), 41 (lost card), 43 (stolen card), 54 (expired card), 57 (transaction not permitted).
Soft declines are temporary: insufficient funds right now, daily limit hit, risk score too high on that specific attempt. Retrying a soft decline often succeeds. Common soft decline codes include 51 (insufficient funds), 61 (exceeds withdrawal limit), 62 (restricted card), 65 (activity limit), 91 (issuer unavailable).
Common Clover decline codes, decoded
05 — Do not honor
The catch-all soft decline. Issuer is saying 'not right now' without specifics. Often risk-scored. Tell the customer to try another card or call their bank to whitelist the transaction.
14 — Invalid card number
Card number failed Luhn check or simply doesn't exist. Typo. Show a friendly error asking the customer to recheck their card.
51 — Insufficient funds
Soft. Customer's available balance is lower than the charge. Suggest a different card.
54 — Expired card
Hard. Card is past its expiration date. Customer needs a new card from their bank.
82 — CVV mismatch
Customer entered the wrong CVV. Usually a typo. Ask them to re-enter it.
NU — 3D Secure required
Issuer wants the customer to complete 3D Secure (an SMS code or bank app confirmation). If your Clover gateway has 3DS enabled, the flow continues automatically. If not, the payment fails.
Preventable configuration failures
AVS mismatch rejections
Address Verification System compares the billing address the customer enters against what their bank has on file. If your Clover gateway is configured to reject on AVS mismatch, typos in the customer's address will kill legitimate transactions. Relax AVS to match on ZIP only (or disable it) unless you're in a high-fraud vertical.
Stripe/other gateway collision
If you have another payment gateway enabled in WooCommerce (Stripe, PayPal, etc.) and Clover is misconfigured as the default, customers can end up routed through a half-configured Clover flow instead of the working alternative. Audit which gateways are enabled and set Clover as default only when it's fully configured.
Sandbox credentials in production
Every real card will fail if your plugin is using Sandbox Clover credentials against live traffic. Confirm environment = production, PAKMS key is production, App ID/Secret are production.
Expired Clover app approval
New Clover Developer apps need explicit approval for payment processing on production. If your app is still in 'pending approval' status, payments fail with a generic gateway error.
Currency mismatch
WooCommerce's store currency must match the currency your Clover merchant account is configured for. A USD merchant account can't process a transaction initiated in EUR.
Recovering from declines
- On soft declines, show the customer a retry button that reloads the Clover iframe. Don't force them back to the cart.
- Offer alternative payment methods at checkout (PayPal, Apple Pay if available) so a single-card decline doesn't lose the sale.
- For recurring subscriptions that fail, set up a dunning email flow that asks the customer to update their card within 7 days before canceling.
Debugging a specific failure
- Open the WooCommerce order that failed. Find the payment error message — it usually includes the Clover response code.
- Cross-reference the code with the list above. If it's a soft decline, that's a customer-side issue.
- If it's a gateway or configuration error, check plugin settings: environment, credentials, app approval status.
- If the customer swears it should have worked, ask them to try the same card with another merchant to confirm the card itself is alive.
- If it looks like a fraud-filter rejection, check your AVS/CVV settings — you may be rejecting legitimate customers.
Frequently asked questions
Is a decline a refund?
No. A declined transaction didn't charge the customer's card at all — nothing to refund. The failed attempt may appear briefly as a pending authorization but drops off within a few days.
Should I automatically retry soft declines?
Not without customer consent. Auto-retrying can hit bank limits and get you flagged. Let the customer retry or offer a 'try another card' flow.
Does CloverWoo support 3D Secure?
Yes — when enabled in your Clover gateway settings, Clover's hosted iframe handles the 3DS challenge flow automatically. No additional plugin work required.
Why do test cards work in Sandbox but not in production?
Clover Sandbox accepts a specific set of test card numbers. Production will reject them — only real cards work against production credentials.