Skip to content

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 5xx response, 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 new transaction number 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:

  1. Leave the transaction in processing and do not move it to a final status on your side.
  2. Request the transaction status using your transaction number.
  3. If the response is error 20009 ("Order not found") — the payout was not created, and the creation request can be repeated with the same transaction number.
  4. If the transaction is found — go by its status: processing — the operation has not yet completed; completed / canceled — the result is final.
  5. 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:

  1. Leave the transaction in processing and do not move it to a final status on your side.
  2. Repeat the confirmation request with the same parameters.
  3. If the error recurs — request the transaction status using the transaction number.
  4. 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.
  5. The completed and canceled statuses are final; no further confirmation is required for them.