Создать платеж

Создает новый инвойс для приема криптовалютного перевода от клиента

POST

https://api.fps.pro/invoices/create

Формат запросаapplication/json

amount

required

number

Сумма инвойса в фиатной валюте

currency

required

string

Код фиатной валюты (см. поддерживаемые фиаты)

order_id

string

Идентификатор заказа в вашей системе

network

string

Вы можете указать сеть, в которой обязательно принимать оплату, или оставить поле пустым и принимать платежи в любой доступной сети

webhook_link

url

URL, на который вернется статус платежа

По умолчанию: merchant settings

success_link

url

URL, на который будет переведен клиент при успешном платеже

По умолчанию: merchant settings

error_link

url

URL, на который будет переведен клиент при неуспешном платеже

По умолчанию: merchant settings

part_payment

boolean

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

По умолчанию: true or merchant settings

ignore_client_amount

boolean

Если вы укажете значение True, любая сумма, оплаченная вашим клиентом, будет успешно завершать инвойс

По умолчанию: false or merchant settings

payment_accuracy

number

Укажите значение в процентах от 1 до 100. Если вы укажете 5 для платежа в $100, то при оплате клиентом $95 платеж будет считаться успешным и завершится

По умолчанию: 0 or merchant settings

fee

number

Значение от 1 до 100, которое будет добавлять комиссию платежу в процентном соотношении

По умолчанию: 0

discount

number

Значение от 1 до 100, которое будет применять указанный процент скидки к платежу

По умолчанию: 0

additional_info

string

Любая информация

auto_convert

boolean

Автоматически конвертировать платеж после получения

По умолчанию: false

Формат ответаdata object

id

uuid

Идентификатор инвойса

info.currency

string | null

Код фиатной валюты инвойса

info.token

string | null

Токен оплаты

info.network

string | null

Сеть оплаты

info.address

string | null

Адрес кошелька для оплаты

amount.starting_price

number

Исходная сумма инвойса в фиате

amount.discount_percent

number

Размер скидки в процентах

amount.merchant_fee_percent

number

Комиссия мерчанта в процентах

amount.service_fee_percent

number | null

Сервисная комиссия платформы в процентах

amount.total

number

Итоговая сумма после скидки и комиссии

url.webhook

url | null

Webhook URL мерчанта

url.success

url | null

URL редиректа после успешной оплаты

url.error

url | null

URL редиректа после ошибки

url.payment

url

Ссылка на платежную страницу

options.part_payment

boolean

Разрешена ли частичная оплата

options.ignore_client_amount

boolean

Игнорируется ли точная сумма клиента

options.payment_accuracy

number

Допустимая погрешность оплаты

additional.order_id

string | null

Внешний идентификатор заказа

additional.info

string | null

Дополнительная информация по заказу

status

string

Текущий статус инвойса

expired_at

string (ISO 8601, UTC)

Дата истечения инвойса

created_at

string (ISO 8601, UTC)

Дата создания инвойса

Примеры запроса

curl --request POST 'https://api.fps.pro/invoices/create' \
  --header 'Content-Type: application/json' \
  --header 'X-Client-Id: YOUR_CLIENT_ID' \
  --header 'X-Timestamp: 1720000000' \
  --header 'X-Signature: YOUR_HMAC_SHA256_SIGNATURE' \
  --data '{
  "amount": 150.75,
  "currency": "usd",
  "order_id": "ORD-1001",
  "network": "tron",
  "webhook_link": "https://merchant.example.com/webhooks/fps",
  "success_link": "https://merchant.example.com/payments/success",
  "error_link": "https://merchant.example.com/payments/error",
  "part_payment": true,
  "ignore_client_amount": false,
  "payment_accuracy": 0,
  "fee": 1.5,
  "discount": 3,
  "additional_info": "Premium subscription",
  "auto_convert": false
}'

Успешный ответ

{
  "status": 201,
  "message": "invoice created",
  "data": {
    "id": "0a718b02-138d-495a-9661-39ca52139c07",
    "info": {
      "currency": "USD",
      "token": null,
      "network": null,
      "address": null
    },
    "amount": {
      "starting_price": 1000,
      "discount_percent": 0,
      "merchant_fee_percent": 10,
      "service_fee_percent": 1,
      "total": 1100
    },
    "url": {
      "webhook": "https://merchant.example/webhook",
      "success": "https://merchant.example/success",
      "error": "https://merchant.example/error",
      "payment": "https://frontend.example/0a718b02-138d-495a-9661-39ca52139c07"
    },
    "options": {
      "part_payment": true,
      "ignore_client_amount": false,
      "payment_accuracy": 0
    },
    "additional": {
      "order_id": "1",
      "info": ""
    },
    "status": "init",
    "expired_at": "2026-01-05 14:30:43",
    "created_at": "2026-01-05T13:30:43.000Z"
  }
}

Ошибки

Подробный список ошибок авторизации находится в разделе Авторизация - Ошибки

{
  "status": 422,
  "message": "Validation Error",
  "errors": [
    {
      "field": "currency",
      "message": "currency is required"
    }
  ]
}
{
  "status": 500,
  "message": "Internal Server Error"
}