API errors¶
API errors describe a reason for rejection of the operation. API errors are present:
- in API responses — field
status.reason
; - in notifications — field
status.reasonCode
.
Some API errors are accompanied by details with recommended troubleshooting in the status.psErrorCode
field.
API error | Description |
---|---|
INVALID_STATE | Incorrect transaction status |
INVALID_AMOUNT | Incorrect payment amount |
INVALID_RECEIVER_DATA | Error on transmitting receiver data |
DECLINED_BY_MPI | Rejected by MPI |
DECLINED_BY_FRAUD | Rejected by fraud monitoring |
REATTEMPT_NOT_PERMITTED | Re-attempting authorization request is forbidden due to a Payment system rules |
REATTEMPT_NOT_PERMITTED_BY_PS | Operation rejected by Payment system. Error details with recommended troubleshooting are in the status.psErrorCode field. Re-attempting the operation is not possible for the card |
GATEWAY_INTEGRATION_ERROR | Acquirer integration error |
GATEWAY_TECHNICAL_ERROR | Technical error on acquirer side |
ACQUIRING_MPI_TECH_ERROR | Technical error on 3DS authentication |
ACQUIRING_GATEWAY_TECH_ERROR | Technical error |
ACQUIRING_ACQUIRER_ERROR | Technical error |
ACQUIRING_AUTH_TECHNICAL_ERROR | Error on funds authorization |
ACQUIRING_ISSUER_NOT_AVAILABLE | Issuer error. Issuer is not available at the moment |
ACQUIRING_SUSPECTED_FRAUD | Issuer error. Fraud suspicion |
ACQUIRING_LIMIT_EXCEEDED | Issuer error. Some limit exceeded |
ACQUIRING_NOT_PERMITTED | Issuer error. Operation not allowed |
ACQUIRING_INCORRECT_CVV | Issuer error. Incorrect CVV |
ACQUIRING_EXPIRED_CARD | Issuer error. Incorrect card expiration date |
ACQUIRING_INVALID_CARD | Issuer error. Verify card data |
ACQUIRING_INSUFFICIENT_FUNDS | Issuer error. Not enough funds |
ACQUIRING_UNKNOWN | Unknown error |
BILL_ALREADY_PAID | Invoice is already paid |
PAYIN_PROCESSING_ERROR | Payment processing error |
PAYMENT_EXPIRED_3DS | 3-D Secure authentication not passed |
TRY_AGAIN_LATER | Repeat the request later |
Error detail codes¶
Error detail code with recommended action from a Payment system is returned in the status.psErrorCode
field of the response.
Code | Corresponding API error | Error details and recommended troubleshooting |
---|---|---|
03 | REATTEMPT_NOT_PERMITTED_BY_PS | Operation with this MCC forbidden by the card issuer |
04 | REATTEMPT_NOT_PERMITTED_BY_PS | Card blocked |
05 | ACQUIRING_NOT_PERMITTED | The transaction was rejected due to other reasons |
12 | REATTEMPT_NOT_PERMITTED_BY_PS | Operation of that type forbidden by Rules and Standards of a Payment system |
13 | ACQUIRING_NOT_PERMITTED | Incorrect amount. Repeat the operation with a different amount |
14 | ACQUIRING_NOT_PERMITTED | Incorrect card number. Enter correct number or use another card |
15 | REATTEMPT_NOT_PERMITTED_BY_PS | There is no issuer for the card |
30 | ACQUIRING_NOT_PERMITTED | Operation rejected. Contact QIWI support to get additional information |
33 | REATTEMPT_NOT_PERMITTED_BY_PS | Card is not available for use |
41 | REATTEMPT_NOT_PERMITTED_BY_PS | Card is not available for use |
43 | REATTEMPT_NOT_PERMITTED_BY_PS | Card is not available for use |
51 | ACQUIRING_INSUFFICIENT_FUNDS | The Client might be recommended to repeat the operation after account replenishment |
54 | ACQUIRING_EXPIRED_CARD | The expiration date of the card is missing or transmitted incorrectly |
57 | REATTEMPT_NOT_PERMITTED_BY_PS | This type of operation is not available for the card |
58 | REATTEMPT_NOT_PERMITTED_BY_PS | This type of operation is not available for the acquirer |
61 | ACQUIRING_LIMIT_EXCEEDED | The Client may be recommended to try the transaction again on another day — after the Issuer resets the limit on the total amount of transactions of this type |
62 | REATTEMPT_NOT_PERMITTED_BY_PS | The transaction is not available due to restrictions on the card or account of the Cardholder |
63 | ACQUIRING_NOT_PERMITTED | The transaction was rejected, contact Qiwi support for more information |
65 | ACQUIRING_LIMIT_EXCEEDED | The Client may be recommended to retry the transaction on another day — after the Issuer resets the limit on the total number of transactions of this type |
75 | ACQUIRING_INCORRECT_CVV | The transaction was rejected due to incorrect PIN code entered earlier |
76 | REATTEMPT_NOT_PERMITTED_BY_PS | Rejecting the cancellation of a request due to the absence of the original request |
78 | REATTEMPT_NOT_PERMITTED_BY_PS | Denying a request due to an attempt to use an inactive card |
86 | ACQUIRING_INCORRECT_CVV | The transaction was rejected due to incorrect PIN code entered earlier |
88 | ACQUIRING_AUTH_TECHNICAL_ERROR | The transaction was rejected due to cryptography error, can occur due to incorrect CVV2/CVC2 |
91 | ACQUIRING_ISSUER_NOT_AVAILABLE | The Client may be advised to retry the transaction at another time – after the Issuer recovers the functioning |
92 | REATTEMPT_NOT_PERMITTED_BY_PS | Rejection by the Payment System due to the impossibility of carrying out the transaction |
93 | REATTEMPT_NOT_PERMITTED_BY_PS | Denial of a request due to violation of legal requirements |
94 | REATTEMPT_NOT_PERMITTED_BY_PS | Rejecting a duplicate request |
96 | ACQUIRING_NOT_PERMITTED | The Client may be advised to retry the transaction at another time – after the Issuer ot the Platform recovers the functioning |
TS | REATTEMPT_NOT_PERMITTED_BY_PS | Rejection of the request due to cancellation of the Cardholder’s long-term order |
CB | ACQUIRING_ACQUIRER_ERROR | The transaction was rejected due to incorrect date of birth of the Cardholder |
CD | REATTEMPT_NOT_PERMITTED_BY_PS | The transaction was rejected due to death of the Cardholder |
Rules for working with detailed information¶
There are two groups of error codes:
- Group 1:
03
,04
,12
,15
,33
,41
,43
,57
,58
,62
,76
,78
,92
,93
,94
,CD
,TS
,05
. - Group 2:
13
,14
,30
,54
,51
,61
,63
,65
,75
,86
,88
,91
,96
,CB
.
According to the NSCP rules, the following conditions for repeating transactions with non-3DS authorization on MIR cards are applied
- After a response from group 1, no more transactions can be performed during the day.
- After the response from group 2, another attempt to perform transactions is allowed during the day.
Restrictions apply to the final recipient, if we have received the corresponding response codes.
General HTTP Error Codes¶
The Payment Protocol uses the following HTTP-codes of errors for API requests:
Error Code | Description |
---|---|
400 | Bad Request — Client request is invalid (error in request’ data or format) |
401 | Unauthorized — Client API access key is wrong |
403 | Forbidden — Access to API is forbidden |
404 | Not Found — The specified resource could not be found |
405 | Method Not Allowed — You tried to create a payment with an invalid method |
406 | Not Acceptable — Client request’ data format isn’t JSON |
410 | Gone — The resource requested has been removed from our servers |
429 | Too Many Requests — You are sending requests too frequently |
500 | Internal Server Error — We had a problem with our server. Try again later. If response body is empty, repeat the request with the same parameters. If the body is non-empty, make payment status request/invoice status request |
502 | Bad Gateway — No connection to service |
503 | Service Unavailable — We’re temporarily offline for maintenance. Please try again later |