Skip to content

Процесс выплат

В процессе платежа пользователь совершает следующие действия:

  • вы создаете ордер на выплату;
  • наши операторы производят перевод средств на указанные данные;
  • подтверждение платежа;

Создание выплаты

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

Описание полей

Поле Описание
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>