Создание счёта

Создаёт счёт на оплату в выбранной монете и сети.

POST/invoices

Системная информация

API-ключ
Требуется
Rate Limit
20 запросов в минуту

Body-параметры

ПараметрТипОбязательныйОписание
coinCodestringДаКод криптовалюты, например USDT.
networkCodestringДаКод блокчейн-сети, например tron.
amountstringДаФиатная сумма платежа. Максимум 2 знака после точки.
currencystringНетФиатная валюта суммы: USD, EUR, RUB. По умолчанию USD.
orderIdstringНетВаш ID заказа. Используется для идемпотентности в рамках проекта.
descriptionstringНетОписание платежа.
curl -X POST "https://api.atomic.wallet/api/v1/invoices" \
  -H "x-api-key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "coinCode": "USDT",
  "networkCode": "tron",
  "amount": "100.00",
  "currency": "USD",
  "orderId": "order-1001",
  "description": "Order payment"
}'
{
  "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "projectUuid": "73e68013-32f0-4248-95ac-46aed61e59b0",
  "coinCode": "USDT",
  "networkCode": "tron",
  "coinName": "Tether USD",
  "networkName": "TRON",
  "networkPrefix": "TRC-20",
  "amount": "100.000000",
  "sourceAmount": "100.00",
  "sourceCurrency": "USD",
  "sourceRate": "1.000000",
  "status": "pending",
  "confirmedAmount": "0.000000",
  "unconfirmedAmount": "0.000000",
  "remainingAmount": "100.000000",
  "overpaidAmount": "0.000000"
}

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

ПараметрТипОписание
uuidstringUUID счёта.
projectUuidstringUUID проекта.
coinCodestringКод криптовалюты.
networkCodestringКод блокчейн-сети.
coinNamestringНазвание криптовалюты.
networkNamestringНазвание сети.
networkPrefixstringСтандарт токена в сети, например TRC-20.
amountstringСумма к оплате в криптовалюте.
sourceAmountstringСумма счёта в исходной валюте.
sourceCurrencystringИсходная валюта счёта.
sourceRatestringКурс пересчёта исходной валюты в криптовалюту.
statusstringСтатус счёта, см. «Статусы».
confirmedAmountstringОплаченная и подтверждённая сумма.
unconfirmedAmountstringПоступившая, но ещё не подтверждённая сумма.
remainingAmountstringСколько осталось оплатить.
overpaidAmountstringСумма переплаты.

Идемпотентность

СитуацияРезультат
Тот же orderId и тот же payloadВозвращается существующий счёт.
Тот же orderId, другой payload409 INVOICE_EXTERNAL_ID_CONFLICT
Без orderIdКаждый POST создаёт новый счёт.
429 INVOICE_CREATION_RATE_LIMITEDЛимит: 20 счетов за 60 секунд на проект.
500 или таймаутИсход неизвестен: повторяйте только с тем же orderId и сохраните requestId.

Возможные ошибки

HTTPКодОписание
400INVOICE_COIN_UNAVAILABLEВыбранная монета недоступна для счёта.
400INVOICE_AMOUNT_INVALIDНекорректная сумма счёта.
400INVOICE_AMOUNT_BELOW_MINIMUMСумма ниже минимально допустимой.
400INVOICE_AMOUNT_ABOVE_MAXIMUMСумма превышает максимально допустимую.
400INVOICE_DESCRIPTION_INVALIDНекорректное описание счёта.
400INVOICE_RATE_UNAVAILABLEНедоступен курс выбранной монеты.
400INVOICE_ADDRESS_GENERATION_FAILEDНе удалось сгенерировать адрес счёта.
400VALIDATION_FAILEDОшибка проверки параметров запроса.
409INVOICE_EXTERNAL_ID_CONFLICTorderId уже используется с другими параметрами счёта.
429INVOICE_CREATION_RATE_LIMITEDПревышен лимит создания счетов.