Расщепление платежей
Расщепление платежа – это способ, при котором оплата, совершаемая потребителем, разбивается на уровне платежного агента, и он распределяет поступившие средства по поставщикам услуг.
Схема "Расщепление платежей"
- Пользователь заходит на веб-сайт услуги, указывает сумму, которую хочет оплатить. Выбирает "оплата банковской картой".
- Пользователь нажимает на кнопку "оплатить" и инициирует вызов платежного виджета. В клиентской части веб-сервиса формируется набор параметров вызова виджета и передаётся к серверной части.
- На стороне платёжной платформы выполняется подготовка виджета с учётом параметров вызова.
- На стороне платежной платформы Vepay происходит расщепление платежа (платежный агент сам задает сумму платежа на каждого партнера, указывая в параметрах его id).
- Платёжная форма отображается в пользовательском интерфейсе. Пользователь вводит реквизиты карты для оплаты, нажимает оплатить.
- От виджета к платёжной платформе отправляется запрос на выполнение целевого действия с учётом всех данных, введённых пользователем.
- На стороне платёжной платформы выполняется регистрация номера карты (если требуется) и регистрация платежа. Данные передаются в платёжную среду.
- В платёжной среде открывается страница банка-эмитента. Пользователь подтверждает платеж с помощью кода из sms. Нажимает "оплатить". Выполняются проверка карты и обработка платежа. В платёжную платформу поступает информация о результате.
- В платёжной платформе обрабатывается итоговая информация. Происходит отправка частей платежа получателям.
- Платежному агенту на заданный URL (если указан колбэк) отправляется программное оповещение о платеже.
- Происходит перенаправление пользователя на страницу клиента в соответствии с результатом оплаты.
Описание API Расщепления платежей
- На метод https://api.vepay.online/merchant/pay-parts поступает запрос следующего формата:
{
"type":1,
"extid":"166224",
"descript":"descript..",
"successurl":"http://example.com/s.php",
"cancelurl":"http://example.com/e.php",
"postbackurl":"http://example.com/p.php",
"failurl":"http://example.com/e.php",
"timeout":50,
"fullname":"Test TEst Test1",
"document_id":"Test document",
"parts":[
{
"merchant_id":1,
"amount":800
},
{
"merchant_id":2,
"amount":200
}
]
}
- На метод https://api.vepay.online/mfo/pay/lk-parts поступает запрос следующего формата:
{
"type": 3,
"extid": "641211",
"descript": "descript..",
"successurl": " http://site.ru/s",
"cancelurl": " http://site.ru/e",
"postbackurl":"http://site.ru/p",
"failurl": " http://site.ru/f",
"timeout": 50,
"fullname": "Test TEst Test1",
"document_id": "Test document",
"parts": [
{
"merchant_id": 120,
"amount": 10
},
{
"merchant_id": 122,
"amount": 20
}
]
}
- На метод https://api.vepay.online/mfo/pay/auto-parts поступает запрос следующего формата:
{
"card": 346,
"extid": "2123412412",
"postbackurl":"http://example.com/p.php",
"fullname":"string",
"document_id":"string",
"parts": [
{
"merchant_id": 120,
"amount": 10
},
{
"merchant_id": 122,
"amount": 20
}
]
}
Предполагается разработка новых методов, аналогично существующим. При создании платежа необходимо передавать список идентификаторов мерчантов и размер доли каждого из них. При этом в теле запроса значение amount не передается, так как это избыточно.
Параметры запроса:
| Параметры | Значение |
|---|---|
| type | Тип шлюза |
| extid | Внешний идентификатор запроса от платежного агента, который инициирует запрос |
| descript | Описание платежа |
| successurl | Адрес Url для возврата после завершения платежа (успех) |
| cancelurl | Адрес Url для возврата после отказа от оплаты |
| postbackurl | Адрес Url для обратного вызова |
| failurl | Адрес Url для возврата после завершения платежа (ошибка) |
| timeout | Тайм-аут ожидания оплаты, от 10 до 60 минут |
| fullname | Полное имя плательщика |
| merchant_id | Идентификаторы партнеров (поставщиков услуг), между которыми будет поделен платеж |
| document_id | Идентификатор документа. Указывается для основания платежа |
| amount | Cумма платежа, руб |
| card | ИД карты (для автоплатежа) |
| parts | Часть платежа |
| partsmerchant_id | Идентификатор мерчанта |
| partsamount | Сумма части |





