# Создание инвойса

Запрос на создание нового инвойса (счета на оплату).

<mark style="color:green;">POST</mark> [<mark style="color:$primary;">https://app.goodpayments.io/v1/api/payment/create</mark>](https://app.goodpayments.io/v1/api/payment/create)

### Заголовки&#x20;

| Имя             | Тип    | Описание                     | Пример                                                           |
| --------------- | ------ | ---------------------------- | ---------------------------------------------------------------- |
| Authorization\* | string | Уникальный API-ключ мерчанта | 94a48138b1f41b9cdb3e12c2ff0c7cbe1c7a5f50a311a5054b903cad84215662 |

### Тело запроса

<table><thead><tr><th>Имя</th><th width="103.805419921875">Тип</th><th>Описание</th><th>Пример</th></tr></thead><tbody><tr><td>type*</td><td>string</td><td>Тип инвойса. <code>SINGLE</code> – временный адрес<br><code>MULTIPLE</code> – статичный адрес</td><td>SINGLE</td></tr><tr><td>amount*</td><td>number</td><td>Сумма к оплате, указанная в инвойсе (в USD)</td><td>10</td></tr><tr><td>currencies*</td><td>string</td><td><p>Список принимаемых валют. Возможные значения: </p><ul><li><code>TRX</code></li><li><code>USDT</code></li><li><code>TRX, USDT</code></li></ul></td><td>["USDT", "TRX"]</td></tr><tr><td>expiry_minutes</td><td>integer</td><td>Время, в течение которого данный инвойс активен (в минутах)</td><td>30</td></tr><tr><td>client_comission</td><td>boolean</td><td><p>Флаг, определяющий, кто оплачивает комиссию за пересылку. Только для инвойса с типом <code>SINGLE</code>. </p><ul><li>true – комиссия списывается с клиента. Сумма инвойса увеличивается на размер комиссии, и клиент оплачивает итоговую сумму. </li><li>false – комиссию оплачивает мерчант. </li></ul></td><td>true / false</td></tr><tr><td>order_id</td><td>string</td><td>Идентификатор заказа в системе мерчанта. Максимум 256 символов</td><td>12345</td></tr><tr><td>webhook_url</td><td>string</td><td>Адрес, на который сервис goodPayments будет отправлять уведомление (webhook) после совершения плательщиком оплаты по инвойсу</td><td>https://example.com/webhook</td></tr><tr><td>redirect_url</td><td>string</td><td>Адрес страницы, на которую будет перенаправлен плательщик после совершения оплаты по инвойсу</td><td>https://example.com/thank-you</td></tr><tr><td>description</td><td>string</td><td>Описание заказа, может содержать в себе какую-либо информацию мерчанта по оплачиваемому заказу </td><td>Payment for order #123</td></tr></tbody></table>

{% hint style="info" %}
Для статичных адресов (`MULTIPLE`) поля `amount`, `redirect_url` и `expiry_minutes` необязательны и игнорируются.&#x20;
{% endhint %}

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

```yaml
curl -X 'POST' \
  'https://app.goodpayments.io/v1/api/payment/create' \
  -H 'accept: application/json' \
  -H 'Authorization: 94a48138b1f41b9cdb3e12c2ff0c7cbe1c7a5f50a311a5054b903cad84215662' \
  -H 'Content-Type: application/json' \
  -d '{
  "type": "SINGLE",
  "amount": 10,
  "currencies": [
    "TRX",
    "USDT"
  ],
  "expiry_minutes": 30
}'
```

### Ответ

<table><thead><tr><th>Имя</th><th width="121.319580078125">Тип</th><th>Описание</th><th>Пример</th></tr></thead><tbody><tr><td>id</td><td>integer</td><td>Уникальный идентификатор инвойса</td><td>123477361</td></tr><tr><td>status</td><td>string</td><td><p>Статус инвойса. Возможные значения:</p><ul><li><code>ACTIVE</code></li><li><code>COMPLETED</code></li><li><code>CANCELED</code></li><li><code>TIMEOUT</code></li><li><code>ERROR</code></li><li><code>AML_FAILED</code></li><li><code>OVERPAID</code></li><li><code>UNDERPAID</code></li></ul></td><td>COMPLETED</td></tr><tr><td>type</td><td>string</td><td>Тип инвойса. <code>SINGLE</code> - временный адрес<br><code>MULTIPLE</code> - статичный адрес<br><code>MULTIPLE_TRANSFER</code> - адрес рассылок</td><td>SINGLE</td></tr><tr><td>paymentURL</td><td>string</td><td>Ссылка на платежное окно</td><td><a href="https://app.goodpayments.io/payment/123477361">https://app.goodpayments.io/payment/123477361</a> </td></tr><tr><td>amount</td><td>number</td><td>Сумма к оплате, указанная в инвойсе (в USD)</td><td>1</td></tr><tr><td>currencies</td><td>string</td><td><p>Список принимаемых валют. Возможные значения: </p><ul><li><code>TRX</code></li><li><code>USDT</code></li><li><code>TRX, USDT</code></li></ul></td><td>["USDT", "TRX"]</td></tr><tr><td>currencies_amounts</td><td>string</td><td>Сумма к оплате по инвойсу в принимаемой валюте</td><td>"TRX": 3.6329</td></tr><tr><td>transfer_amounts</td><td>string</td><td>Фактически полученная сумма</td><td>"TRX": 3.6329</td></tr><tr><td>cost</td><td>number</td><td>Комиссия сервиса за обработку платежа</td><td>6.5</td></tr><tr><td>order_id</td><td>string</td><td>Идентификатор заказа в системе мерчанта. Макс. 256 символов</td><td>12345</td></tr><tr><td>address</td><td>string</td><td>Сгенерированный временный адрес для оплаты</td><td>TBi3zPSQ8JszpkkgwZL4kZWDjXEZsi9Fze</td></tr><tr><td>client_comission</td><td>boolean</td><td><p>Флаг, определяющий, кто оплачивает комиссию за пересылку. Только для инвойса с типом <code>SINGLE</code>. </p><ul><li>true – комиссия списывается с клиента. Сумма инвойса увеличивается на размер комиссии, и клиент оплачивает итоговую сумму. </li><li>false – комиссию оплачивает мерчант. </li></ul></td><td>true / false</td></tr><tr><td>webhook_url</td><td>string</td><td>Адрес, на который сервис goodPayments будет отправлять уведомление (webhook) после совершения плательщиком оплаты по инвойсу</td><td>https://example.com/webhook</td></tr><tr><td>redirect_url</td><td>string</td><td>Адрес страницы, на которую будет перенаправлен плательщик после совершения оплаты по инвойсу</td><td>https://example.com/thank-you</td></tr><tr><td>description</td><td>string</td><td>Описание заказа, может содержать в себе какую-либо информацию мерчанта по оплачиваемому заказу </td><td>Payment for order #123</td></tr><tr><td>merchant_contact</td><td>string</td><td>Контактные данные мерчанта</td><td>@username</td></tr><tr><td>target_wallets</td><td>object</td><td>Объект, содержащий список адресов и сумму к отправке (для инвойсов с типом <code>MULTIPLE_TRANSFER</code>)</td><td></td></tr><tr><td>expired_at</td><td>string</td><td>Дата и время истечения срока действия инвойса</td><td>2025-11-23T14:28:57.786076+00:00</td></tr><tr><td>created_at</td><td>string</td><td>Дата и время создания инвойса</td><td>2025-11-23T13:58:57.789617+00:00</td></tr></tbody></table>

### Пример ответа

{% tabs %}
{% tab title="200 Success" %}

```json
{
  "id": 336575574,
  "status": "ACTIVE",
  "type": "SINGLE",
  "paymentURL": "https://app.goodpayments.io/payment/336575574",
  "amount": 10,
  "currencies": [
    "TRX",
    "USDT"
  ],
  "currencies_amounts": {
    "TRX": 33.402357,
    "USDT": 10
  },
  "transfer_amounts": {
    "input": {
      "TRX": 0,
      "USDT": 0
    },
    "output": {
      "TRX": 0,
      "USDT": 0
    }
  },
  "cost": null,
  "client_commission": true,
  "order_id": null,
  "address": "TRWvSiQzhSpLdRAmwDHKtgd7bZb2G2be53",
  "webhook_url": null,
  "redirect_url": null,
  "description": "",
  "merchant_contact": "@username",
  "target_wallets": {},
  "expired_at": "2026-03-17T11:59:07.515594+03:00",
  "created_at": "2026-03-17T11:29:07.518981+03:00"
}
```

{% endtab %}

{% tab title="400 User's target wallet address is not set" %}

```json
{
  "detail": "User's target wallet address is not set"
}
```

{% endtab %}

{% tab title="403 Authentication credentials were not provided" %}

```json
{
  "detail": "Authentication credentials were not provided."
}
```

{% endtab %}

{% tab title="JSON parse error" %}

```json
{
  "detail":"JSON parse error - Expecting value: line 2 column 13 (char 14)"
}
```

{% endtab %}
{% endtabs %}

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

Если в настройках аккаунта мерчанта не был установлен адрес для пересылок, сервер возвращает ответ с кодом **400**.

Если заголовок с корректным API-ключом отсутствует, ключ недействителен или IP-адрес не в белом списке, сервер возвращает ответ с кодом **403**.

Если в теле запроса были переданы некорректные данные, сервер возвращает ответ с указанием строки, где была совершена ошибка.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://goodpayments.gitbook.io/docs/documentation/ru/api-dokumentaciya/opisanie-metodov-vzaimodeistviya-struktura-zaprosa-otveta/sozdanie-invoisa.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
