Decline codes
The processor's decline-code catalog, with the soft-versus-hard distinction that decides whether to retry.
When a card payment is declined, the transaction comes back with status: "Declined". The
decline code and description come nested inside the response object, not as top-level
fields:
responseCodeandresponseText: the general decline code and description. Always present.processorErrorandprocessorMessage: appear when the decline comes directly from the processor (for example, insufficient funds).rules[]: appears instead ofprocessorError/processorMessagewhen the decline comes from a validation rule (for example, a 3DS authentication failure), as an array of{code, message}objects.
This page is the catalog of the decline codes returned by the card processor.
Example: insufficient-funds decline
{
"status": "Declined",
"transaction_status": "Declined",
"response": {
"responseCode": "021",
"responseText": "Tarjeta sin fondos",
"processorError": "K006",
"processorMessage": "Transacción declinada.",
"transactionStatus": "DECLINED"
}
}Example: validation-rule decline
{
"status": "Declined",
"transaction_status": "Declined",
"response": {
"responseCode": "K322",
"responseText": "Transacción rechazada.",
"rules": [
{ "code": "K325", "message": "Autenticación fallida - Error de autenticación" }
],
"transactionStatus": "DECLINED"
}
}MercadoPago: declines have a different structure (response.payment with its own internal
detail). This format does not apply to that payment method.
Soft vs hard declines
Every code has a type that determines whether retrying makes sense:
| Type | What it means | What to do |
|---|---|---|
| Soft | Temporary decline — the condition can change (issuer unavailable, timeout, daily limit). | You can retry with the same card, later or after fixing the input. |
| Hard | Final decline — the condition will not change (stolen card, no account, insufficient funds). | Do not retry with the same card: ask for another card or payment method. |
When retrying a soft decline, keep your idempotency key stable per payment attempt so retries are safe — see Idempotency. Never loop-retry a hard decline: besides failing, it degrades your acceptance rate with the issuer.
Numeric codes
2- and 3-digit codes:
| Code | Description | Type |
|---|---|---|
01 | Refer to issuer | Soft |
02 | Refer to issuer | Soft |
03 | Invalid merchant | Soft |
04 | Pickup card | Soft |
05 | Do not honor | Soft |
006 | Abandoned transaction | Soft |
06 | Processing error | Soft |
07 | Pickup card | Soft |
08 | Declined honor | Soft |
09 | Duplicate transaction | Soft |
12 | Invalid transaction | Soft |
13 | Invalid amount | Soft |
14 | Invalid card number | Hard |
15 | Invalid issuer | Soft |
017 | Invalid card | Soft |
17 | Customer cancelled | Soft |
19 | Processing error (retry now) | Soft |
21 | Do not honor | Soft |
22 | Processing error | Soft |
25 | No account | Soft |
28 | Issuer unavailable | Soft |
30 | Processing error (fix request) | Hard |
31 | Bank error | Soft |
33 | Expired card | Hard |
34 | Suspected fraud | Soft |
35 | Invalid merchant (ops) | Soft |
36 | Restricted card | Hard |
37 | Suspected fraud | Hard |
38 | PIN error | Hard |
39 | No account | Soft |
40 | Invalid transaction | Soft |
41 | Lost card | Hard |
43 | Stolen card | Hard |
46 | No account | Hard |
51 | Insufficient funds | Hard |
52 | No account | Hard |
53 | No account | Hard |
54 | Expired card | Hard |
55 | PIN error | Hard |
56 | Invalid card number | Hard |
57 | Transaction not permitted | Soft |
58 | Terminal not permitted | Hard |
59 | Suspected fraud | Soft |
61 | Limit exceeded | Soft |
62 | Restricted card | Hard |
63 | Security violation | Soft |
64 | Visa: compliance violation / Prosa: invalid amount | Soft |
65 | Limit exceeded | Soft |
68 | Issuer unavailable | Soft |
70 | PIN error | Hard |
71 | PIN error | Hard |
74 | PIN error | Hard |
75 | PIN error | Hard |
76 | No account | Hard |
77 | No account | Hard |
78 | No account | Hard |
79 | Invalid transaction | Hard |
80 | Invalid transaction | Hard |
81 | Transaction not permitted | Hard |
82 | Do not honor | Soft |
83 | Suspected fraud | Hard |
84 | Invalid transaction | Hard |
85 | Processing error | Hard |
86 | PIN error | Hard |
87 | Card authentication failed | Soft |
88 | Processing error | Soft |
89 | PIN error | Hard |
91 | Issuer unavailable | Soft |
92 | Routing error | Soft |
93 | Compliance violation | Hard |
94 | Duplicate transaction | Hard |
95 | Processing error | Soft |
96 | Processing error | Soft |
201 | Invalid merchant ID | Hard |
228 | Bank declined | Soft |
577 | The transaction token is invalid | Hard |
621 | Transaction canceled by user | Soft |
622 | Session timeout | Soft |
703 | Transaction amount is required | Hard |
Alphanumeric codes
| Code | Description | Type |
|---|---|---|
1A | Authentication required (3DS) | Soft |
6P | CVV failure | Hard |
B1 | Terminal not permitted | Hard |
N0 | Do not honor | Soft |
N1 | Invalid card number | Hard |
N2 | Processing error | Soft |
N3 | Transaction not permitted | Soft |
N4 | Limit exceeded | Soft |
N5 | Refund limit exceeded | Soft |
N6 | Refund limit exceeded | Soft |
N7 | CVV failure | Hard |
N8 | Invalid amount | Soft |
N9 | Refund limit exceeded | Soft |
O0 | Processing error | Soft |
O1 | Processing error | Soft |
O2 | Invalid amount | Soft |
O3 | Do not honor | Soft |
O4 | Limit exceeded | Soft |
O6 | Invalid card number | Hard |
O7 | Processing error | Soft |
O8 | Processing error | Soft |
O9 | Processing error | Soft |
OS | PIN error | Hard |
P0 | Processing error | Soft |
P1 | Limit exceeded | Soft |
P2 | Processing error | Soft |
P3 | Invalid amount | Soft |
P4 | Limit exceeded | Soft |
P5 | PIN error | Hard |
P6 | Visa: PIN error / Prosa: limit exceeded | Hard |
P7 | Invalid amount | Soft |
P8 | Invalid transaction | Soft |
P9 | Invalid amount (lower amount may succeed) | Soft |
PS | Do not honor | Soft |
Q0 | Invalid transaction | Soft |
Q1 | Card authentication failed | Soft |
Q2 | Invalid transaction | Soft |
Q3 | Invalid amount | Soft |
Q4 | Limit exceeded | Soft |
Q5 | Do not honor | Soft |
Q6 | Limit exceeded | Soft |
Q7 | Limit exceeded | Soft |
Q8 | Invalid transaction | Soft |
Q9 | Invalid transaction | Soft |
R0 | Do not honor | Soft |
R1 | Do not honor | Soft |
R2 | Transaction not permitted | Soft |
R3 | Do not honor | Soft |
R4 | Chargeback admin | Hard |
R5 | Chargeback admin | Hard |
R6 | Chargeback admin | Hard |
R7 | Invalid transaction | Soft |
R8 | Suspected fraud | Soft |
R9 | Issuer unavailable | Soft |
S0 | Reversal admin | Soft |
S1 | Reversal admin | Soft |
S2 | Reversal admin | Soft |
S4 | Processing error | Soft |
S5 | Chargeback admin | Hard |
S6 | Chargeback admin | Hard |
S7 | Chargeback admin | Hard |
S8 | Processing error | Soft |
S9 | Processing error | Soft |
T1 | Invalid amount | Soft |
T2 | Invalid transaction | Soft |
T3 | Restricted card | Soft |
T4 | Limit exceeded | Soft |
T5 | No account | Soft |
T6 | Processing error | Soft |
T7 | Limit exceeded | Soft |
T8 | No account | Soft |
U0 | Card authentication failed | Soft |
U1 | Processing error | Soft |
U2 | Processing error | Soft |
U3 | Processing error | Soft |
U4 | Card authentication failed | Soft |
U5 | Card authentication failed | Soft |
U6 | Card authentication failed | Soft |
U7 | Card authentication failed | Soft |
U8 | Card authentication failed | Soft |
V0 | Refer to issuer | Soft |
V1 | Refer to issuer | Soft |
V2 | Refer to issuer | Soft |
V3 | Refer to issuer | Soft |
V4 | Refer to issuer | Soft |
V7 | Card authentication failed | Soft |
V8 | Card authentication failed | Soft |
V9 | Card authentication failed | Soft |
Z3 | Issuer unavailable | Soft |
K codes
| Code | Description | Type |
|---|---|---|
K001 | Invalid request body | Soft |
K002 | An unexpected error has occurred | Soft |
K003 | Processor does not exist | Soft |
K004 | Invalid merchant ID | Soft |
K005 | Invalid processor ID | Soft |
K007 | Card blocked by the issuer | Soft |
K008 | Incorrect token | Soft |
K009 | Check SSM variables | Hard |
K011 | Invalid BIN | Hard |
K012 | Invalid capture amount | Soft |
K013 | Transaction tokenized as deferred | Soft |
K015 | CVV2_REJECTED_TRANSACTION | Hard |
K016 | Method not implemented | Soft |
K020 | ERROR_REJECTED_TRANSACTION | Soft |
K021 | ERROR_REJECTED_TRANSACTION | Soft |
K023 | Void amount higher than sale | Soft |
K025 | Invalid card | Soft |
K026 | Processor Declined | Soft |
K027 | The transaction went into timeout, please try again | Soft |
K028 | The merchant does not have the deferred option enabled | Hard |
K029 | Invalid card BIN | Hard |
K030 | Processor unreachable | Soft |
K038 | Partial void cannot be performed without specifying the value to be deducted | Soft |
K039 | The sum of the values of the amount property must be greater than 0 | Hard |
K040 | The merchant ID does not match the credential submitted | Hard |
K041 | Transaction not allowed | Soft |
K042 | The currency code is different from that of the initial transaction. | Hard |
K047 | An unexpected error has occurred | Soft |
K048 | Token expired | Soft |
K049 | Previously used token | Soft |
K220 | The transaction amount is different to the initial sale amount | Soft |
K322 | Rejected Transaction | Soft |
K325 | Autentication failed | Soft |
K326 | Autentication failed | Soft |
K328 | Autentication failed - Without security validation | Soft |
K505 | The transaction was declined by the processor or issuer. | Soft |
K506 | The transaction was temporarily declined by the processor or issuer. | Soft |
