Перейти до основного вмісту

Ордер

Ви можете створювати ордери одного з таких типів:

  • 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 – Точність валюти виплати, кількість знаків після коми