Выплата на банковский счет по токену
Если вам нужно проводить выплаты на банковский счет, вы можете хранить реквизиты для выплаты на нашей стороне. Для этого воспользуйтесь нашим виджетом токенизации для получения токена, сохраните его и проводите выплаты по токену.
Шаг 1. Сгенерируйте токен
Воспользуйтесь нашим виджетом токенизации или отправьте запрос на создание токена методом tokenize
. В ответе придет токен.
Пример запроса
curl -X POST \
https://proxy-stage.bank131.ru/api/v1/tokenize \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "bank_account_ru",
"bank_account_ru": {
"bik": "049205131",
"account": "40702810200000000025"
}
}'
Пример ответа
{
"status": "ok",
"token": "19f60ded07aca55eb43d1edeac15273d789b0c9b70df99a30851ee510827443f",
"data": {
"masked_account": "40702***0025"
}
}
Пропустите этот шаг, если у вас уже есть токен.
Шаг 2. Начните выплату
Начните выплату, используя метод session/init/payout
.
Вы можете узнать информацию о токене или о счете с помощью метода
token/info
.
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/session/init/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-d '{
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"token": "3f03ee2580046153bb0aa859558e7ada10d3835270fdb4c4b70961239d37f31d",
"full_name": "Иванов Иван Иванович",
"description": "Перевод средств"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}'
Пример ответа
{
"status": "ok",
"session": {
"id": "ps_1694821",
"status": "in_progress",
"created_at": "2024-02-27T09:25:30.655107Z",
"updated_at": "2024-02-27T09:25:30.753188Z",
"payments": [
{
"id": "po_495275",
"status": "in_progress",
"created_at": "2024-02-27T09:25:30.763145Z",
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "ru",
"ru": {
"token": "3f03ee2580046153bb0aa859558e7ada10d3835270fdb4c4b70961239d37f31d",
"full_name": "Иванов Иван Иванович",
"description": "Перевод средств"
}
}
},
"metadata": "good",
"amount_details": {
"amount": 10000,
"currency": "rub"
}
}
]
}
}
Шаг 3. Дождитесь уведомления о готовности сделать выплату
Банк 131 отправит вам вебхук ready_to_confirm
. Это значит,
что выплату можно провести, и Банк ждет вашего подтверждения (или отмены).
В теле вебхука придут все данные для выплаты.
В ответ следует отдавать HTTP-код 200.
Шаг 4. Подтвердите или отмените выплату
Проверьте данные для выплаты и подтвердите, что готовы её провести (с помощью
запроса session/confirm
), или отмените (отправьте запрос session/cancel
).
Шаг 5. Дождитесь уведомления о результате выплаты
Банк 131 отправит вам вебхук payment_finished
. В теле вебхука придут все данные, с которыми
проводилась выплата. Результат выплаты приходит в поле payment.status
.