Перейти к основному содержимому

Ордер

Вы можете создавать ордера одного из следующих типов:

  • deposit - пополнение (депозит)
  • deposit_exchange - пополнение с обменом
  • deposit_exchange_withdraw - пополнение с обменом и выплатой
  • exchange - обмен
  • exchange_withdraw - обмен с выплатой
  • withdraw - выплата
Примечание

Запрос на создание ордера отличается в зависимости от типа ордера. Но все созданные ордера имеют одинаковый набор полей.

Запрос

POST /v2/order/deposit
POST /v2/order/deposit HTTP/1.1
Content-Type: application/json
Accept: application/json; charset=utf-8
Api-key: {publicApiKey}
Signature: {signature}
{
"order_id": "merchant_unique_order_id",
"currency": "usdt",
"network": "trc20", // card, btc, erc20 ...
"amount": 10,
"callback_url": "", //optional
"description": "order for ...", //optional
"client_info": { //optional
"client_id": "id1234",
"client_ip": "127.0.0.1",
"client_email": "[email protected]"
}
}

Описание параметров в запросе:

  • order_id – Уникальный идентификатор платежа в системе мерчанта
  • currency – Валюта ордера
  • network – Сеть осуществления платежа, card для фиатных валют, название блокчейна для крипто валют
  • amount – Сумма депозита
  • description – Описание ордера (необязательно)
  • callback_url – URL адрес для сервер-сервер сообщения о результате выполнения ордера
  • client_info – данные клиента в системе мерчанта: идентификатор, IP, email

Ответ

Важно

Вы должны рассматривать любой не 200 или 400 HTTP статус ответа как непредвиденное поведение. Например, если вы получили 5xx http статус во время запроса на создание выплаты, вы должны обрабатывать эту выплату как возможно созданную. Вы должны проверить статус этой выплаты вызвав метод /v2/order/status

Успешный ответ будет содержать набор полей, структурированный следующим образом:

RESPONSE
HTTP/1.1 200 OK
Content-Type: application/json

{
/* The overall status of the request, not the order status */
"status": "success",
"data": {
"order_uuid": "99c7f491-62ea-47fa-89c8-6043720374bf",
"order_type": "deposit",
"user_order_id": "merchant_unique_order_id",
"description": null,
"expected_amount_from": "10",
"amount_from": null,
"currency_from": "usdt",
"network_from": "trc20",
"deposit_from_user": null | "fpid-e03682a76e65",
"wallet_from": null,
"wallet_memo_from": null,
"expected_amount_to": "9.9",
"amount_to": null,
"strict_withdrawal_amount": false,
"currency_to": "usdt",
"network_to": "trc20",
"withdraw_to_user": null,
"wallet_to": null,
"wallet_memo_to": null,
"wallet_to_details": null,
"wallet_to_transactions": [],
"amount_from_fee": "0.1",
"amount_to_fee": null,
"deposit_url": null,
"deposit_address": "TT8y4xoTZ9yUL7FTqnC5z1Gb9ZTCvQDhHz",
"deposit_memo": null,
"deposit_address_title": null,
"deposit_address_initial_order_uuid": null,
"blockchain_deposit_hash": null,
"blockchain_withdrawal_hash": null,
"exchange_rate_initial": null,
"exchange_rate_actual": null,
"client_info": {
"client_id": "id1234",
"client_ip": "127.0.0.1",
"client_email": "[email protected]"
},
/* Order status */
"status": "new",
"error_code": 0,
"error_message": "",
"created_at": "1970-01-01 14:48:53",
"updated_at": "1970-01-01 14:48:54",
"finalized_at": null,
"start_order_at": null,
"currency_from_precision": 2,
"currency_to_precision": 2
}
}

Описание параметров в ответе:

  • order_uuid – ID ордера в системе FlyPay
  • order_type – Тип ордера
  • user_order_id – Уникальный идентификатор платежа в системе мерчанта
  • description – Описание ордера
  • expected_amount_from – Ожидаемая сумма депозита
  • amount_from – Фактическая сумма депозита
  • currency_from – Валюта пополнения
  • network_from – Сеть депозита
  • deposit_from_user – ID пользователя в системе FlyPay, если пополнение в результате трансфера, иначе null
  • wallet_from – Кошелек, из которого выполнен депозит (номер карты или адрес в блокчейне)
  • wallet_memo_from – tag/memo адреса в блокчейне, из которого выполнен депозит
  • expected_amount_to – Ожидаемая сумма зачисления на баланс мерчанта
  • amount_to – Фактическая сумма зачисления на баланс мерчанта
  • strict_withdrawal_amount – Используется для обменов с выплатой
  • currency_to – Валюта зачисления
  • network_to – Сеть платежа
  • withdraw_to_user – ID пользователя в системе FlyPay, если выплата в результате трансфера, иначе null
  • wallet_to – null
  • wallet_memo_to – null
  • wallet_to_details – Используется только в ордерах с выплатой
  • wallet_to_transactions – Используется только в ордерах с выплатой
  • amount_from_fee – Сумма комиссии
  • amount_to_fee – null
  • deposit_url – URL на который нужно перенаправить клиента для совершения платежа
  • deposit_address – Адрес в блокчейне, на который нужно отправить депозит
  • deposit_memo – tag/memo адреса в блокчейне, на который нужно отправить депозит
  • deposit_address_title – Название депозит адреса, если это постоянный депозит адрес, и для него было создано название
  • deposit_address_initial_order_uuid – order_uuid первого ордера в системе, где был использован данный депозит адрес, если есть
  • blockchain_deposit_hash – Хэш транзакции в блокчейне для завершенного депозита в крипто валюте
  • blockchain_withdrawal_hash – null
  • exchange_rate_initial – Ожидаемый курс обмена при создании ордера (для ордеров с обменом)
  • exchange_rate_actual – Фактический курс обмена (для ордеров с обменом)
  • statusСтатус ордера (new)
  • error_code – Код ошибки
  • error_message – Текст сообщения об ошибке
  • created_at – Дата и время создания ордера в формате "Y-m-d H:i:s"
  • updated_at – Дата и время обновления ордера в формате "Y-m-d H:i:s"
  • finalized_at – Дата и время финализации ордера в формате "Y-m-d H:i:s"
  • start_order_at – Используется только для выплат, дата и время начала исполнения ордера в формате "Y-m-d H:i:s" | null
  • currency_from_precision – Точность валюты депозита или обмена, количество знаков после запятой
  • currency_to_precision – Точность валюты выплаты, количество знаков после запятой