# Отмена инвойса

Запрос, предназначенный для отмены ранее созданного инвойса по параметру id. Id инвойса указывается в URL-эндпойнте.

<mark style="color:red;">DELETE</mark> [<mark style="color:$primary;">https://app.goodpayments.io/v1/api/payment/{id}/cancel</mark>](https://app.goodpayments.io/v1/api/payment/448255354/cancel) &#x20;

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

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

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

Данный запрос не предполагает передачу параметров в теле. Все необходимые параметры указываются в URL-эндпойнте.

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

```yaml
curl -X 'DELETE' \
  'https://app.goodpayments.io/v1/api/payment/448255354/cancel' \
  -H 'accept: application/json' \
  -H 'Authorization: 94a48138b1f41b9cdb3e12c2ff0c7cbe1c7a5f50a311a5054b903cad84215662'
```

### Ответ

<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>CANCELED</code></li></ul></td><td>CANCELED</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": "CANCELLED",
  "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 Invoice cannot be canceled" %}

```json
{
  "detail": "Invoice cannot be canceled"
}
```

{% endtab %}

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

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

{% endtab %}

{% tab title="404 No Invoice matches the given query" %}

```json
{
  "detail": "No Invoice matches the given query."
}
```

{% endtab %}
{% endtabs %}

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

Если инвойс не может быть отменен (например, указанный инвойс уже находится в статусе `ERROR`, `TIMEOUT`, `COMPLETED` или `CANCELLED`), сервер возвращает ответ с кодом **400**.&#x20;

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

Если в запросе указан некорректный id, сервер возвращает ответ с кодом **404**.


---

# 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/otmena-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.
