Процесс выплат
В процессе платежа пользователь совершает следующие действия:
- вы создаете ордер на выплату;
- наши операторы производят перевод средств на указанные данные;
- подтверждение платежа;
Создание выплаты
Чтобы создать выплату, необходимо передать в запросе:
- данные для аутентификации;
- данные о площадке;
- сумму и валюту выплаты;
- метод
sbp
,account
,card
- банк, номер счета;
- hash выплаты.
Описание полей
Поле | Описание |
---|---|
shop_id | ID площадки |
shop_internal_id | Внутренний ID платежа в системе учета магазина |
fiat_amount | Сумма платежа в валюте fiat_currency |
fiat_currency | Валюта платежа |
bank | Банк получателя |
payment_method | Тип счета для выплаты sbp , account , card |
card_number | Номер карты получателя выплаты |
phone_number | Номер телефона получателя выплаты |
account_number | Номер счета получателя выплаты |
holder_name | Имя получателя |
hash | Хэш строка, подписанная secret1 . Подробнее о формировании хэша |
Формирование hash для подписи запроса на создание выплаты
Каждый запрос на инициирование выплаты должен быть подписан с использованием метода md5
. Для формирования строки для хэширования необходимо использовать следующий формат:
<shop_id>;<shop_internal_id>;<fiat_currency>;<fiat_amount>;<secret1>
Безопасность
Секретный ключ secret1
является крайне важным элементом для обеспечения безопасности ваших данных. Рекомендуется хранить его в надежном месте и поддерживать конфиденциальность, не разглашая его на сторонних ресурсах.
Пример запроса на создание платежа (payment_method = card
)__ [API Reference]
curl https://api.epicsplat.com/paysystem/v1/payout/ \
-X POST \
-H 'Content-Type: application/json'
-H "Authorization: Bearer <token>"
-d '{
"shop_id": 123456,
"shop_internal_id": "myshop.com/payout/7cff724b-92cd-4ca7-a85b-832532260976",
"bank": "bank100000000111",
"payment_method": "card",
"card_number": "4000000000000002",
"holder_name": "Ivan Ivanov",
"fiat_amount": 100,
"fiat_currency": 1,
"hash": "<hash>"
}'
Пример созданного объекта платежа
{
"id": 333,
"shop_id": 123456,
"shop_internal_id": "myshop.com/payout/7cff724b-92cd-4ca7-a85b-832532260976",
"customer_uid": null,
"bank": "bank100000000111",
"card_number": "4000000000000002",
"payment_method": "card",
"fiat_amount": 100,
"fiat_currency": 1,
"crypto_currency": 1,
"crypto_amount": null,
"timeout_at": "2024-01-01T00:00:00.000Z",
"status": "pending"
}
Пример запроса на создание платежа (payment_method = sbp
)__ [API Reference]
curl https://api.epicsplat.com/paysystem/v1/payout/ \
-X POST \
-H 'Content-Type: application/json'
-H "Authorization: Bearer <token>"
-d '{
"shop_id": 123456,
"shop_internal_id": "myshop.com/payout/7cff724b-92cd-4ca7-a85b-832532260976",
"bank": "bank100000000111",
"payment_method": "sbp",
"phone_number": "+79991234567",
"holder_name": "Ivan Ivanov",
"fiat_amount": 100,
"fiat_currency": 1,
"hash": "<hash>"
}'
Пример созданного объекта платежа
{
"id": 333,
"shop_id": 123456,
"shop_internal_id": "myshop.com/payout/7cff724b-92cd-4ca7-a85b-832532260976",
"customer_uid": null,
"bank": "bank100000000111",
"phone_number": "+79991234567",
"payment_method": "sbp",
"fiat_amount": 100,
"fiat_currency": 1,
"crypto_currency": 1,
"crypto_amount": null,
"timeout_at": "2024-01-01T00:00:00.000Z",
"status": "pending"
}
Пример запроса на создание платежа (payment_method = account
)__ [API Reference]
curl https://api.epicsplat.com/paysystem/v1/payout/ \
-X POST \
-H 'Content-Type: application/json'
-H "Authorization: Bearer <token>"
-d '{
"shop_id": 123456,
"shop_internal_id": "myshop.com/payout/7cff724b-92cd-4ca7-a85b-832532260976",
"bank": "bank100000000111",
"payment_method": "account",
"account_number": "40000000000000020001",
"holder_name": "Ivan Ivanov",
"fiat_amount": 100,
"fiat_currency": 1,
"hash": "<hash>"
}'
Пример созданного объекта платежа
{
"id": 333,
"shop_id": 123456,
"shop_internal_id": "myshop.com/payout/7cff724b-92cd-4ca7-a85b-832532260976",
"customer_uid": null,
"bank": "bank100000000111",
"account_number": "40000000000000020001",
"payment_method": "account",
"fiat_amount": 100,
"fiat_currency": 1,
"crypto_currency": 1,
"crypto_amount": null,
"timeout_at": "2024-01-01T00:00:00.000Z",
"status": "pending"
}
Подтверждение выплаты
HTTP Callback
Адрес для HTTP Callback указывается в настройках площадки. По результатам оплаты на указанный адрес будет отправлен HTTP POST запрос с данными в формате JSON
Схема отправляемых данных [API Reference]
Пример тела после успешной выплаты:
{
"id": 801633,
"shop_id": 94311,
"customer_uid": "myshop.example/customer.1111",
"shop_internal_id": "myshop.com/payout/7cff724b-92cd-4ca7-a85b-832532260976",
"bank": "bank100000000111",
"payment_method": "card",
"card_number": "4000000000000002",
"holder_name": "Ivan Ivanov",
"fiat_amount": "1000",
"fiat_currency": 1,
"crypto_currency": 1,
"crypto_amount": 10.9,
"timeout_at": "2024-08-11T20:53:09.176Z",
"status": "completed",
"hash": "<hash>"
}
Описание полей
Поле | Описание |
---|---|
id | ID заказа |
shop_id | ID площадки |
customer_uid | Уникальный ID покупателя в системе учета магазина |
shop_internal_id | Внутренний ID платежа в системе учета магазина |
card_number | Номер карты для выплаты |
holder_name | Держатель карты |
fiat_amount | Сумма выплаты в валюте fiat_currency |
fiat_currency | Валюта платежа |
crypto_amount | Сумма выплаты в валюте crypto_currency |
crypto_currency | Полученная криптовалюта |
status | Статус |
hash | Хэш строка для проверки подлинности. Подробнее о проверке хэша |
Проверка подлинности результатов выплаты
По получении информации о выплате, требуется провести проверку достоверности переданных данных. Вместе с данными о выплате будет передан хеш. Важно создать хеш самостоятельно и сопоставить его с значением в запросе. Для формирования строки, предназначенной для последующего хэширования с использованием алгоритма md5, необходимо следовать определенному формату:
<order_id>;<shop_id>;<shop_internal_id>;<fiat_currency>;<fiat_amount>;<crypto_currency>;<crypto_amount>;<status>;<secret2>