Skip to content

Payout to a Card

A method for creating a payout to a card from a Sber corporate card (Sber Business Card).

The payout is created with processing status; the response includes redirect_url for confirming the operation in Sber. After confirmation, the payout status is updated using the payout confirmation method.

URL

Method: POST

  • Production: https://api.pay.kvell.group/v1/orders/account2card/sber
  • Stage: https://api.pay.stage.kvell.group/v1/orders/account2card/sber

Request parameters

Name
Type Required Description
amount integer Yes Amount in kopecks
transaction string Yes Unique transaction number on the merchant's side
description string Yes Transaction description. Up to 210 characters.
session_id string Yes Identifier of the authorized Sber session
business_card_id string Yes Identifier of the Sber corporate card the payout is made from
recipient_pan string Conditional Recipient's card PAN
customer_card json Conditional Customer's linked card object
customer_key string Yes Customer identifier in the merchant's system
customer_card_token string Yes Linked card token
user_crypto_type string No Sber user crypto profile: SMS or Token. Defaults to SMS.
payout_draft_id integer No ID of the payout draft. The draft is confirmed together with the payout.
customer string No Customer's email / phone number
extra_data json No Additional data
fiscal_data json No Receipt fiscalization under 54-FZ

Request example

{
  "recipient_pan": "4111111111111111",
  "amount": 10000,
  "transaction": "f4462ba6-37c5-4455-b0b2-53b179f7a25c",
  "description": "Payout under contract No. 123",
  "session_id": "11111111-1111-1111-1111-111111111111",
  "business_card_id": "business-card-id",
  "user_crypto_type": "SMS",
  "customer": "user@example.com"
}

Request headers

Name Type Required Description
X-Api-Key string Yes Unique shop identifier
X-Signature string Yes Signature

Building the signature

An electronic signature must be used when building the request, with the RSA/SHA256 algorithm. This value must be passed in the X-Signature HTTP request header. The signature building algorithm is the same as for making a payout to a card.

Attention

Signature validation is performed against the actual request body. Sign exactly the JSON you will send to the API (without reordering fields, additional transformations, or re-serialization between steps).

Response

Response example

{
  "order": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "processing",
    "transaction": "f4462ba6-37c5-4455-b0b2-53b179f7a25c",
    "amount": 10000,
    "commission": 0,
    "description": "Payout under contract No. 123",
    "additional_data": {
      "auth_code": null,
      "rrn": null
    },
    "error_code": null,
    "error_message": null,
    "created_at": "2026-07-29T10:00:00"
  },
  "transaction": null,
  "status": "processing",
  "redirect_url": "https://sber.example/#/transfer-creator/external-id"
}
{
  "errors": [
    {
      "code": 20098,
      "message": "session_id: Field required"
    }
  ]
}
  • The transaction must be left in processing, and the payout must not be recreated with a new transaction number.
  • The steps to take are described in the Error and timeout handling section.

Response parameters

Name Type Description
order json Payout object
id string Payment ID in the system
status string Transaction status
transaction string Unique transaction number on the merchant's side
amount integer Amount in kopecks
commission integer Commission in kopecks
description string Transaction description
additional_data json Additional data (authorization code, RRN)
error_code string Error code (if any)
error_message string Error message (if any)
created_at string Transaction creation date
transaction string Not used in this method, returned with value null
status string Transaction status
redirect_url string Link for confirming the operation in Sber

Return redirect

The redirect_url link must be opened to confirm the operation in the SberBusiness interface. For the user to return to the merchant's page after signing, the backUrl parameter with the URLEncode-encoded return address is appended to the end of the received link:

{redirect_url}?backUrl=https%3A%2F%2Fmerchant.example.com%2Fpayout-result

If backUrl is not specified, the user won't be able to return to the merchant's platform after signing. See more details in the General section.

List of statuses

Name Description
new New transaction
processing Transaction is being processed
canceled Transaction rejected
completed Transaction completed

Error codes

Code Description
20001 Invalid api-key
20002 Invalid signature
20003 Payout profile is not linked to the shop
20005 Error from the PSP service
20007 Transaction has already been performed
20015 Insufficient funds
20019 Shop payout limit exceeded
20020 Recipient not specified
20038 Invalid draft number
20040 Payout draft not found
20041 The resulting description field exceeds the allowed length
20042 Payout data and payout draft data do not match
20098 Request field validation error