Сплит-платежи по API
Эта схема позволяет разделить один платеж на несколько с помощью методов отправки выплат и приема платежей.
Она вам подойдет, если:
- часть денег получает юрлицо (площадка или сервис), а часть — физлицо (в том числе самозанятый);
- деньги нужно зачислить на банковскую карту физлица.
Кому подходит
Площадкам, на которых люди продают друг другу товары и услуги, платят за это деньги и перечисляют площадке комиссию.
Как это работает
Есть:
- отправитель — человек, который платит деньги за товар или услугу;
- получатель выплаты — человек, который получает часть денег (например, за продажу товаров);
- компания — получает часть денег, например, комиссию за использование своего сайта (это вы).
Вкратце:
Вы начинаете списание с холдированием и замораживаете деньги на карте отправителя.
Потом проводите выплату получателю.
Когда выплата проходит, списываете замороженную сумму с карты отправителя.
Разница между суммой платежа, который вы получили, и суммой выплаты, которую провели — это ваша комиссия.
А теперь подробнее.
Как провести сплит-платеж
Шаг 1. Токенизируйте карту получателя
Покажите получателю выплаты виджет токенизации. Получатель введет данные карты, а вам вернется ее токен.
Это можно сделать один раз, сохранить токен и потом отправлять на карту деньги по этому токену.
Шаг 2. Создайте запрос на списание денег с карты отправителя
- Создайте платежную сессию
session/create
. - Получите токен для работы с виджетом — с идентификатором платежной сессии, созданной на предыдущем шаге.
- Вызовите виджет платежной формы и покажите отправителю выплаты.
Отправитель проходит через процесс оплаты: вводит данные карты, подтверждает оплату по 3D Secure, если нужно.
Сумма платежа замораживается на карте отправителя.
Шаг 3. Получите уведомление о холдировании
Банк 131 пришлет вам вебхук ready_to_capture
. Это значит, что деньги успешно заморозились на карте отправителя. Можно проводить выплату.
Шаг 4. Отправьте выплату получателю
Заплатите получателю деньги — проведите выплату по токену его карты, который вы заранее получили и сохранили.
В этом примере получатель — самозанятый, выплата проводится с фискализацией в налоговой, вам приходит чек.
Создайте новую платежную сессию
session/create
.Отправьте деньги получателю запросом
session/start/payout/fiscalization
, в запросе передайте:
- токен банковской карты получателя,
- ФИО получателя в параметре
recipient.full_name
, - ИНН получателя в
tax_reference
, - назначение платежа в поле
metadata
.
- Получите вебхук
payment_finished
с чеком.
Шаг 5. Спишите замороженные деньги с карты отправителя
Это можно сделать запросом capture_request
.