Common Error Codes for Online Payments (Nets, Stripe, Visa, and Mastercard)
When a customer’s online card payment fails, they might see or report an error code. Here’s a quick overview of the most common error codes – and what they usually mean – across Nets, Stripe, Visa, and Mastercard:
🔴 51 – Insufficient funds
The card does not have enough money to complete the payment.
🔴 05 – Do not honor
A generic decline from the customer’s bank. No specific reason is given. The customer should contact their bank for details.
🔴 14 – Invalid card number
The card number entered is incorrect or not active.
🔴 54 – Expired card
The card’s expiration date has passed.
🔴 57 – Transaction not permitted
The card is blocked from making this type of transaction (e.g., international purchases).
🔴 91 – Issuer or switch is inoperative
The customer’s bank could not be reached (often due to temporary network or system issues).
🔴 96 – System error
A generic processing error happened in the payment network.
Stripe-specific error codes (API error messages)
Stripe uses friendly error messages that map to these common codes:
✅ card_declined
– Usually maps to 05 or 57
✅ expired_card
– Same as 54
✅ incorrect_number
– Same as 14
✅ insufficient_funds
– Same as 51
✅ incorrect_cvc
– Incorrect security code
✅ processing_error
– Same as 96
✅ issuer_unavailable
– Same as 91
✅ authentication_required
– The payment requires 3D Secure / SCA verification
💡 Helpful tips for customers:
- If the error is
card_declined
or 05, advise the customer to check with their bank – this is usually out of your control. - Always double-check that the card number, expiry date, CVC, and amount are correct.
- If you see
authentication_required
, make sure your checkout supports 3D Secure / SCA. - For persistent issues, asking the customer to use a different card can help.