POST /invoice/create
Создаёт новый инвойс и возвращает ссылку на платёжную страницу. После успешного создания генерируется уникальный invoice_id, инвойс получает статус PENDING (1).
Авторизация
Требуется Bearer token и заголовок X-Merchant. См. Начало работы.
Параметры запроса
Headers
Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| string | Да |
|
| string | Да | Идентификатор мерчанта, например |
| string | Да |
|
Query и Path параметры отсутствуют.
Тело запроса (Request Body)
Content-Type: application/json
Поле | Тип | Обязательный | Описание |
|---|---|---|---|
| integer | Да | Сумма в минимальных единицах валюты (> 0). 1500 = 15.00 USD |
| string | Да | ISO 4217: USD, EUR, RUB, UZS |
| string | Да | Описание инвойса (1–1024 символа) |
| integer | Да | UTC timestamp (ms), после которого статус станет EXPIRED |
| array | Да | Минимум одна позиция (см. ниже) |
| string | Да | Уникальный ID транзакции на стороне мерчанта |
| string (uri) | Да | Редирект после успешной оплаты (браузер) |
| string (uri) | Да | Редирект при ошибке или отмене |
| string (uri) | Да | Webhook URL для server-to-server уведомлений |
| object | Нет | Произвольные данные, возвращаются в callback |
Элемент массива positions
Поле | Тип | Обязательный | Описание |
|---|---|---|---|
| string | Да | Название позиции |
| integer | Да | Сумма позиции (> 0) |
| string | Да | Валюта позиции |
Ответы
200 OK — Инвойс успешно создан
Поле | Тип | Описание |
|---|---|---|
| boolean |
|
| string | ID инвойса в платёжной системе |
| string | URL страницы оплаты |
| integer | 1 = PENDING |
| integer | Сумма инвойса |
| string | Валюта |
| integer | UTC timestamp (ms) создания |
| object | null |
|
401 Unauthorized — Ошибка авторизации
Возможные причины: отсутствует Bearer token, неверный или деактивированный токен.
409 Conflict — Дубликат транзакции
Инвойс с таким merchant_transaction_id уже существует.
422 Unprocessable Entity — Ошибка валидации
Поле | Тип | Описание |
|---|---|---|
| array | Список ошибок полей |
| array | Путь к полю, например |
| string | Текст ошибки |
| string | Тип ошибки валидации |
500 Internal Server Error
Внутренняя ошибка сервера. Повторите запрос с экспоненциальной задержкой; при устойчивой ошибке обратитесь в поддержку.