Выплата по реквизитам с номинального счёта Сбера
API-метод создаёт выплату физическому лицу по банковским реквизитам через номинальный счёт Сбера. Выплата может завершиться сразу или остаться в обработке: результат определяйте по статусу транзакции.
Сценарий интеграции
- Сформируйте уникальный
transactionи укажите реквизиты получателя. - Подпишите точное тело запроса и отправьте выплату.
- Проверяйте состояние операции по
transaction, пока не получитеcompletedилиcanceled.
URL
Запрос
Заголовки
| Название | Тип | Обязательно | Описание |
|---|---|---|---|
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. Не создавайте новую выплату с другим идентификатором.
{
"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. |
{
"errors": [
{
"code": 20007,
"message": "Транзакция совершалась прежде"
}
]
}
Параметры ответа
| Параметр | Тип | Описание |
|---|---|---|
errors |
array | Список ошибок. Коды и рекомендации приведены в разделе «Ошибки HTTP-ответов». |
errors[].code |
integer | Код ошибки. |
errors[].message |
string | Описание причины ошибки. |
Параметры ответа
| Параметр | Тип | Описание |
|---|---|---|
errors |
array | Список ошибок. Коды и рекомендации приведены в разделе «Ошибки HTTP-ответов». |
errors[].code |
integer | Код ошибки API. |
errors[].message |
string | Описание причины ошибки. |
Параметры ответа
| Параметр | Тип | Описание |
|---|---|---|
errors |
array | Список ошибок. Коды и рекомендации приведены в разделе «Ошибки HTTP-ответов». |
errors[].code |
integer | Код ошибки. |
errors[].message |
string | Описание причины ошибки. |
Что означает ответ
Магазин с переданным X-Api-Key не найден в выбранном контуре. Выплата не создана.
{
"errors": [
{
"code": 20098,
"message": "account.bank_bic: Field required"
}
]
}
Параметры ответа
| Параметр | Тип | Описание |
|---|---|---|
errors |
array | Список ошибок. Коды и рекомендации приведены в разделе «Ошибки HTTP-ответов». |
errors[].code |
integer | Код ошибки. |
errors[].message |
string | Описание причины ошибки. |
{
"errors": [
{
"code": 20000,
"message": "Неизвестная ошибка"
}
]
}
Параметры ответа
| Параметр | Тип | Описание |
|---|---|---|
errors |
array | Список ошибок. Коды и рекомендации приведены в разделе «Ошибки HTTP-ответов». |
errors[].code |
integer | Код ошибки API. |
errors[].message |
string | Описание причины ошибки. |
5XX, таймаут и разрыв соединения
Во всех этих случаях результат запроса считается неопределённым: выплата могла быть создана, даже если клиент не получил ответ. Оставьте транзакцию в своей системе в состоянии «обрабатывается» до получения подтверждённого результата от KVELL.
Такой сценарий может возникнуть из-за сетевого сбоя, разрыва соединения, превышения времени ожидания, технической ошибки сервера или клиентского ПО.
Единый алгоритм обработки
- Не помечайте выплату успешной или отклонённой только на основании технической ошибки.
- Сохраните выплату у себя в состоянии «обрабатывается».
- Запросите статус транзакции по исходному значению
transaction. - Если транзакция найдена, проверяйте её до получения финального статуса.
- Если запросы статуса продолжают завершаться ошибкой, обратитесь в поддержку и передайте
transaction.
Не создавайте дублирующую выплату
Не отправляйте выплату повторно с новым transaction, пока результат исходной операции не установлен.
Статусы выплаты
| Статус | Финальный | Что делать |
|---|---|---|
new |
Нет | Операция создана. Запрашивать статус транзакции. |
processing |
Нет | Выплата обрабатывается. Запрашивать статус транзакции. Не создавать новую выплату. |
completed |
Да | Выплата выполнена. |
canceled |
Да | Выплата отклонена. |