Электронные кошельки
Сервис позволяет работать с электронными кошельками для самозанятых и любых партнеров, которым требуется эта функциональность.
На сегодняшний день реализована возможность:
- создавать анонимные электронные кошельки,
- создавать упрощенно идентифицированные электронные кошельки,
- повышать уровень анонимного кошелька для УПРИД кошелька,
- получать баланс кошелька,
- пополнять кошелек,
- списывать средства с кошелька,
- закрывать кошелек.
Также, кошелек может быть закрыт/заблокирован по решению Банка.
Общие правила работы
Правила работы с сервисом
- Сервис предоставляет backend для работы с кошельками.
- Открытие, закрытие, изменение баланса кошельков происходит в режиме онлайн.
- Подтверждение операций по email, номеру телефона происходит на frontend Банка 131.
- Запросы от партнера к Банку 131 организованы через REST API.
- Уведомления о статусах действий с кошельком приходят в формате вебхуков.
- Для каждого партнера разрешен определенный набор используемых методов.
- Блокировка, списание или заморозка денежных средств на кошельке может происходить при получении запроса от государственных органов: МВД, ФССП, ФСН и др.
Правила работы с электронными кошельками
- В одном проекте (X-PARTNER-PROJECT) физлицо НЕ может открыть несколько кошельков, даже если у них разный уровень идентификации и разные контактные данные (email, номер телефона).
- Кошельки открываются без срока действия и действуют до тех пор, пока проект (X-PARTNER-PROJECT) является активным.
- Нельзя закрыть кошелек с положительным балансом на счету.
- Кошельки с полной и упрощенной идентификацией открываются только граждан РФ.
- При открытии или закрытии кошелька с полной или упрощенной идентификацией отправляется уведомление в ФНС.
- Лимиты кошелька определяются согласно федеральному закону «О национальной платежной системе». Для кошельков также могут выставляться более строгие лимиты, чем регламентировано законодательством.
Формат работы с API
Формат работы с API (формирование адреса для отправки запросов и данных аутентификации) подробно описан на нашем сайте.
Создание анонимного электронного кошелька
Метод POST предназначен для создания анонимного электронного кошелька.
Адрес для отправки запроса
/wallet/create/anonymous
Параметры запроса
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
phone_number | + | string | Номер мобильного телефона без знака "+", 11 цифр |
+ | string | Валидный адрес электронной почты |
Пример запроса
curl -X POST \
https://demo.bank131.ru/wallet/create/anonymous \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-d '{
"phone_number": "79991234545",
"email": "ivanoff@yandex.ru"
}'
Параметры ответа
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
status | + | string | Статус запроса. Возможные варианты: ok , error |
data | + (при успешном запросе) | object | Объект с данными ответа |
request_id | + | string | Идентификатор запроса |
description | + | string | Описание статуса запроса, при успехе всегда отправляется ответ Запрос добавлен в очередь |
error | + (при неуспешном запросе) | object | Объект с данными ошибки |
code | + | string | Код ошибки |
description | + | string | Описание ошибки |
Коды ошибок
Код | Описание |
---|---|
partner_project_not_found | Не найден проект с указанным в заголовке идентификатором |
wallet_account_number_not_found | У партнера не настроена маска для генерации счетов |
validation_error | Ошибка валидации полей |
Пример успешного ответа
{
"status": "ok",
"data": {
"request_id": "03706d18-c433-4e89-a1ed-db058fc5626c",
"description": "Запрос добавлен в очередь"
}
}
Пример неуспешного ответа
{
"status": "error",
"error": {
"code": "partner_project_not_found",
"description": "Не найден проект с указанным в заголовке идентификатором"
}
}
Создание электронного кошелька с упрощенной идентификацией
Метод POST предназначен для создания электронного кошелька с упрощенной идентификацией (УПРИД).
Адрес для отправки запроса
/wallet/create/simplified
Параметры запроса
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
residence_type | + | string | Тип резидента. Всегда: FL_RESIDENT |
first_name | + | string | Имя |
last_name | + | string | Фамилия |
patronymic | - | string | Отчество |
birthday | + | string | Дата рождения. Формат: ДД.ММ.ГГГГ. Получатель должен быть старше 18-ти лет |
birthplace | + | string | Место рождения |
citizenship | + | string | Гражданство. Формат: ISO 3166-1 alpha-2 |
inn | + | string | ИНН клиента, 12 цифр |
phone_number | + | string | Номер мобильного телефона без знака "+", 11 цифр |
+ | string | Валидный адрес электронной почты | |
documents | + | array | Параметры документа |
type | + | string | Тип документа. Всегда: PASSPORT_RF (паспорт РФ) |
series | + | string | Серия документа, 4 цифры |
number | + | string | Номер документа, 6 цифр |
issuer | + | string | Кем выдан |
issuer_date | + | string | Дата выдачи в формате ДД.ММ.ГГГГ |
issuer_code | + | string | Код подразделения |
Пример запроса
curl -X POST \
https://demo.bank131.ru/wallet/create/simplified \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-d '{
"residence_type": "FL_RESIDENT",
"last_name": "Дмитриев",
"first_name": "Иван",
"patronymic": "Герасимович",
"birthday": "01.01.1970",
"birthplace": "г. Новгород",
"citizenship": "RU",
"inn": "065553161159",
"phone_number": "79000000000",
"email": "name@email.com",
"documents": [
{
"type": "PASSPORT_RF",
"series": "0234",
"number": "567890",
"issuer": "ОТДЕЛОМ УФМС РОССИИ",
"issuer_date": "01.01.2010",
"issuer_code": "123-000"
}
]
}'
Параметры ответа
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
status | + | string | Статус запроса. Возможные варианты: ok , error |
data | + (при успешном запросе) | object | Объект с данными ответа |
request_id | + | string | Идентификатор запроса |
description | + | string | Описание статуса запроса, при успехе всегда отправляется ответ Запрос добавлен в очередь |
error | + (при неуспешном запросе) | object | Объект с данными ошибки |
code | + | string | Код ошибки |
description | + | string | Описание ошибки |
Коды ошибок
Код | Описание |
---|---|
partner_project_not_found | Не найден проект с указанным в заголовке идентификатором |
wallet_account_number_not_found | У партнера не настроена маска для генерации счетов |
validation_error | Ошибка валидации полей |
Пример успешного ответа
{
"status": "ok",
"data": {
"request_id": "03706d18-c433-4e89-a1ed-db058fc5626c",
"description": "Запрос добавлен в очередь"
}
}
Пример неуспешного ответа
{
"status": "error",
"error": {
"code": "partner_project_not_found",
"description": "Не найден проект с указанным в заголовке идентификатором"
}
}
Повышение уровня анонимного кошелька до УПРИД
Метод POST предназначен для повышения анонимного кошелька до уровня УПРИД кошелька.
Адрес для отправки запроса
/wallet/{wallet_id}/identification/up_to_simplified
Параметры запроса
При вызове метода укажите идентификатор кошелька (в примере ниже это цифры 1234
).
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
inn | + | string | ИНН клиента, 12 цифр |
personal_info | + | object | Информация о клиенте |
first_name | + | string | Имя |
last_name | + | string | Фамилия |
middle_name | - | string | Отчество |
birthday | + | string | Дата рождения. Формат: ДД.ММ.ГГГГ. Получатель должен быть старше 18-ти лет |
birthplace | + | string | Место рождения |
citizenship | + | string | Гражданство. Формат: ISO 3166-1 alpha-2 |
passport | + | object | Данные паспорта |
series | + | string | Серия документа, 4 цифры |
number | + | string | Номер документа, 6 цифр |
issuer | + | string | Кем выдан |
issuer_date | + | string | Дата выдачи в формате ДД.ММ.ГГГГ |
issuer_code | + | string | Код подразделения |
Пример запроса
curl -X POST \
https://demo.bank131.ru/wallet/1234/identification/up_to_simplified \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-d '{
"personal_info": {
"first_name": "Иванов",
"last_name": "Николай",
"middle_name": "Петрович",
"citizenship": "RU",
"birthplace": "г. Пенза",
"birthday": "06.06.1990"
},
"inn": "123456789123",
"passport": {
"series": "0430",
"number": "123223",
"issuer_date": "",
"issuer_code": "043-123",
"issuer": "УВД35 г. Москвы"
}
}'
Параметры ответа
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
status | + | string | Статус запроса. Возможные варианты: ok , error |
data | + (при успешном запросе) | object | Объект с данными ответа |
request_id | + | string | Идентификатор запроса |
description | + | string | Описание статуса запроса |
error | + (при неуспешном запросе) | object | Объект с данными ошибки |
code | + | string | Код ошибки |
description | + | string | Описание ошибки |
Коды ошибок
Код | Описание |
---|---|
partner_project_not_found | Не найден проект с указанным в заголовке идентификатором |
internal_error | Внутренняя ошибка |
validation_error | Ошибка валидации полей |
phone_number_not_found | Не найден номер телефона |
unexpected_error | Внутренняя ошибка |
Пример успешного ответа
{
"status": "ok",
"data": {
"description": "Задача на повышение уровня идентификации поставлена в очередь",
"request_id": "03706d18-c433-4e89-a2ed-db058fc5626c"
}
}
Пример неуспешного ответа
{
"status": "error",
"error": {
"code": "partner_project_not_found",
"description": "Не найден проект с указанным в заголовке идентификатором"
}
}
Получение баланса кошелька
Метод GET предназначен для получения баланса кошелька.
Адрес для отправки запроса
/wallet/{wallet_id}/balance
Параметры запроса
При вызове метода укажите идентификатор кошелька (в примере ниже это цифры 1234
).
Пример запроса
curl -X GET \
https://demo.bank131.ru/wallet/1234/balance \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
Параметры ответа
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
status | + | string | Статус запроса. Возможные варианты: ok , error |
data | + (при успешном запросе) | object | Объект с данными |
wallet_id | + | string | Идентификатор кошелька |
balance | + | number | Баланс в копейках |
currency | + | string | Валюта |
error | + (при неуспешном запросе) | object | Объект с данными об ошибке |
code | + | string | Код ошибки |
description | + | string | Описание ошибки |
Коды ошибок
Код | Описание |
---|---|
partner_project_not_found | Не найден проект с указанным в заголовке идентификатором |
internal_error | Внутренняя ошибка |
wallet_not_found | Активный кошелёк не найден |
wallet_closed_found | Кошелёк является закрытым |
unexpected_error | Внутренняя ошибка |
Пример успешного ответа
{
"status": "ok",
"data": {
"wallet_id": "1234",
"balance": 100321,
"currency": "RUB"
}
}
Пример неуспешного ответа
{
"status": "error",
"error": {
"code": "wallet_not_found",
"description": "Активный кошелек не найден"
}
}
Пополнение кошелька
Метод POST предназначен для пополнения электронного кошелька.
Адрес для отправки запроса
/api/v1/session/init/payment
Параметры запроса
Параметры запроса зависят от способа пополнения кошелька:
Полный список параметров запроса можно посмотреть на нашем сайте.
Пополнение кошелька с банковской карты
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
payment_details | + | object | Платежные данные |
type | + | string | Тип способа оплаты: card |
card | + | object | Данные банковской карты |
type | + | string | Тип передачи данных карты: bank_card |
bank_card | + | object | Карта в открытом виде |
number | + | string | Номер карты |
expiration_month | + | string | Месяц |
expiration_year | + | string | Год |
security_code | + | string | Секретный код CVC |
amount_details | + | object | Сумма |
amount | + | int | Значение суммы в копейках. Чтобы передать 100 рублей, укажите 10000 |
currency | + | string | Код валюты согласно ISO 4217: rub |
participant_details | + | object | Информация об участниках |
sender | + | object | Данные отправителя |
full_name | + | string | Полное имя |
recipient | + | object | Данные получателя |
full_name | + | string | Полное имя (имя совпадает с именем отправителя) |
wallet_id | + | string | Идентификатор кошелька |
customer | + | object | Данные клиента вашей системе |
reference | + | string | Идентификатор пользователя (до 128 символов) |
contacts | - | array | Список контактов пользователя |
payment_options | - | object | Дополнительные параметры платежа |
metadata | - | * | Дополнительная информация |
Пополнение кошелька через СБП
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
payment_details | + | object | Платежные данные |
type | + | string | Тип способа оплаты: faster_payment_system |
faster_payment_system | + | object | Данные банковской карты |
phone | + | string | Телефон получателя |
bank_id | + | string | Идентификатор банка получателя в СБП. Чтобы получить идентификатор, используйте метод fps/banks |
description | + | string | Назначение выплаты |
amount_details | + | object | Сумма |
amount | + | int | Значение суммы в копейках. Чтобы передать 100 рублей, укажите 10000 |
currency | + | string | Код валюты согласно ISO 4217: rub |
participant_details | + | object | Информация об участниках |
sender | + | object | Данные отправителя |
full_name | + | string | Полное имя |
recipient | + | object | Данные получателя |
full_name | + | string | Полное имя (имя совпадает с именем отправителя) |
wallet_id | + | string | Идентификатор кошелька |
customer | + | object | Данные клиента вашей системе |
reference | + | string | Идентификатор пользователя (до 128 символов) |
contacts | - | array | Список контактов пользователя |
payment_options | - | object | Дополнительные параметры платежа |
metadata | - | * | Дополнительная информация |
Пример запроса для пополнения кошелька с банковской карты
curl -X POST \
https://demo.bank131.ru/api/v1/session/init/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242",
"expiration_month": "12",
"expiration_year": "29",
"security_code": "123"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "rub"
},
"customer": {
"reference": "ew_online",
"contacts": [
{
"email": "email@131.ru"
}
]
},
"participant_details": {
"sender": {
"full_name": "Full Name Test"
},
"recipient": {
"full_name": "Full Name Test",
"wallet_id": "98364988927770625"
}
},
"payment_options": {
"return_url": "https://www.131.ru",
"recurrent": false
},
"metadata": {
"key": "value"
}
}
Параметры ответа
Название | Обязательность | Тип | Описание |
---|---|---|---|
status | + | string | Статус. Возможные варианты: error , ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Пример успешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2025-01-27T02:03:00.000000Z",
"updated_at": "2025-01-27T02:03:00.000000Z",
"acquiring_payments": [
{
"id": "pm_203",
"status": "in_progress",
"created_at": "2025-01-27T02:03:00.000000Z",
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242",
"country_iso3": "GBR"
}
},
"amount_details": {
"amount": 1000,
"currency": "rub"
},
"customer": {
"reference": "ew_online",
"contacts": [
{
"email": "email@131.ru"
}
]
},
"participant_details": {
"sender": {
"full_name": "Full Name Test"
},
"recipient": {
"full_name": "Full Name Test",
"wallet_id": "1234"
}
},
"payment_options": {
"return_url": "https://www.131.ru",
"recurrent": false
},
"metadata": {
"key": "value"
}
}
]
}
}
Пример неуспешного ответа
{
"status": "error",
"error": {
"code": "error code",
"description": "error description"
}
}
Списание с кошелька
Метод POST предназначен для списания средств с электронного кошелька.
Адрес для отправки запроса
/api/v1/session/init/payout
Параметры запроса
Параметры запроса зависят от способа вывода средств:
- Вывод средств с кошелька на банковский счет,
- Вывод средств с кошелька на банковскую карту,
- Вывод средств с кошелька через СБП.
Полный список параметров запроса можно посмотреть на нашем сайте.
Вывод средств с кошелька на банковский счет
Название | Обязательность | Тип | Описание |
---|---|---|---|
payment_method/payout_details | + | object | Платежные данные |
type | + | string | Тип способа получения выплаты: bank_account |
bank_account | + | object | Банковский счет получателя |
system_type | + | string | Система банковских платежей: ru |
ru | + | object | Счет получателя в российском банке |
bik | + | string | БИК банка получателя |
account | + | string | Банковский счет получателя |
full_name | + | string | ФИО физического лица |
description | + | string | Назначение выплаты |
amount_details | + | object | Сумма |
amount | + | int | Значение суммы в копейках. Чтобы передать 100 рублей, укажите 10000 |
currency | + | string | Код валюты согласно ISO 4217: rub |
participant_details | + | object | Информация об участниках |
sender | + | object | Данные отправителя |
full_name | + | string | Полное имя |
wallet_id | + | string | Идентификатор кошелька |
recipient | + | object | Данные получателя |
full_name | + | string | Полное имя |
metadata | - | * | Дополнительная информация |
Вывод средств с кошелька на банковскую карту
Название | Обязательность | Тип | Описание |
---|---|---|---|
payment_method/payout_details | + | object | Платежные данные |
type | + | string | Тип способа получения выплаты: card |
card | + | object | Банковская карта получателя |
type | + | string | Тип передачи данных карты: bank_card |
bank_card | + | object | Карта в открытом виде |
number | + | string | Номер карты |
expiration_month | + | string | Месяц |
expiration_year | + | string | Год |
security_code | + | string | Секретный код CVC |
amount_details | + | object | Сумма |
amount | + | int | Значение суммы в копейках. Чтобы передать 100 рублей, укажите 10000 |
currency | + | string | Код валюты согласно ISO 4217: rub |
participant_details | + | object | Информация об участниках |
sender | + | object | Данные отправителя |
full_name | + | string | Полное имя |
wallet_id | + | string | Идентификатор кошелька |
recipient | + | object | Данные получателя |
full_name | + | string | Полное имя |
metadata | - | * | Дополнительная информация |
Вывод средств с кошелька через СБП
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
payment_method/payout_details | + | object | Платежные данные |
type | + | string | Значение: bank_account |
bank_account | + | object | Банковский счет |
system_type | + | string | Система банковских платежей. Всегда: faster_payment_system |
faster_payment_system | + | object | Данные СБП |
phone | + | string | Телефон получателя |
bank_id | + | string | Идентификатор банка получателя в СБП |
description | + | string | Назначение выплаты (не более 140 символов). Как сформировать |
amount_details | + | object | Сумма |
amount | + | int | Сумма в копейках. Значение должно быть больше нуля. Чтобы передать 100 рублей, укажите 10000 |
currency | + | string | Код валюты согласно ISO 4217. Регистр не важен. Всегда: rub |
participant_details | + | object | Информация об участниках |
sender | + | object | Данные отправителя |
full_name | + | string | Полное имя |
wallet_id | + | string | Идентификатор кошелька |
recipient | + | object | Данные получателя |
full_name | + | string | Полное имя получателя |
metadata | - | * | Дополнительная информация |
Пример запроса вывода из средств из кошелька на карту
curl -X POST \
https://demo.bank131.ru/api/v1/session/init/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242",
"expiration_month": "12",
"expiration_year": "29",
"security_code": "123"
}
}
},
"amount_details": {
"amount": 2000,
"currency": "rub"
},
"participant_details": {
"sender": {
"full_name": "Full Name",
"wallet_id": "1234"
},
"recipient": {
"full_name": "Full Name"
}
},
"metadata": {
"key": "value"
}
}
Параметры ответа
Название | Обязательность | Тип | Описание |
---|---|---|---|
status | + | string | Статус. Возможные варианты: error , ok |
session | - | object | Платежная сессия |
error | - | object | Ошибка |
Пример успешного ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2025-01-27T02:03:00.000000Z",
"updated_at": "2025-01-27T02:03:00.000000Z",
"payments": [
{
"id": "po_2018",
"status": "in_progress",
"created_at": "2025-01-27T02:03:00.000000Z",
"payment_method": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242",
"country_iso3": "GBR"
}
},
"amount_details": {
"amount": 2000,
"currency": "rub"
},
"participant_details": {
"sender": {
"full_name": "Full Name",
"wallet_id": "1234"
},
"recipient": {
"full_name": "Full Name"
}
},
"metadata": {
"key": "value"
}
}
]
}
}
Пример неуспешного ответа
{
"status": "error",
"error": {
"code": "error code",
"description": "error description"
}
}
Закрытие кошелька
Метод POST предназначен для закрытия кошелька по требованию клиента.
Адрес для отправки запроса
/wallet/{wallet_id}/close
Параметры запроса
При вызове метода укажите идентификатор кошелька (в примере ниже это цифры 1234
).
Пример запроса
curl -X POST \
https://demo.bank131.ru/wallet/1234/close \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-d ''
Параметры ответа
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
status | + | string | Статус запроса. Возможные варианты: ok , error |
data | + (при успешном запросе) | object | Объект с данными |
request_id | + | string | Идентификатор запроса |
description | + | number | Описание статуса запроса |
error | + (при неуспешном запросе) | object | Объект с данными об ошибке |
code | + | string | Код ошибки |
description | + | string | Описание ошибки |
Коды ошибок
Код | Описание |
---|---|
partner_project_not_found | Не найден проект с указанным в заголовке идентификатором |
wallet_not_found | Активный кошелёк не найден |
wallet_not_nullable_balance_error | Баланс кошелька должен быть нулевым |
wallet_block_error | Ошибка при блокировке кошелька в bookkeeper |
unexpected_error | Внутренняя ошибка |
Пример успешного ответа
{
"status": "ok",
"data": {
"description": "Кошелек поставлен на закрытие",
"request_id": "03706d18-c433-4e89-a2ed-db058fc5626c"
}
}
Пример неуспешного ответа
{
"status": "error",
"error": {
"code": "wallet_not_nullable_balance_error",
"description": "Баланс кошелька должен быть нулевым. Текущий баланс - 3000"
}
}
Вебхуки
В заголовках вебхуков приходят параметры:
Content-Type: application/json
- string, тип контентаX-PARTNER-SIGN: signature
- string, подпись
Вебхук operation_with_wallet
Данный вебхук приходит при совершении клиентом следующих операций:
-
Создание кошелька.
-
Повышение уровня кошелька.
-
Закрытие кошелька.
Параметры вебхука
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
type | + | string | Тип вебхука: operation_with_wallet |
data | + | object | Объект с данными |
operation_type | + | string | Тип операции: - wallet_create - кошелёк создан,- wallet_close - кошелёк закрыт,- up_to_uprid_level - уровень кошелька повышен |
wallet_id | + (не приходит при wallet_close ) | string | Идентификатор кошелька |
description | + | string | Описание операции |
request_id | + | string | Идентификатор запроса |
Примеры вебхука
{
"type": "operation_with_wallet",
"data": {
"operation_type": "wallet_create",
"wallet_id": "1234",
"description": "Кошелек создан",
"request_id": "c8d16809-51a9-4aa3-8b10-ef75d1f0b866"
}
}
{
"type": "operation_with_wallet",
"data": {
"operation_type": "wallet_close",
"description": "Кошелек успешно закрыт",
"request_id": "c8d16809-51a9-4aa3-8b10-ef75d1f0b866"
}
}
{
"type": "operation_with_wallet",
"data": {
"operation_type": "up_to_uprid_level",
"wallet_id": "1234",
"description": "Уровень кошелька повышен и изменен на SIMPLIFIED",
"request_id": "c8d16809-51a9-4aa3-8b10-ef75d1f0b866"
}
}
Вебхук action
Данный вебхук приходит при отправке клиенту сообщения по СМС или email при завершении операции создания кошелька.
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
type | + | string | Тип вебхука: action |
data | + | object | Объект с данными |
operation_type | + | string | Тип операции: - sms_create - СМС создано,- sms_send - СМС отправлено,- e-mail_send - письмо отправлено |
description | + | string | Описание операции |
request_id | + | string | Идентификатор запроса |
uuid | + | string | Уникальный идентификатор СМС или email-сообщения |
Примеры вебхука
{
"type": "action",
"data": {
"operation_type": "sms_create",
"description": "Создано отложенное сообщение для подтверждения номера телефона",
"request_id": "c8d16809-51a9-4aa3-8b10-ef75d1f0b866",
"uuid": "1215be96-47ab-46f8-9391-ae369e1ad7a3"
}
}
{
"type": "action",
"data": {
"operation_type": "sms_send",
"description": "Отправлено отложенное сообщение для подтверждения номера телефона",
"request_id": "c8d16809-51a9-4aa3-8b10-ef75d1f0b866",
"uuid": "1215be96-47ab-46f8-9391-ae369e1ad7a3"
}
}
{
"type": "action",
"data": {
"operation_type": "e-mail_send",
"description": "Отправлено подтверждение email адреса",
"request_id": "c8d16809-51a9-4aa3-8b10-ef75d1f0b866",
"uuid": "1215be96-47ab-46f8-9391-ae369e1ad7a3"
}
}
Вебхук notification
Банк может заблокировать или закрыть кошелек в следующих случаях:
- данные владельца недействительны,
- персональные данные устарели,
- по решению Банка,
- по решению суда,
- по заявлению клиента,
- по истечении срока действия.
Разблокировка происходит по решению Банка.
Параметры вебхука
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
type | + | string | Тип вебхука: notification |
data | + | object | Объект с данными |
wallet_id | + | string | Идентификатор кошелька |
operation_type | + | string | Тип операции: - wallet_is_blocked - кошелёк заблокирован,- wallet_is_unblocked - кошелёк разблокирован,- wallet_is_closed - кошелёк закрыт,- wrong_personal_data - недействительные данные |
operation_time | + | ISO TIME | Дата и время закрытия кошелька в формате YYYY-MM-DDT02:03:00.000000Z |
reason | + | string | Причина закрытия/блокировки/разблокировки кошелька |
Примеры вебхука
{
"type": "notification",
"data": {
"wallet_id": "1234",
"operation_type": "wrong_personal_data",
"operation_time": "2025-04-03T02:00:59.104425+03:00",
"reason": "Недействительные данные"
}
}
{
"type": "notification",
"data": {
"wallet_id": "1234",
"operation_type": "wallet_is_blocked",
"operation_time": "2025-04-03T02:00:59.104425+03:00",
"reason": "По решению суда"
}
}
{
"type": "notification",
"data": {
"wallet_id": "1234",
"operation_type": "wallet_is_unblocked",
"operation_time": "2025-04-03T02:00:59.104425+03:00",
"reason": "Актуализированы ПДн"
}
}
{
"type": "notification",
"data": {
"wallet_id": "1234",
"operation_type": "wallet_is_closed",
"operation_time": "2025-04-03T02:00:59.104425+03:00",
"reason": "По решению банка"
}
}
Вебхук action_required
Данный вебхук приходит при необходимости редиректа на страницу виджета.
Параметры вебхука
Название | Обязательность | Тип | Описание |
---|---|---|---|
type | + | string | Тип вебхука: action_required |
session | + | object | Платежная сессия |
Пример вебхука
{
"type": "action_required",
"session": {
"id": "ps_3595815",
"status": "in_progress",
"created_at": "2025-05-22T13:47:29.029948Z",
"updated_at": "2025-05-22T13:47:29.111328Z",
"payments": [
{
"id": "po_953492",
"status": "pending",
"created_at": "2025-05-22T13:47:29.128937Z",
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"bik": "049205131",
"account": "40702810900000000011",
"full_name": "ООО ДваПиЭр",
"description": "Выплата",
"is_fast": false,
"kpp": "156605101",
"inn": "3316004790"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "rub"
},
"amounts": {},
"metadata": {
"key": "value"
},
"payment_metadata": {},
"participant_details": {
"sender": {
"full_name": "Full Name Test",
"wallet_id": "1234"
},
"recipient": {
"full_name": "Full Name Test"
}
},
"customer_interaction": {
"type": "redirect",
"redirect": {
"url": "https://stage-verify.131.ru/ru/verify/transaction/70cf5df9-a4e5-491a-8fdd-5e0b02d26370/cG1fNTA0/41752947790cd418b9419454011ea6a2ec1ad94cbc84c52977dc86dffbfcd922",
"base_url": "https://stage-verify.131.ru/ru/verify/transaction/70cf5df9-a4e5-491a-8fdd-5e0b02d26370/cG1fNTA0/41752947790cd418b9419454011ea6a2ec1ad94cbc84c52977dc86dffbfcd922",
"method": "GET",
"qs": {},
"params": {}
}
}
}
]
}
}
Вебхук в случае ошибки
В случае ошибки возвращается название типа вебхука и описание ошибки.
Параметры
Название | Обязательность | Тип данных | Описание |
---|---|---|---|
type | + | string | Тип вебхука: operation_with_wallet |
data | + | object | Объект с данными |
operation_type | + | string | Тип операции: - wallet_create - кошелёк создан,- wallet_close - кошелёк закрыт,- up_to_uprid_level - уровень кошелька повышен |
request_id | + | string | Идентификатор запроса |
error | + | object | Объект с данными об ошибке |
code | + | string | Код ошибки |
description | + | string | Описание ошибки |
Примеры вебхука
{
"type": "operation_with_wallet",
"data": {
"request_id": "c8d16809-51a9-4aa3-8b10-ef75d1f0b866",
"operation_type": "wallet_create"
},
"error": {
"code": "internal_error",
"description": "Внутренняя ошибка"
}
}
{
"type": "operation_with_wallet",
"data": {
"request_id": "c8d16809-51a9-4aa3-8b10-ef75d1f0b866",
"operation_type": "wallet_close"
},
"error": {
"code": "wallet_not_closed",
"description": "Кошелек не может быть закрыт. Подтверждение не получено"
}
}
{
"type": "operation_with_wallet",
"data": {
"request_id": "c8d16809-51a9-4aa3-8b10-ef75d1f0b866",
"operation_type": "up_to_uprid_level"
},
"error": {
"code": "wallet_update_identification_error",
"description": "Невозможно обновить идентификацию кошелька. Подтверждение не получено. [Wallet_id] - 1234"
}
}
Коды ошибок
Код ошибки | Описание ошибки |
---|---|
phone_in_blacklist | Номер телефона в чёрном списке |
phone_already_exists | Кошелёк с таким номером телефона уже существует |
email_in_blacklist | Адрес email в чёрном списке |
email_already_exists | Кошелёк с таким email уже существует |
internal_error | Внутренняя ошибка |
phone_not_confirmed | Проверка для номера телефона не пройдена. Создание кошелька отменено |
email_not_confirmed | Проверка для email не пройдена. Создание кошелька отменено |
inn_in_blacklist | ИНН в чёрном списке |
invalid_passport | Паспорт недействительный |
beneficiary_verification_failed | Проверка бенефициара завершилась ошибкой |
wallet_update_identification_error | Произошла ошибка после запроса в bookkepeer для получения информации о кошельке |
wallet_update_identification_error | Произошла ошибка после запроса в bookkepeer для блокировки кошелька |
wallet_update_identification_error | Невозможно обновить идентификацию кошелька. Подтверждение не получено |
wallet_update_identification_error | Произошла ошибка после разблокировки кошелька в bookkeeper |
wallet_update_identification_error | Произошла ошибка после запроса в bookkepeer для разблокировки кошелька |
wallet_update_identification_error | ИНН в чёрном списке |
wallet_update_identification_error | Произошла ошибка после проверки бенефициара |
wallet_update_identification_error | Произошла ошибка при создании кошелька |
wallet_update_identification_error | Произошла ошибка после запроса в bookkepeer для перевода баланса |
wallet_update_identification_error | Произошла ошибка после закрытия анонимного кошелька |
wallet_not_closed | Кошелек не может быть закрыт. Подтверждение не получено |
wallet_close_error | Кошелек не может быть закрыт и разблокирован. Ошибка в промежуточном программном обеспечении |
wallet_close_error | Невозможно зафиксировать закрытие кошелька в промежуточном программном обеспечении |