Выплата
При выплате пользователь инициирует платеж, выбирает подходящую опцию и ожидает зачисление средств на свой счет.
| Регионы использования | Все страны |
| Валюты выплаты | Информацию уточняйте у курирующего менеджера Flashpay. |
| Суммы платежей | Информацию уточняйте у курирующего менеджера Flashpay. Также вы можете уточнить в Dashboard минимальную и максимальную сумму платежа, доступную в вашем проекте. |
| Время проведения платежа | Информацию уточняйте у курирующего менеджера Flashpay. |
| Конвертация валют | На стороне Flashpay |
| Возврат | |
| Организация и стоимость подключения | По согласованию с курирующим менеджером Flashpay |
Основные операции
| Интерфейсы | |||
|---|---|---|---|
| Payment Page | Gate | Dashboard | |
| Выплата | |||
Уточнить минимальную и максимальную сумму платежа, доступную в вашем проекте, вы можете в Dashboard. Для этого в Dashboard перейдите в раздел Проекты и выберите вкладку Платежные методы.
Далее подробно рассказывается, что вам нужно делать для проведения платежа, а также о возможностях анализа уже проведенных платежей.
Выплата через Gate
Общая информация
Чтобы выполнить выплату через Gate с использованием метода Voucher:
- Отправьте запрос с нужными параметрами и подписью на рабочий URL-адрес платежной платформы Flashpay.
- Примите от платежной платформы Flashpay оповещение (callback) с массивом display_data. Отобразите содержимое массива пользователю.
- Отправьте запрос на продолжение выплаты с нужными параметрами и подписью на рабочий URL-адрес платежной платформы Flashpay.
- Примите от платежной платформы Flashpay оповещение (callback) с результатом выплаты.
Полная схема выплаты с использованием метода Voucher выглядит следующим образом.
- Пользователь инициирует выплату с использованием метода Voucher в вашей системе.
- Ваша система передает запрос на выплату в платежную платформу Flashpay.
- Платежная платформа отправляет вам ответ с информацией о получении запроса и о результате проверки его корректности. (Подробнее о формате ответа см. Формат ответа.)
- Платежная платформа формирует и отправляет вашей системе данные в массиве display_data.
- Ваша система отображает пользователю опции, переданные в массиве display_data.
- Пользователь выбирает одну из доступных опций.
- Ваша система передает данные в новом запросе в платежную платформу Flashpay.
- Платежная платформа обрабатывает запрос и отправляет его в сервис провайдера.
- Сервис провайдера оповещает платежную платформу о результате выплаты.
- Платежная платформа отправляет вам оповещение (callback) с результатом выплаты.
- Ваша система направляет пользователю информацию о результате выплаты.
Запрос
Далее представлена информация, необходимая для создания и отправки запроса на выплату с использованием метода Voucher.
| HTTP-метод запроса | POST |
| Формат тела запроса | JSON |
| Конечная точка | /v2/payment/voucher/payout |
|
|||
|---|---|---|---|
| Объект | Параметр | Описание | |
general | project_id | Идентификатор проекта, полученный от Flashpay при интеграции. Пример: | |
payment_id | Идентификатор платежа, уникальный в рамках проекта. Пример: | ||
signature | Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Использование подписи к данным. | ||
customer | id | Идентификатор пользователя, уникальный в рамках проекта. Пример: | |
ip_address | IP-адрес устройства пользователя. Пример: | ||
first_name | Имя пользователя. Пример: | ||
last_name | Фамилия пользователя. Пример: | ||
email | Адрес электронной почты пользователя. Пример: | ||
account | number | Номер счета пользователя. Пример: | |
payment | currency | Код валюты платежа в формате ISO-4217 alpha-3. Пример: | |
amount | Сумма платежа в дробных единицах валюты без десятичного разделителя (точки или запятой) и пробелов за исключением случаев, когда у валюты нет дробной части. Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Использование дробных единиц валюты и Коды валют. Можно указывать любое число, поскольку фактическая сумма платежа будет известна только по результату выполнения данного запроса. Пример: 100,00 RUB передается как | ||
service_code | Выбранная пользователем услуга. Список доступных услуг предоставляется курирующим менеджером Flashpay. Пример: | ||
| При необходимости добавьте в запрос необязательные параметры, указанные в спецификации Gate: API Reference. | |||
Вот пример тела запроса на выплату с использованием метода Voucher:
{
"general": {
"project_id": 1234,
"payment_id": "payment_47",
"signature": "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y19vySO/RLUkDJrOcZzUCwX6R/ekpZhkIQg=="
},
"customer": {
"id": "customer_123",
"ip_address": "198.51.100.47",
"first_name": "John",
"last_name": "Doe",
"email": "johndoe@example.com"
},
"account": {
"number": 123456789
},
"payment": {
"currency": "RUB",
"amount": "10000",
"service_code": "123456"
}
}
Отображение платежной инструкции пользователю
Получив и обработав запрос на выплату, платежная платформа направит вам оповещение (callback) с платежной инструкцией для отображения пользователю.
Чтобы отобразить пользователю платежную инструкцию, используйте информацию из массива display_data.
Состав массива display_data с объектами, содержащими данные о доступных пользователю опциях, включая:
- package_id — ID доступной опции. Выбранный пользователем ID нужно будет отправить в параметре payment.package_id в запросе на продолжение выплаты. Может не передаваться в оповещении, если пользователю доступна только одна опция.
- title — Детальное описание доступной опции. Может не передаваться в оповещении, если пользователю доступна только одна опция.
- provider_amount — Сумма платежа.
- provider_currency — Валюта платежа.
Далее представлен фрагмент оповещения с массивом display_data, если пользователю доступны несколько опций.
"display_data": [ { "package_id": "205", "title": "eSIM, 1GB, 7 Days, VietNam, V2, Speed: 2G,3G,4G,5G, Countries: Vietnam", "provider_amount": "990", "provider_currency": "RUB" }, { "package_id": "220", "title": "eSIM, Unlimited, 1 Day, VietNam, V2, Speed: 2G,3G,4G,5G, Countries: Vietnam", "provider_amount": "1067", "provider_currency": "RUB" }, { "package_id": "263", "title": "eSIM, Unlimited Essential, 1 Day, VietNam, V2, Speed: 2G,3G,4G,5G, Countries: Vietnam", "provider_amount": "1276", "provider_currency": "RUB" }, { "package_id": "526", "title": "eSIM, Unlimited Plus, 1 Day, VietNam, V2, Speed: 2G,3G,4G,5G, Countries: Vietnam", "provider_amount": "2553", "provider_currency": "RUB" } ]
Далее представлен фрагмент оповещения с массивом display_data в том случае, если доступна только одна опция.
"display_data": [ { "provider_amount": "990", "provider_currency": "RUB" } ]
Запрос на продолжение выплаты
Далее представлена информация, необходимая для создания и отправки запроса на продолжение выплаты с использованием метода Voucher.
| HTTP-метод запроса | POST |
| Формат тела запроса | JSON |
| Конечная точка | /v2/payment/merchant_auth |
|
|||
|---|---|---|---|
| Объект | Параметр | Описание | |
|
general |
project_id |
Идентификатор проекта, полученный от Flashpay при интеграции. Пример: |
|
|
payment_id |
Идентификатор платежа, уникальный в рамках проекта. Должен совпадать с general.payment_id в первоначальном запросе. Пример: |
||
|
signature |
Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Использование подписи к данным. | ||
|
payment |
package_id |
Идентификатор выбранной пользователем опции. Он передается в массиве display_data в оповещении после первоначального запроса на выплату. Пример: |
|
| При необходимости добавьте в запрос необязательные параметры, указанные в спецификации Gate: API Reference. | |||
Вот пример тела запроса на выплату с использованием метода Voucher:
{
"general": {
"project_id": 1234,
"payment_id": "payment_47",
"signature": "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y19vySO/RLUkDJrOcZzUCwX6R/ekpZhkIQg=="
},
"payment": {
"package_id": "123"
}
}
Оповещение (callback)
В методе Voucher результат выплаты платежная платформа возвращает в оповещении. Подробнее о структуре оповещений см. Оповещения.
Вот пример тела оповещения с информацией об успешно выполненной выплате:
{
"project_id": 1234,
"payment": {
"id": "payment_47",
"type": "payout",
"status": "success",
"date": "2024-12-07T19:08:45+0000",
"method": "Voucher",
"sum": {
"amount": 10000,
"currency": "RUB"
},
"description": ""
},
"customer": {
"id": "customer_123"
},
"operation": {
"id": 47,
"type": "payout",
"status": "success",
"date": "2024-12-07T19:08:45+0000",
"created_date": "2024-12-07T19:08:05+0000",
"request_id": "1a23456bc7890de",
"sum_initial": {
"amount": 10000,
"currency": "RUB"
},
"sum_converted": {
"amount": 10000,
"currency": "RUB"
},
"code": "0",
"message": "Success",
"provider": {
"id": 12345,
"payment_id": "123abc123-123",
"auth_code": ""
}
},
"signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}
Вот пример тела оповещения с информацией об отклоненной выплате.
{
"project_id": 1234,
"payment": {
"id": "payment_47",
"type": "payout",
"status": "decline",
"date": "2024-12-07T19:08:45+0000",
"method": "Voucher",
"sum": {
"amount": 10000,
"currency": "RUB"
},
"description": ""
},
"customer": {
"id": "customer_123"
},
"operation": {
"id": 47,
"type": "payout",
"status": "decline",
"date": "2024-12-07T19:08:45+0000",
"created_date": "2024-12-07T19:08:05+0000",
"request_id": "1a23456bc7890de",
"sum_initial": {
"amount": 10000,
"currency": "RUB"
},
"sum_converted": {
"amount": 10000,
"currency": "RUB"
},
"code": "20000",
"message": "General decline",
"provider": {
"id": 12345,
"payment_id": "123abc123-123",
"auth_code": ""
}
},
"signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}
Выплаты через Dashboard
При использовании интерфейса Dashboard можно проводить одиночные и массовые выплаты методом Voucher с единичной и пакетной отправкой запросов, называемые соответственно одиночными и массовыми.
- Для проведения одиночной выплаты необходимо открыть форму выплаты, задать все необходимые параметры (включая метод), отправить запрос и убедиться в проведении выплаты.
-
Для проведения массовой выплаты необходимо подготовить и загрузить файл с информацией обо всех целевых выплатах, отправить пакет запросов и убедиться в проведении выплат.
При этом должен использоваться файл формата CSV, структура которого соответствует требованиям, представленным в разделе Сведения о массовых платежах, а параметры выплат — должны соответствовать требованиям, представленным в разделе Выплаты через Gate этой статьи (за исключением пункта о подписи).
Более подробная информация о проведении выплат через Dashboard представлена в отдельной статье.