Statuses Errors

These guidelines exist to prevent financial losses when implementing payout cascading and transaction status handling. Failure to follow them may lead to losses that cannot be compensated.

The scenario to avoid

  1. A merchant sends a payout API request.
  2. A failure occurs.
  3. The failure is incorrectly interpreted as a failed transaction.
  4. The transaction is retried through the next gateway in the cascade.
  5. Both transactions succeed.
  6. The end user receives a double payout and does not return the extra amount.
  7. A financial loss occurs.

Safe-status guidelines

  1. Payouts — in uncertain situations, or cases not explicitly documented, set the financial status to success.
  2. Payments — dually, in uncertain situations set the financial status to failure.
  3. A payout or payment status may only change on:
    3.1. Initial assignment of the safe value (success for payouts, failure for payments).
    3.2. Receipt of the initial status during transaction creation.
    3.3. Receipt of a transaction_status / payout_status.

Important considerations

  • Assign a safe status (failure for payments, success for payouts) before attempting the API request.
  • On a communication error, or if no status is received during transaction creation, the transaction status must remain unchanged.
  • Likewise, on a communication error or missing status during a status request, keep the status unchanged.
  • If callbacks are not received or lack the required value, keep the status unchanged.
  • On undocumented error messages, or messages explicitly asking you to contact technical support, mark the transaction as requiring manual review. Its financial status is unknown, so it must not be retried through another provider.

Transaction status codes

Here is a list of transaction status codes and its description. Use these to understand current state of the transaction.

Card processing / Invoices

processing Transaction is processing.

failed (final) Transaction has been failed.

completed (final) Transaction has been completed successfully.

refunded (final) Transaction has been refunded.

chargeback (final) Chargeback.

p2p

waiting_payment Transaction awaiting payment.

processing Transaction is processing.

paid Transaction received a payment.

failed (final) Transaction has been failed.

completed (final) Transaction has been completed successfully.

refunded (final) Transaction has been refunded.

chargeback (final) Chargeback.

payout

payout_filled Payout has been filled.

payout_completed (final) Payout has been completed.

payout_failed (final) Payout has been failed.


Error types

Whenever a request is unsuccessful, the API will return an error response with an error code and message. You can use this information to understand better what has gone wrong and how to fix it. Most of the error messages are pretty helpful and actionable.

API Error list

MessageCodeHTTP Status Code
Transaction cannot be processed. Too many executed transactions. Try again in 12 hours104401
You've reached the limit of sum allowed per day. Try tomorrow, please.334401
Project's ID is missing.400001403
Amount/price is required.400002401
Signature is missing.400003401
Customer not found.400004403
Signature is invalid.400005403
Payment ID or Order ID is required.400006401
Description is required.400007401
IP is required.400008401
Token is required.400009401
CC number is required400010401
Expiration month is required.400011401
Expiration year is required.400012401
Security code is required.400013401
Payment ID is required.400015401
Refund ID is required.400016401
Payout amount is required.400017401
Destination card is required.400018401
Payout ID or Order ID is required.400019401
Start Date (YYYY-MM-DD HH:MM:SS) is required.400020401
End Date (YYYY-MM-DD HH:MM:SS) is required.400021401
User's email is missing.400023401
Currency is missing.400025401
Payout ID is required.400029401
Phone number is required.400031401
Token is invalid or expired.400036401
Invalid price/amount format. Valid is fixedpoint string, ex: 123.2400039401
Order ID is missing400040401
Invalid payment ID type. Must be a string.400043401
Invalid order ID type. Must be a string.400044401
result_url is missing.400045401
birth_date is missing. ex 05.06.1987400046401
expiration_month is required. ex 06400047401
expiration_year is required. ex. 22400048401
birth_place is missing. ex Moscow400049401
country_of_citizenship is missing. ex RU400050401
country_of_residence is missing. ex RU400051401
document_type is missing. ex passport or ID400052401
document_issuer is missing. ex MFA of Russia400053401
document_series is missing. ex P400054401
document_number is missing. ex 23 23456891400055401
document_issued_at is missing. ex 05.06.2011400056401
document_valid_until is missing. ex 05.06.2029400057401
beneficiary_first_name is missing. ex Ivan400058401
beneficiary_last_name is missing. ex Ivanov400059401
phone is missing. ex 77777777777400060401
Pan is in blacklist400061401
Pan is not in whitelist400062401
Website is not in whitelist400063401
IP does not match url400066401
Amount is invalid400067401
Card balance is exceeded400068401
Order ID must be unique400069401
Issuer declined the transaction400070401
Card limit has been exceeded400071401
Transaction has been declined by antufraud system400072401
Transaction with this order ID does not exist400074401
General processing error400075401
Partial amount retrieve not allowed400076401
Transaction declined by gateway400077401
Credit card info is invalid400078401
Credit card number is invalid400079401
Credit card holder name is invalid400080401
One or more request parameters are invalid400081401
Payment session timeout error400082401
Credit card is expired400084401
Partial refund is not allowed400094401
Multiple refunds are not supported400095401
Partial charge is not allowed400096401
Retrieve period has been expired400097401
CVC code is invalid400098401
Email provided is invalid400099401
Credit card is inactive400100401
Failed to get available payment gateways400101401
Failed to get payment status400102401
Failed to get initialize a payment400103401
Failed to create a token400104401
Failed to create refund400106401
Failed to get refund status400107401
Failed to create payout400108401
Failed to get payout status400109401
Failed to get refunds list400110401
Failed to get transactions list400111401
Failed to get payouts list400112401
Failed to process a payment400115401
Failed to reverse the transaction400120401
Failed to process the refund400121401
Failed to process callback400122401
Endpoint not implemented400124401
Failed to get balance.400126401
Failed to get payout history.400127401
Failed to execute cron job400131401
Invalid request headers.400135401
Failed to get rates400136401
Operation is not supported for this card400300401
Transaction has been declined by cardholder400301401
Card PIN code error400302401
Credit card is restricted400303401
Credit card status is invalid400304401
No transactions found for this order id400307401
The number of payment attempts exceeded400311401
New payment attempt already started400312401
Specified currency is not supported400317401
3D-Secure authentication failed400319401
3D-Secure authentication has been canceled400320401
3D-Secure preprocess info is missing400321401
Credit card is not involved in 3DS400322401
Operation has been declined400325401
Temporal failure, try later please400326401
Credit card type is unsupported400327401
return url has not been set400332401
invalid credentials400333401
You have reached maximum sum for operation400334401
Unknown error. Contact technical support please400336401
QIWI account number is required400337401
Failure, try another card, please400338, 400339401
This currency is not supported400340401
Start Date (YYYY-MM-DD) or (YYYY-MM-DD HH:MM:SS) is required400341401
End Date (YYYY-MM-DD) or (YYYY-MM-DD HH:MM:SS) is required400342401
Include failed should be boolean400343401
Range is not valid400344401
Insufficient funds400345401
Wrong sandbox card400346401
Wrong sandbox card cvc400347401
Unexpected sandbox message400348401
Transaction with this payment id is not found400349401
Transaction with this refund id is not found400350401