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

Выплата в иностранной валюте

Этот сценарий описывает отправку выплаты, если сумма к выплате на вашей стороне номинирована в валюте, отличной от рублей, например в евро или долларах. Поскольку Банк 131 осуществляет выплаты только в рублях, этот способ поможет вам инициировать платежную сессию в иностранной валюте и произвести выплату в рублях. Информация о курсе передается в ознакомительном порядке и не является распоряжением на конвертацию.

Поддерживаются выплаты в иностранных валютах:

  • Евро,
  • Доллар США.

Перед началом выплат сообщите вашему менеджеру о том, что вы планируете работать по этому сценарию.

Шаг 1. Начните выплату

Отправьте запрос на создание платежной сессии session/create, затем — на создание выплаты с идентификатором этой сессии session/start/payout. В объекте encrypted_card передайте токенизированные данные банковской карты, полученные из виджета.

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

Набор обязательных параметров зависит от типа карты получателя.

Если вы отправляете деньги на карту российского банка, вам понадобится:

  • номер карты;
  • имя получателя;
  • сумма в минорных единицах (если платите 100 долларов или евро, в поле amount_details.amount нужно передать 10000).

Посмотреть параметры для выплаты на российские карты

Шаг 2. Дождитесь уведомления о готовности сделать выплату

В этом сценарии автоподтверждение выплаты не применяется, необходимо дождаться получения вебхука для подтверждения выплаты.

Банк 131 отправит вам вебхук ready_to_confirm (на адрес для вебхуков, который вы заранее передали менеджеру Банка). Это значит, что выплату можно провести, и Банк ждет вашего подтверждения (или отмены). В теле вебхука сумма будет указана в рублях.

В ответ следует отдавать HTTP-код 200.

Пример вебхука ready_to_confirm
curl -X POST \
https://partner.ru \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "ready_to_confirm",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"next_action": "confirm",
"payments": [
{
"id": "po_2018",
"status": "pending",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [
{
"email": "user@gmail.com"
}
]
},
"payment_method": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 7550,
"currency": "rub"
},
"metadata": "good"
}
]
}
}'

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

Проверьте данные для выплаты и подтвердите, что готовы её провести (с помощью запроса session/confirm) или отмените (отправьте запрос session/cancel). Запрос является платежным распоряжением для банка на осуществление выплаты в рублях. В теле вебхука будет передана сумма в рублях — именно эта сумма будет отправлена получателю.

Пример запроса session/confirm
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"
}'

Пример запроса session/cancel

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"
}'