Выплата

При выплате пользователь инициирует платеж, выбирает подходящую опцию и ожидает зачисление средств на свой счет.

Регионы использования Все страны
Валюты выплаты Информацию уточняйте у курирующего менеджера Flashpay.
Суммы платежей Информацию уточняйте у курирующего менеджера Flashpay. Также вы можете уточнить в Dashboard минимальную и максимальную сумму платежа, доступную в вашем проекте.
Время проведения платежа Информацию уточняйте у курирующего менеджера Flashpay.
Конвертация валют На стороне Flashpay
Возврат
Организация и стоимость подключения По согласованию с курирующим менеджером Flashpay

Основные операции

Интерфейсы
Payment Page Gate Dashboard
Выплата

Уточнить минимальную и максимальную сумму платежа, доступную в вашем проекте, вы можете в Dashboard. Для этого в Dashboard перейдите в раздел Проекты и выберите вкладку Платежные методы.

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

Выплата через Gate

Общая информация

Чтобы выполнить выплату через Gate с использованием метода Voucher:

  1. Отправьте запрос с нужными параметрами и подписью на рабочий URL-адрес платежной платформы Flashpay.
  2. Примите от платежной платформы Flashpay оповещение (callback) с массивом display_data. Отобразите содержимое массива пользователю.
  3. Отправьте запрос на продолжение выплаты с нужными параметрами и подписью на рабочий URL-адрес платежной платформы Flashpay.
  4. Примите от платежной платформы Flashpay оповещение (callback) с результатом выплаты.

Полная схема выплаты с использованием метода Voucher выглядит следующим образом.



Рис. 1. Здесь описаны шаги выплаты через Gate
  1. Пользователь инициирует выплату с использованием метода Voucher в вашей системе.
  2. Ваша система передает запрос на выплату в платежную платформу Flashpay.
  3. Платежная платформа отправляет вам ответ с информацией о получении запроса и о результате проверки его корректности. (Подробнее о формате ответа см. Формат ответа.)
  4. Платежная платформа формирует и отправляет вашей системе данные в массиве display_data.
  5. Ваша система отображает пользователю опции, переданные в массиве display_data.
  6. Пользователь выбирает одну из доступных опций.
  7. Ваша система передает данные в новом запросе в платежную платформу Flashpay.
  8. Платежная платформа обрабатывает запрос и отправляет его в сервис провайдера.
  9. Сервис провайдера оповещает платежную платформу о результате выплаты.
  10. Платежная платформа отправляет вам оповещение (callback) с результатом выплаты.
  11. Ваша система направляет пользователю информацию о результате выплаты.

Запрос

Далее представлена информация, необходимая для создания и отправки запроса на выплату с использованием метода Voucher.

HTTP-метод запроса POST
Формат тела запроса JSON
Конечная точка /v2/payment/voucher/payout
Табл. 1. Базовые параметры запроса на выплату

strictly required — параметр обязательно должен присутствовать в начальном запросе.

✱ — обязательность этого параметра уточняйте у своего курирующего менеджера в Flashpay.

ОбъектПараметрОписание

general
object
strictly required

project_id
integer
strictly required

Идентификатор проекта, полученный от Flashpay при интеграции.

Пример: 1234

payment_id
string
strictly required

Идентификатор платежа, уникальный в рамках проекта.

Пример: payment_47

signature
string
strictly required

Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Использование подписи к данным.

customer
object
strictly required

id
string
strictly required

Идентификатор пользователя, уникальный в рамках проекта.

Пример: customer_123

ip_address
string
strictly required

IP-адрес устройства пользователя.

Пример: 198.51.100.47

first_name
string
strictly required

Имя пользователя.

Пример: John

last_name
string
strictly required

Фамилия пользователя.

Пример: Doe

email
string
strictly required

Адрес электронной почты пользователя.

Пример: johndoe@example.com

account
object
strictly required

number
integer
strictly required

Номер счета пользователя.

Пример: 123456789

payment
object
strictly required

currency
string
strictly required

Код валюты платежа в формате ISO-4217 alpha-3.

Пример: RUB

amount
string
strictly required

Сумма платежа в дробных единицах валюты без десятичного разделителя (точки или запятой) и пробелов за исключением случаев, когда у валюты нет дробной части.

Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Использование дробных единиц валюты и Коды валют.

Можно указывать любое число, поскольку фактическая сумма платежа будет известна только по результату выполнения данного запроса.

Пример: 100,00 RUB передается как 10000

service_code
string
strictly required

Выбранная пользователем услуга. Список доступных услуг предоставляется курирующим менеджером Flashpay.

Пример: 123456

При необходимости добавьте в запрос необязательные параметры, указанные в спецификации Gate: API Reference.

Вот пример тела запроса на выплату с использованием метода Voucher:

Рис. 2. Пример тела запроса на выплату
{
    "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
Табл. 2. Базовые параметры запроса на продолжение выплаты

strictly required — параметр обязательно должен присутствовать в начальном запросе.

✱ — обязательность этого параметра уточняйте у своего курирующего менеджера в Flashpay.

Объект Параметр Описание

general
object
strictly required

project_id
integer
strictly required

Идентификатор проекта, полученный от Flashpay при интеграции.

Пример: 1234

payment_id
string
strictly required

Идентификатор платежа, уникальный в рамках проекта. Должен совпадать с general.payment_id в первоначальном запросе.

Пример: payment_47

signature
string
strictly required

Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Использование подписи к данным.

payment
object
strictly required

package_id
string
strictly required

Идентификатор выбранной пользователем опции. Он передается в массиве display_data в оповещении после первоначального запроса на выплату.

Пример: 123

При необходимости добавьте в запрос необязательные параметры, указанные в спецификации Gate: API Reference.

Вот пример тела запроса на выплату с использованием метода Voucher:

Рис. 3. Пример тела запроса на выплату
{
	"general": {
		"project_id": 1234,
		"payment_id": "payment_47",
		"signature": "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y19vySO/RLUkDJrOcZzUCwX6R/ekpZhkIQg=="
	},
	"payment": {
		"package_id": "123"
	}
}

Оповещение (callback)

В методе Voucher результат выплаты платежная платформа возвращает в оповещении. Подробнее о структуре оповещений см. Оповещения.

Вот пример тела оповещения с информацией об успешно выполненной выплате:

Рис. 4. Пример тела оповещения об успешной выплате
{
    "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=="
}

Вот пример тела оповещения с информацией об отклоненной выплате.

Рис. 5. Пример тела оповещения об отклоненной выплате
{
    "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 представлена в отдельной статье.