Error and Timeout Handling
This section describes how to handle 5xx responses, timeouts, and connection drops in the
payout to a card, SBP payout, and
payout confirmation methods.
Creating a payout
Applies to the payout to a card and SBP payout methods.
Do not recreate the payout with a new transaction
- A
5xxresponse, timeout, or connection drop does not mean the payout was not created: the request may have reached KVELL, and the payout may already have been created and sent to Sber. Recreating the payout with a newtransactionnumber will result in a duplicate payout. - These errors, timeouts, and connection drops can occur due to network issues or technical failures on the server or software side.
- If this problem recurs, we recommend contacting support.
Steps to take:
- Leave the transaction in processing and do not move it to a final status on your side.
- Request the transaction status using your
transactionnumber. - If the response is error
20009("Order not found") — the payout was not created, and the creation request can be repeated with the sametransactionnumber. - If the transaction is found — go by its
status:processing— the operation has not yet completed;completed/canceled— the result is final. - If a repeated payout creation request returns error
20007("Transaction has already been performed") — the payout has already been created; there's no need to create a new one, proceed based on the transaction status.
Confirming a payout
Applies to the payout confirmation method.
The method is safe to call again
The method does not create new operations: it requests the current status of a previously
created payout from Sber and updates the order in KVELL. So if the response is 5xx, a
timeout, or a connection drop, the request can be repeated with the same transaction and
session_id — this will not result in a duplicate payout.
Steps to take:
- Leave the transaction in processing and do not move it to a final status on your side.
- Repeat the confirmation request with the same parameters.
- If the error recurs — request the transaction status using the
transactionnumber. - While the status is
processing, the operation is not complete: either the user has not yet confirmed it in Sber, or the status has not been updated yet — call confirmation again later. - The
completedandcanceledstatuses are final; no further confirmation is required for them.