Перейти к основному содержимому

Выплаты с виджетом

Вы можете делать выплаты с помощью виджета Банка 131. Виджет сохраняет номер счета на своей стороне, а вам возвращает токен, который нужно использовать для выплат.

Шаг 1. Сгенерируйте публичный токен

Публичный токен нужен, чтобы подключить виджет. Отправьте запрос Банку 131 на создание токена (token), передав в нем тип виджета tokenize_widget. В ответе вы получите публичный токен.

Пример генерации публичного токена
curl -X POST \
http://demo.bank131.ru/api/v1/token \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"tokenize_widget": {
"access": true
}
}'

Шаг 2. Подключите виджет на сайт

Инициализируйте виджет на сайте с помощью публичного токена, полученного на предыдущем шаге.

После этого получатель выплаты сможет ввести номер банковского счета в форму сбора данных.

Шаг 3. Создайте платежную сессию

Отправьте запрос на создание платежной сессии session/create. В ответе вы получите идентификатор сессии. Этот идентификатор используется во всех последующих методах.

Вы можете создать сессию и выплату одновременно (session/init/payout). В этом случае сразу передайте параметры выплаты с токеном, полученным из виджета, и пропустите следующий шаг. Не рекомендуем использовать этот способ.

Пример создания платежной сессии
curl -X POST \
https://demo.bank131.ru/api/v1/session/create \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"metadata": "good"
}'

Шаг 4. Отправьте выплату

Выполните запрос session/start/payout, передав идентификатор сессии и параметры выплаты с токеном, полученным из виджета.

к сведению

Вы можете проверить данные токена или счета с помощью метода token/info. Например, можно узнать первые 5 и последние 4 цифры номера счета, чтобы показать получателю, на какой именно счет придет выплата.

Пример выплаты с виджетом
curl -X POST \
https://demo.bank131.ru/api/v1/session/start/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"token": "3f03ee2580046153bb0aa859558e7ada10d3835270fdb4c4b70961239d37f31d",
"full_name": "Иванов Иван Иванович",
"description": "Перевод средств"
}
}

},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}'

Шаг 5. Дождитесь вебхука о готовности выплаты

Банк 131 отправит вам вебхук ready_to_confirm о готовности провести выплату и ожидании вашего подтверждения или отмены.

Шаг 6. Подтвердите или отмените выплату

Проверьте данные и подтвердите (session/confirm) или отмените (session/cancel) выплату.

Пример с подтверждением выплаты
curl -X POST \
https://demo.bank131.ru/api/v1/session/confirm \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'
Пример с отменой выплаты
curl -X POST \
https://demo.bank131.ru/api/v1/session/cancel \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'

Шаг 7. Дождитесь вебхука о результате выплаты

Банк 131 отправит вам вебхук payment_finished. Информация о результате выплаты содержится в параметре status объекта payments/payout_list.

Статус succeeded означает, что выплата прошла успешно. Если статус failed — выплата не прошла из-за ошибки.

Какие бывают статусы выплаты >

Посмотреть коды ошибок >





ИИ-помощник