Перейти к содержанию

Выплата по реквизитам с номинального счёта Сбера

API-метод создаёт выплату физическому лицу по банковским реквизитам через номинальный счёт Сбера. Выплата может завершиться сразу или остаться в обработке: результат определяйте по статусу транзакции.

Сценарий интеграции

  1. Сформируйте уникальный transaction и укажите реквизиты получателя.
  2. Подпишите точное тело запроса и отправьте выплату.
  3. Проверяйте состояние операции по transaction, пока не получите completed или canceled.

URL

POST https://api.pay.kvell.group/v1/orders/payout/smartcontract/fl/sber
POST https://api.pay.stage.kvell.group/v1/orders/payout/smartcontract/fl/sber

Запрос

Заголовки

Название Тип Обязательно Описание
X-Api-Key string Да Идентификатор магазина.
X-Signature string Да Подпись запроса.

Формирование подписи

Запрос необходимо подписать электронной подписью RSA/SHA-256. Передайте результат в заголовке X-Signature.

Пошаговый алгоритм, требования к ключам, примеры для Python, PHP и OpenSSL, а также диагностика ошибки 20002 приведены в общем разделе «Формирование подписи для выплат».

Тело запроса

Параметр Тип данных Обязательно Описание
transaction string Да Уникальный номер транзакции на стороне мерчанта
amount integer Да Сумма в копейках
description string Да Описание к транзакции
fio string Да ФИО получателя
inn string Да ИНН физического лица
kvd string Да Код вида дохода (поле 20 платёжного поручения, см. 229-ФЗ)
account object Да Банковские реквизиты получателя (см. ниже)
snils string Нет СНИЛС физического лица
validate_self_employed boolean Нет Проверить статус самозанятого перед выплатой (по умолчанию false)
customer string Нет Email / телефон клиента
tax object Нет Налоговые реквизиты (см. таблицу ниже)
extra_data json Нет Дополнительные данные
fiscal_data json Нет Фискализация чека по 54-ФЗ

Объект account

Параметр Тип данных Обязательно Описание
account_number string Да Номер расчётного счёта
bank_bic string Да БИК банка получателя
bank_cor_account string Да Корреспондентский счёт банка
bank_name string Да Наименование банка

Объект tax

Передаётся при налоговом платеже в пользу ФНС.

Параметр Тип данных Обязательно Описание
taxPayerInn string Да ИНН самозанятого (налогоплательщика), 12 цифр
tax_101 string Да Статус составителя расчётного документа (поле 101), 2 цифры. Пример: 01
tax_104 string Да Код бюджетной классификации КБК (поле 104), 20 цифр. Пример: 18201061201010000510
tax_105 string Да Код ОКТМО (поле 105), до 8 цифр. Пример: 60701000
tax_106 string Нет Основание налогового платежа (поле 106), 2 заглавные буквы или 0. Пример: ТП
tax_107 string Нет Налоговый период (поле 107). Форматы: МС.03.2025, КВ.02.2025, ПЛ.02.2025, ГД.00.2025
tax_108 string Нет Номер налогового документа (поле 108), до 15 символов. Пример: ТР41797
tax_109 string Нет Дата налогового документа (поле 109), формат: YYYY-MM-DD. Пример: 2025-04-15
tax_uin string Нет Уникальный идентификатор налогового платежа (УИН), 4–25 цифр

Параметр kvd

kvd — код вида дохода, поле 20 в платёжном поручении (229-ФЗ, ст. 99 ч. 1, 2; ст. 101). Заполняется при перечислении заработной платы, отпускных, премий, выплатах самозанятым и иных выплатах физическим лицам. Не заполняется, если получателем является ИП или юридическое лицо.

Значение Описание
1 Размер взыскания ограничен. Заработная плата и иные доходы, в отношении которых ст. 99 229-ФЗ установлены ограничения размеров удержания
2 Периодические выплаты, взыскание невозможно. Периодические доходы, на которые согласно ч. 1 ст. 101 229-ФЗ не может быть обращено взыскание (за исключением доходов, указанных в ч. 2 ст. 101 229-ФЗ)
3 Периодические выплаты, размер взыскания не ограничен. Периодические доходы, к которым согласно ч. 2 ст. 101 229-ФЗ ограничения по взысканию не применяются
4 Разовые выплаты, взыскание невозможно. Единовременный доход, на который согласно ч. 1 ст. 101 229-ФЗ не может быть обращено взыскание (за исключением доходов, указанных в ч. 2 ст. 101 229-ФЗ)
5 Разовые выплаты, размер взыскания не ограничен. Единовременный доход, к которому согласно ч. 2 ст. 101 229-ФЗ ограничения по взысканию не применяются

Пример

{
 "transaction": "sber-requisites-20260910-0001",
 "amount": 100000,
 "description": "Тестовая выплата по договору 42",
 "fio": "Тестов Тест Тестович",
 "inn": "000000000000",
 "kvd": "1",
 "account": {
   "account_number": "00000000000000000000",
   "bank_bic": "000000000",
   "bank_cor_account": "00000000000000000000",
   "bank_name": "Тестовый банк"
 },
 "validate_self_employed": false,
 "customer": "customer@example.com"
}

Ответ

Выберите HTTP-код, чтобы посмотреть пример, параметры ответа и рекомендуемые действия.

Если HTTP-ответ не получен

Таймаут или разрыв соединения обрабатывайте так же, как ответ 5XX: результат операции неизвестен, поэтому сначала проверьте статус по исходному transaction. Не создавайте новую выплату с другим идентификатором.

Пример ответа 200 (OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "status": "processing",
  "transaction": "sber-requisites-20260910-0001",
  "amount": 100000,
  "commission": 0,
  "description": "Тестовая выплата по договору 42",
  "additional_data": null,
  "error_code": null,
  "error_message": null,
  "created_at": "2026-09-10T10:30:00"
}

Параметры ответа

Параметр Тип Описание
id string Идентификатор операции в KVELL.
status string Cтатус выплаты. Возможные значения приведены в разделе «Статусы выплаты».
transaction string Идентификатор операции, переданный мерчантом.
amount integer Сумма выплаты в копейках.
commission integer Комиссия в копейках.
description string | null Назначение выплаты.
additional_data object | null Дополнительные данные.
error_code string | null Код причины отклонения. Возможные значения приведены в разделе «Коды ошибок транзакции».
error_message string | null Описание причины отклонения. Для неотклонённой выплаты возвращается null.
created_at string Дата и время создания выплаты в формате ISO 8601.
Пример ответа 400 (Bad Request)
{
  "errors": [
    {
      "code": 20007,
      "message": "Транзакция совершалась прежде"
    }
  ]
}

Параметры ответа

Параметр Тип Описание
errors array Список ошибок. Коды и рекомендации приведены в разделе «Ошибки HTTP-ответов».
errors[].code integer Код ошибки.
errors[].message string Описание причины ошибки.
Пример ответа 403 (Forbidden)
{
  "errors": [
    {
      "code": 20037,
      "message": "Доступ запрещен"
    }
  ]
}

Параметры ответа

Параметр Тип Описание
errors array Список ошибок. Коды и рекомендации приведены в разделе «Ошибки HTTP-ответов».
errors[].code integer Код ошибки API.
errors[].message string Описание причины ошибки.
Пример ответа 404 (Not Found)
{
  "errors": [
    {
      "code": 20006,
      "message": "Магазин не найден"
    }
  ]
}

Параметры ответа

Параметр Тип Описание
errors array Список ошибок. Коды и рекомендации приведены в разделе «Ошибки HTTP-ответов».
errors[].code integer Код ошибки.
errors[].message string Описание причины ошибки.

Что означает ответ

Магазин с переданным X-Api-Key не найден в выбранном контуре. Выплата не создана.

Пример ответа 422 (Unprocessable Entity)
{
  "errors": [
    {
      "code": 20098,
      "message": "account.bank_bic: Field required"
    }
  ]
}

Параметры ответа

Параметр Тип Описание
errors array Список ошибок. Коды и рекомендации приведены в разделе «Ошибки HTTP-ответов».
errors[].code integer Код ошибки.
errors[].message string Описание причины ошибки.
Пример ответа 5XX (Internal Server Error)
{
  "errors": [
    {
      "code": 20000,
      "message": "Неизвестная ошибка"
    }
  ]
}

Параметры ответа

Параметр Тип Описание
errors array Список ошибок. Коды и рекомендации приведены в разделе «Ошибки HTTP-ответов».
errors[].code integer Код ошибки API.
errors[].message string Описание причины ошибки.

5XX, таймаут и разрыв соединения

Во всех этих случаях результат запроса считается неопределённым: выплата могла быть создана, даже если клиент не получил ответ. Оставьте транзакцию в своей системе в состоянии «обрабатывается» до получения подтверждённого результата от KVELL.

Такой сценарий может возникнуть из-за сетевого сбоя, разрыва соединения, превышения времени ожидания, технической ошибки сервера или клиентского ПО.

Единый алгоритм обработки

  1. Не помечайте выплату успешной или отклонённой только на основании технической ошибки.
  2. Сохраните выплату у себя в состоянии «обрабатывается».
  3. Запросите статус транзакции по исходному значению transaction.
  4. Если транзакция найдена, проверяйте её до получения финального статуса.
  5. Если запросы статуса продолжают завершаться ошибкой, обратитесь в поддержку и передайте transaction.

Не создавайте дублирующую выплату

Не отправляйте выплату повторно с новым transaction, пока результат исходной операции не установлен.

Статусы выплаты

Статус Финальный Что делать
new Нет Операция создана. Запрашивать статус транзакции.
processing Нет Выплата обрабатывается. Запрашивать статус транзакции. Не создавать новую выплату.
completed Да Выплата выполнена.
canceled Да Выплата отклонена.