> ## Documentation Index
> Fetch the complete documentation index at: https://oblodai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Объект платежа (Payment)

Объект платежа (инвойса) содержит всю информацию о счёте, актуальную на текущий момент. Он формируется
при создании платежа ([`POST /v1/payment`](/reference/payment-create)) и приходит в ответ на любой запрос,
связанный с этим счётом ([`/info`](/reference/payment-info), [`/history`](/reference/payment-history)).

Объект может содержать поля, не описанные в этом справочнике, — их следует игнорировать.

***

## Пример объекта

```json theme={null}
{
  "uuid": "8b1d7d2e-2b0a-4a1f-9c3e-1f2a3b4c5d6e",
  "order_id": "order-1",
  "amount": "10.00",
  "payment_amount": null,
  "amount_paid": "0",
  "amount_remaining": "10.150000",
  "payer_amount": "10.150000",
  "payer_currency": "USDT",
  "payer_address": "",
  "currency": "USD",
  "network": "tron",
  "address": "TJ4b1...C9xk",
  "address_qr_code": "data:image/png;base64,iVBORw0KGgo...",
  "payment_status": "check",
  "is_multi": false,
  "url": "https://pay.oblodai.com/pay/8b1d7d2e-2b0a-4a1f-9c3e-1f2a3b4c5d6e",
  "expired_at": 1783728000,
  "is_final": false,
  "created_at": "2026-07-10T12:00:00Z",
  "updated_at": "2026-07-10T12:00:00Z",
  "additional_data": "",
  "payer_email": "",
  "url_return": "",
  "url_success": "",
  "rate_expires_at": 1783724700,
  "confirmations": 0,
  "required_confirmations": 20,
  "txid": "",
  "refund_status": "none",
  "refunds": []
}
```

Поля `refunds[]` и `refund_status` приходят только в ответе
[`POST /v1/payment/info`](/reference/payment-info) — в списках ([`/history`](/reference/payment-history)) их нет.

***

## Поля

`currency` — **валюта цены**, в которой вы назначили стоимость счёта (напр. `USD`). `payer_currency` —
**валюта расчёта**, крипта, которой фактически платит покупатель (напр. `USDT`). Поэтому в объекте две
валюты и две суммы. См. [Форматы сумм и денег](/reference/basics-money).

<ResponseField name="uuid" type="string">
  Идентификатор счёта в Oblodai.
</ResponseField>

<ResponseField name="order_id" type="string">
  Ваша ссылка на заказ; ключ идемпотентности.
</ResponseField>

<ResponseField name="amount" type="string">
  Сумма к оплате в валюте ценообразования `currency`.
</ResponseField>

<ResponseField name="payment_amount" type="string | null">
  Фактически оплаченная сумма (в крипте); `null`, пока оплаты нет.
</ResponseField>

<ResponseField name="amount_paid" type="string">
  Сколько уже поступило.
</ResponseField>

<ResponseField name="amount_remaining" type="string">
  Сколько осталось доплатить в крипте.
</ResponseField>

<ResponseField name="payer_amount" type="string">
  Ожидаемая сумма к оплате в крипте `payer_currency`.
</ResponseField>

<ResponseField name="payer_currency" type="string">
  Криптовалюта, которой платит покупатель (валюта расчёта). У валюто‑агностичного счёта (`is_multi: true`) — **пустая строка**, пока покупатель не выбрал монету.
</ResponseField>

<ResponseField name="payer_address" type="string">
  **Адрес, с которого пришли деньги.** Это адрес возврата по умолчанию: [`/v1/payment/refund`](/reference/payment-refund) без `address` вернёт средства сюда, и такой возврат авто‑подтверждается. Известен на аккаунтных сетях (EVM, Tron, Solana, TON); на **Bitcoin/UTXO пуст** — там единого отправителя нет. Пуст и до оплаты.
</ResponseField>

<ResponseField name="currency" type="string">
  Валюта цены (напр. `USD`, `EUR`, `USDT`).
</ResponseField>

<ResponseField name="network" type="string">
  Сеть расчёта.
</ResponseField>

<ResponseField name="address" type="string">
  Депозит‑адрес счёта. Для агностичного счёта пуст до выбора валюты.
</ResponseField>

<ResponseField name="address_qr_code" type="string">
  QR депозит‑адреса как `data:`‑URI. Пуст, пока адреса нет.
</ResponseField>

<ResponseField name="payment_status" type="string">
  Статус счёта. См. [таблицу ниже](#статусы-payment_status).
</ResponseField>

<ResponseField name="is_multi" type="bool">
  `true` — валюто‑агностичный (deferred) счёт.
</ResponseField>

<ResponseField name="url" type="string">
  Ссылка на hosted‑страницу оплаты.
</ResponseField>

<ResponseField name="expired_at" type="int64">
  Момент истечения счёта (unix‑секунды).
</ResponseField>

<ResponseField name="is_final" type="bool">
  Счёт в терминальном статусе (изменений больше не будет).
</ResponseField>

<ResponseField name="created_at" type="string">
  Время создания (ISO 8601).
</ResponseField>

<ResponseField name="updated_at" type="string">
  Время последнего изменения (ISO 8601).
</ResponseField>

<ResponseField name="additional_data" type="string">
  Приватные данные мерчанта, эхом в вебхуках (покупателю не видны).
</ResponseField>

<ResponseField name="payer_email" type="string">
  Email плательщика, если передавали.
</ResponseField>

<ResponseField name="url_return" type="string">
  Ссылка «назад в магазин» на странице оплаты.
</ResponseField>

<ResponseField name="url_success" type="string">
  Редирект после успешной оплаты.
</ResponseField>

<ResponseField name="rate_expires_at" type="int64">
  До какого момента действителен зафиксированный курс (unix‑секунды).
</ResponseField>

<ResponseField name="confirmations" type="int64">
  Набрано подтверждений сети.
</ResponseField>

<ResponseField name="required_confirmations" type="int64">
  Сколько подтверждений нужно для зачёта (зависит от суммы/сети).
</ResponseField>

<ResponseField name="txid" type="string">
  Хеш транзакции оплаты; пуст до появления транзакции.
</ResponseField>

<ResponseField name="refund_status" type="string">
  Сводка по возвратам: `none` (ничего не возвращали) | `partial` (вернули часть) | `full` (вернули всё оплаченное). Только в [`/v1/payment/info`](/reference/payment-info).
</ResponseField>

<ResponseField name="refunds" type="array">
  Список возвратов по этому счёту (см. ниже). Только в [`/v1/payment/info`](/reference/payment-info).
</ResponseField>

### Элемент `refunds[]`

<ResponseField name="uuid" type="string">
  Идентификатор возврата (это выплата — см. [объект выплаты](/reference/payout-object)).
</ResponseField>

<ResponseField name="status" type="string">
  Укрупнённый статус выплаты: `check` | `process` | `paid` | `fail` | `cancel`.
</ResponseField>

<ResponseField name="amount" type="string">
  Сумма возврата в монете платежа.
</ResponseField>

<ResponseField name="address" type="string">
  Куда ушёл возврат.
</ResponseField>

<ResponseField name="txid" type="string">
  Хеш транзакции возврата; пуст, пока не отправлен.
</ResponseField>

<ResponseField name="is_final" type="bool">
  Возврат в терминальном статусе.
</ResponseField>

<ResponseField name="created_at" type="string">
  Время создания (ISO 8601).
</ResponseField>

Отменённые и провалившиеся возвраты (`cancel`, `fail`) **не считаются** в `refund_status` — денег они
не вернули.

Для валюто‑агностичного счёта (`is_multi: true`) поля `payer_currency`, `address`, `address_qr_code`,
`payer_amount`, `amount_paid`, `amount_remaining` пусты до выбора монеты покупателем на
[hosted‑странице](/reference/pay-select): валюты расчёта у такого счёта ещё нет, а значит нет и сумм в ней.
`currency` и `amount` (цена) при этом заполнены всегда.

***

## Статусы `payment_status`

| Статус                 | Значение                                                                                                                                                                               |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `select`               | Валюто‑агностичный счёт (`is_multi: true`): ждём, пока покупатель выберет валюту и сеть на [hosted‑странице](/reference/pay-select). До выбора `address`, `payer_amount` и т.п. пусты. |
| `check`                | Счёт создан, ждём оплату.                                                                                                                                                              |
| `confirm_check`        | Транзакцию видим, ждём подтверждений сети.                                                                                                                                             |
| `wrong_amount_waiting` | Пришла недоплата, ждём остаток (срок ещё не вышел).                                                                                                                                    |
| `paid`                 | Оплачено в пределах допуска.                                                                                                                                                           |
| `paid_over`            | Переплата сверх допуска.                                                                                                                                                               |
| `wrong_amount`         | Недоплата, срок вышел.                                                                                                                                                                 |
| `cancel`               | Счёт истёк или отменён.                                                                                                                                                                |

**Терминальные статусы** (`is_final: true`): `paid`, `paid_over`, `wrong_amount`, а также
истёкшие/отменённые счета.

Недоплата и переплата обрабатываются согласно вашим настройкам
[`accuracy`](/reference/payment-accuracy) (допуск) и [`autorefund`](/reference/payment-autorefund) (автовозврат).

***

## Связанные страницы

<CardGroup cols={2}>
  <Card title="POST /v1/payment" href="/reference/payment-create" icon="arrow-right" horizontal>
    создание счёта.
  </Card>

  <Card title="POST /v1/payment/info" href="/reference/payment-info" icon="arrow-right" horizontal>
    получить актуальный объект (с `refunds[]`).
  </Card>

  <Card title="POST /v1/payment/refund" href="/reference/payment-refund" icon="arrow-right" horizontal>
    возврат; по умолчанию идёт на `payer_address`.
  </Card>

  <Card title="Жизненный цикл платежа" href="/guides/accept-first-payment" icon="arrow-right" horizontal>
    как это выглядит в потоке приёма.
  </Card>
</CardGroup>
