> For the complete documentation index, see [llms.txt](https://wiki.tribute.tg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.tribute.tg/ru/for-shops/api-magazina/models.md).

# Models

## The Shop object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"Shop":{"type":"object","required":["id","userId","name","link","callbackUrl","recurrent","onlyStars","tokenCharging","status"],"properties":{"id":{"type":"integer","format":"uint64","description":"ID магазина"},"userId":{"type":"integer","description":"ID владельца магазина"},"name":{"type":"string","description":"Название магазина"},"link":{"type":"string","description":"Ссылка/slug магазина"},"callbackUrl":{"type":"string","format":"uri","description":"URL вебхука для уведомлений о заказах"},"recurrent":{"type":"boolean","description":"Доступны ли рекуррентные платежи"},"onlyStars":{"type":"boolean","description":"Принимаются ли только платежи через Telegram Stars"},"tokenCharging":{"type":"boolean","description":"Включены ли списания по токенам (merchant-initiated)"},"status":{"type":"integer","description":"Статус магазина (0 = неактивен, 1 = активен)","enum":[0,1]}}}}}}
```

## The ShopOrder object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrder":{"type":"object","required":["uuid","shopId","amount","currency","title","description","status","successUrl","failUrl","paymentUrl","createdAt","period"],"properties":{"uuid":{"type":"string","format":"uuid","description":"UUID заказа"},"shopId":{"type":"integer","format":"uint64","description":"ID магазина, к которому относится заказ"},"amount":{"type":"integer","format":"int64","description":"Сумма заказа в минимальных единицах валюты (центы/копейки)"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"title":{"type":"string","description":"Название заказа (макс 100 символов UTF-16)"},"description":{"type":"string","description":"Описание заказа (макс 300 символов UTF-16)"},"status":{"type":"string","description":"Статус заказа","enum":["pending","paid","failed"]},"email":{"type":"string","format":"email","description":"Email клиента (опционально)"},"successUrl":{"type":"string","format":"uri","description":"URL редиректа при успешной оплате"},"failUrl":{"type":"string","format":"uri","description":"URL редиректа при неудачной оплате"},"paymentUrl":{"type":"string","format":"uri","nullable":true,"description":"Веб-URL для завершения оплаты клиентом в браузере.\n`null` для заказов OnlyStars — их можно оплатить только внутри Telegram через `webappPaymentUrl`.\n"},"webappPaymentUrl":{"type":"string","format":"uri","description":"URL для оплаты через Telegram WebApp"},"createdAt":{"type":"string","format":"date-time","description":"Время создания заказа в формате ISO 8601"},"comment":{"type":"string","description":"Комментарий к заказу (опционально)"},"period":{"type":"string","description":"Период оплаты для рекуррентных заказов","enum":["onetime","weekly","monthly","quarterly","halfyearly","yearly"]},"memberStatus":{"type":"string","description":"Статус рекуррентной подписки (только для рекуррентных заказов)","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Дата окончания рекуррентной подписки в формате ISO 8601 (только для рекуррентных заказов)"},"lastPaidTransactionAt":{"type":"string","format":"date-time","nullable":true,"description":"Дата последней оплаченной транзакции в формате ISO 8601. Null, если транзакций нет."},"starsAmount":{"type":"integer","format":"int64","description":"Фиксированная сумма в Telegram Stars (0 если не задано)"},"onlyStars":{"type":"boolean","description":"Принимает ли заказ только оплату через Telegram Stars"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"Цена первого периода в минимальных единицах валюты. Если задана — первое списание прошло по этой сумме, последующие списываются по `amount`. Отсутствует, если у заказа нет переопределения первого периода.\n"},"sendEmail":{"type":"boolean","description":"Отправляется ли покупателю чек на email после успешной оплаты (наследуется от магазина при создании)"},"image":{"type":"object","nullable":true,"description":"Изображение заказа, отображается в счетах и транзакциях Telegram Stars. Null, если изображение не задано.","properties":{"id":{"type":"integer","description":"ID изображения"},"path":{"type":"string","format":"uri","description":"URL изображения"},"thumbnail":{"type":"string","description":"Миниатюра в формате Base64"},"width":{"type":"integer","description":"Ширина изображения в пикселях"},"height":{"type":"integer","description":"Высота изображения в пикселях"},"fileType":{"type":"string","description":"Тип файла","enum":["image","video"]}}}}}}}}
```

## The ShopOrderPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderPayload":{"type":"object","required":["uuid","shopId","amount","currency","fee","status","isRecurrent"],"properties":{"uuid":{"type":"string","format":"uuid","description":"UUID заказа"},"shopId":{"type":"integer","format":"uint64","description":"ID магазина"},"amount":{"type":"integer","format":"int64","description":"Обычная рекуррентная цена заказа — сумма списаний за 2-й и\nпоследующие периоды, в минимальных единицах валюты (центы/копейки).\nДля рекуррентных заказов с переопределением первого периода сумму,\nфактически списанную при этой первой оплате (CIT), несёт\n`firstPeriodAmount`.\n"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"fee":{"type":"integer","format":"int64","description":"Комиссия платформы в минимальных единицах валюты"},"status":{"type":"string","description":"Статус заказа (вебхук отправляется только при status = 'paid')","enum":["paid"]},"email":{"type":"string","format":"email","description":"Email клиента (опционально, может быть пустым)"},"customerId":{"type":"string","description":"Идентификатор клиента мерчанта (опционально, включается если указан при создании заказа)"},"isRecurrent":{"type":"boolean","description":"Является ли заказ рекуррентным"},"period":{"type":"string","description":"Период оплаты (только для рекуррентных заказов)","enum":["weekly","monthly","quarterly","halfyearly","yearly"]},"paymentToken":{"type":"string","format":"uuid","description":"UUID платежного токена для списаний мерчантом (только при включённом tokenCharging и успешном создании токена)"},"cardLast4":{"type":"string","description":"Последние 4 цифры карты, использованной для оплаты (только при включённом tokenCharging)"},"cardBrand":{"type":"string","description":"Бренд карты (только при включённом tokenCharging)"},"starsAmount":{"type":"integer","format":"int64","description":"Фиксированная сумма в Telegram Stars (0 если не задано)"},"onlyStars":{"type":"boolean","description":"Принимает ли заказ только оплату через Telegram Stars"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"Цена первого периода в минимальных единицах валюты — для этого события об оплате это сумма, фактически списанная. Присутствует, если продавец передал `firstPeriodAmount` при создании заказа; иначе отсутствует."},"memberStatus":{"type":"string","description":"Статус подписки (только для рекуррентных заказов)","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Дата окончания подписки в формате ISO 8601 (только для рекуррентных заказов)"}}}}}}
```

## The ShopOrderChargeFailedPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderChargeFailedPayload":{"type":"object","required":["uuid","shopId","amount","currency","period","chargeRetries"],"properties":{"uuid":{"type":"string","format":"uuid","description":"UUID заказа"},"shopId":{"type":"integer","format":"uint64","description":"ID магазина"},"amount":{"type":"integer","format":"int64","description":"Сумма, которую попытались списать за неудавшийся рекуррентный период,\nв минимальных единицах валюты. Равна рекуррентной сумме `amount` заказа;\nпереопределение первого периода (`firstPeriodAmount`) применяется только\nк первому платежу (CIT), не к последующим рекуррентным списаниям.\n"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"period":{"type":"string","description":"Период оплаты","enum":["weekly","monthly","quarterly","halfyearly","yearly"]},"chargeRetries":{"type":"integer","description":"Количество неудачных попыток списания (1-3). Расписание: 2-я попытка через ~2ч после первой неудачной попытки, 3-я через ~8ч после первой неудачной попытки. После 3 неудач рекуррентный заказ отменяется.","minimum":1,"maximum":3},"email":{"type":"string","format":"email","description":"Email клиента (опционально)"},"customerId":{"type":"string","description":"Идентификатор клиента мерчанта (опционально, включается если указан при создании заказа)"},"isRecurrent":{"type":"boolean","description":"Является ли заказ рекуррентным"},"starsAmount":{"type":"integer","format":"int64","description":"Фиксированная сумма в Telegram Stars (0 если не задано)"},"onlyStars":{"type":"boolean","description":"Принимает ли заказ только оплату через Telegram Stars"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"Цена первого периода в минимальных единицах валюты. Присутствует, если продавец передал `firstPeriodAmount` при создании заказа; иначе отсутствует."},"memberStatus":{"type":"string","description":"Статус подписки","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Дата окончания подписки в формате ISO 8601"}}}}}}
```

## The ShopOrderChargeSuccessPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderChargeSuccessPayload":{"type":"object","required":["uuid","shopId","amount","currency","period"],"properties":{"uuid":{"type":"string","format":"uuid","description":"UUID заказа"},"shopId":{"type":"integer","format":"uint64","description":"ID магазина"},"amount":{"type":"integer","format":"int64","description":"Сумма, списанная за текущий рекуррентный период, в минимальных\nединицах валюты. Равна рекуррентной сумме `amount` заказа;\nпереопределение первого периода (`firstPeriodAmount`) применяется\nтолько к первому платежу (CIT), не к последующим рекуррентным\nсписаниям.\n"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"period":{"type":"string","description":"Период оплаты","enum":["weekly","monthly","quarterly","halfyearly","yearly"]},"email":{"type":"string","format":"email","description":"Email клиента (опционально)"},"customerId":{"type":"string","description":"Идентификатор клиента мерчанта (опционально, включается если указан при создании заказа)"},"isRecurrent":{"type":"boolean","description":"Является ли заказ рекуррентным"},"starsAmount":{"type":"integer","format":"int64","description":"Фиксированная сумма в Telegram Stars (0 если не задано)"},"onlyStars":{"type":"boolean","description":"Принимает ли заказ только оплату через Telegram Stars"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"Цена первого периода в минимальных единицах валюты. Присутствует, если продавец передал `firstPeriodAmount` при создании заказа; иначе отсутствует."},"memberStatus":{"type":"string","description":"Статус подписки","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Дата окончания подписки в формате ISO 8601"}}}}}}
```

## The ShopOrderCancelledPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderCancelledPayload":{"type":"object","required":["uuid","shopId","amount","currency","period","cancelReason"],"properties":{"uuid":{"type":"string","format":"uuid","description":"UUID заказа"},"shopId":{"type":"integer","format":"uint64","description":"ID магазина"},"amount":{"type":"integer","format":"int64","description":"Сумма заказа в минимальных единицах валюты (центы/копейки)"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"period":{"type":"string","description":"Период оплаты","enum":["weekly","monthly","quarterly","halfyearly","yearly"]},"cancelReason":{"type":"string","description":"Причина отмены.\n- `cancelled_by_seller` — отменено владельцем магазина.\n- `charge_failed` — не удалось списать средства с карты (например, исчерпаны все попытки повторного списания, висящий неоплаченный инвойс, внутренняя ошибка обработки).\n- `payment_method_expired` — сохранённый способ оплаты (карта) больше недоступен.\n- `stars_subscription_expired` — подписка Telegram Stars перестала продлеваться на стороне Telegram. Покрывает как подписки чистыми Stars (карта не привязана; продление выполняет Telegram), так и OnlyStars-подписки «карта → Stars», у которых покупатель отменил подписку на стороне Telegram (предварительное списание с карты тогда прекращается).\n- `seller_unavailable` — продавец больше не может принимать платежи (аккаунт заблокирован/удалён, выплаты отключены или не пройдена верификация).\n- `last_charge_refunded` — была возвращена последняя по времени создания транзакция покупателя по заказу магазина. Возврат более старой транзакции при наличии более новой подписку НЕ отменяет.\n","enum":["cancelled_by_seller","charge_failed","payment_method_expired","stars_subscription_expired","seller_unavailable","last_charge_refunded"]},"email":{"type":"string","format":"email","description":"Email клиента (опционально)"},"customerId":{"type":"string","description":"Идентификатор клиента мерчанта (опционально, включается если указан при создании заказа)"},"isRecurrent":{"type":"boolean","description":"Является ли заказ рекуррентным"},"starsAmount":{"type":"integer","format":"int64","description":"Фиксированная сумма в Telegram Stars (0 если не задано)"},"onlyStars":{"type":"boolean","description":"Принимает ли заказ только оплату через Telegram Stars"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"Цена первого периода в минимальных единицах валюты. Присутствует, если продавец передал `firstPeriodAmount` при создании заказа; иначе отсутствует."},"memberStatus":{"type":"string","description":"Статус подписки (только для рекуррентных заказов)","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Дата окончания подписки в формате ISO 8601 (только для рекуррентных заказов)"}}}}}}
```

## The ShopOrderRefundedPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderRefundedPayload":{"type":"object","required":["uuid","shopId","transactionId","amount","currency","status"],"properties":{"uuid":{"type":"string","format":"uuid","description":"UUID заказа"},"shopId":{"type":"integer","format":"uint64","description":"ID магазина"},"transactionId":{"type":"integer","format":"uint64","description":"ID транзакции, по которой выполнен возврат"},"amount":{"type":"integer","format":"int64","description":"Сумма возврата в минимальных единицах валюты (центы/копейки)"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"status":{"type":"string","description":"Статус возврата","enum":["initiated","completed"]},"refundedAt":{"type":"string","format":"date-time","description":"Время завершения возврата (опционально, присутствует только при status = 'completed')"},"customerId":{"type":"string","description":"Идентификатор клиента мерчанта (опционально, включается если указан при создании заказа)"},"isRecurrent":{"type":"boolean","description":"Является ли заказ рекуррентным"},"period":{"type":"string","description":"Период оплаты","enum":["onetime","weekly","monthly","quarterly","halfyearly","yearly"]},"starsAmount":{"type":"integer","format":"int64","description":"Фиксированная сумма в Telegram Stars (0 если не задано)"},"onlyStars":{"type":"boolean","description":"Принимает ли заказ только оплату через Telegram Stars"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"Цена первого периода в минимальных единицах валюты. Присутствует, если продавец передал `firstPeriodAmount` при создании заказа; иначе отсутствует."},"memberStatus":{"type":"string","description":"Статус подписки (только для рекуррентных заказов)","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Дата окончания подписки в формате ISO 8601 (только для рекуррентных заказов)"}}}}}}
```

## The ShopOrderPaymentFailedPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderPaymentFailedPayload":{"type":"object","required":["uuid","shopId","amount","currency","errorCode","errorMessage"],"properties":{"uuid":{"type":"string","format":"uuid","description":"UUID заказа"},"shopId":{"type":"integer","format":"uint64","description":"ID магазина"},"amount":{"type":"integer","format":"int64","description":"Обычная рекуррентная цена заказа — сумма списаний за 2-й и\nпоследующие периоды, в минимальных единицах валюты (центы/копейки).\nДля рекуррентных заказов с переопределением первого периода сумму,\nкоторую попытались списать при этой первой оплате (CIT), несёт\n`firstPeriodAmount`.\n"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"errorCode":{"type":"string","description":"Код ошибки, указывающий тип сбоя"},"errorMessage":{"type":"string","description":"Описание ошибки для понимания причины сбоя"},"email":{"type":"string","format":"email","description":"Email клиента (опционально)"},"customerId":{"type":"string","description":"Идентификатор клиента мерчанта (опционально, включается если указан при создании заказа)"},"starsAmount":{"type":"integer","format":"int64","description":"Фиксированная сумма в Telegram Stars (0 если не задано)"},"onlyStars":{"type":"boolean","description":"Принимает ли заказ только оплату через Telegram Stars"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"Цена первого периода в минимальных единицах валюты — для этой неуспешной первой оплаты (CIT) это сумма, которую попытались списать. Присутствует, если продавец передал `firstPeriodAmount` при создании заказа; иначе отсутствует."}}}}}}
```

## The ShopOrderPaymentReceivedPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderPaymentReceivedPayload":{"type":"object","required":["uuid","shopId","amount","currency","starsAmount","onlyStars","starsPurchaseId"],"properties":{"uuid":{"type":"string","format":"uuid","description":"UUID заказа"},"shopId":{"type":"integer","format":"uint64","description":"ID магазина"},"amount":{"type":"integer","format":"int64","description":"Сумма заказа в минимальных единицах валюты (центы/копейки)"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"period":{"type":"string","description":"Период подписки (отсутствует для разовых заказов)"},"starsAmount":{"type":"integer","format":"int64","description":"Фиксированная сумма в Telegram Stars"},"onlyStars":{"type":"boolean","description":"Принимает ли заказ только оплату через Telegram Stars"},"starsPurchaseId":{"type":"integer","format":"uint64","description":"Внутренний идентификатор для сопоставления событий"},"email":{"type":"string","format":"email","description":"Email клиента (опционально)"},"customerId":{"type":"string","description":"Идентификатор клиента мерчанта (опционально, включается если указан при создании заказа)"}}}}}}
```

## The ShopToken object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopToken":{"type":"object","required":["shopId","token","cardLast4","amount","currency","active","createdAt"],"properties":{"shopId":{"type":"integer","format":"uint64","description":"ID магазина, к которому относится токен"},"token":{"type":"string","format":"uuid","description":"UUID платёжного токена"},"cardLast4":{"type":"string","description":"Последние 4 цифры номера карты"},"cardBrand":{"type":"string","description":"Бренд карты (VISA, MASTERCARD и др.)"},"customerId":{"type":"string","description":"Идентификатор клиента мерчанта (опционально)"},"amount":{"type":"integer","format":"int64","description":"Фиксированная сумма списания в минимальных единицах валюты"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"active":{"type":"boolean","description":"Активен ли токен и может ли использоваться для списаний"},"createdAt":{"type":"string","format":"date-time","description":"Время создания токена в формате ISO 8601"},"lastUsedAt":{"type":"string","format":"date-time","description":"Время последнего списания по токену (опционально)"}}}}}}
```

## The ShopCharge object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopCharge":{"type":"object","required":["chargeUuid","shopId","status","amount","currency","createdAt"],"properties":{"chargeUuid":{"type":"string","format":"uuid","description":"UUID списания"},"shopId":{"type":"integer","format":"uint64","description":"ID магазина, к которому относится списание"},"status":{"type":"string","description":"Статус списания","enum":["pending","processing","success","failed","timeout"]},"reference":{"type":"string","description":"Референс мерчанта (опционально)"},"amount":{"type":"integer","format":"int64","description":"Сумма списания в минимальных единицах валюты"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"token":{"type":"string","format":"uuid","description":"UUID платёжного токена"},"errorCode":{"type":"string","description":"Код ошибки при неудачном списании (опционально)"},"errorMessage":{"type":"string","description":"Сообщение об ошибке при неудачном списании (опционально)"},"createdAt":{"type":"string","format":"date-time","description":"Время создания списания в формате ISO 8601"},"processedAt":{"type":"string","format":"date-time","description":"Время завершения обработки списания (опционально)"}}}}}}
```

## The ShopTokenChargeSuccessPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopTokenChargeSuccessPayload":{"type":"object","required":["chargeUuid","shopId","token","amount","currency","processedAt"],"properties":{"chargeUuid":{"type":"string","format":"uuid","description":"UUID списания"},"shopId":{"type":"integer","format":"uint64","description":"ID магазина"},"token":{"type":"string","format":"uuid","description":"UUID платёжного токена"},"amount":{"type":"integer","format":"int64","description":"Сумма списания в минимальных единицах валюты"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"reference":{"type":"string","description":"Референс мерчанта (опционально)"},"processedAt":{"type":"string","format":"date-time","description":"Время завершения списания в формате ISO 8601"}}}}}}
```

## The ShopTokenChargeFailedPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopTokenChargeFailedPayload":{"type":"object","required":["chargeUuid","shopId","token","amount","currency","errorCode","errorMessage"],"properties":{"chargeUuid":{"type":"string","format":"uuid","description":"UUID списания"},"shopId":{"type":"integer","format":"uint64","description":"ID магазина"},"token":{"type":"string","format":"uuid","description":"UUID платёжного токена"},"amount":{"type":"integer","format":"int64","description":"Сумма списания в минимальных единицах валюты"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"reference":{"type":"string","description":"Референс мерчанта (опционально)"},"errorCode":{"type":"string","description":"Код ошибки"},"errorMessage":{"type":"string","description":"Подробное сообщение об ошибке"}}}}}}
```

## The Transaction object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"Transaction":{"type":"object","required":["id","type","amount","currency","createdAt","total"],"properties":{"id":{"type":"integer","format":"uint64","description":"ID транзакции"},"type":{"type":"string","description":"Тип транзакции"},"objectId":{"type":"integer","format":"uint64","description":"ID связанного объекта"},"amount":{"type":"number","format":"double","description":"Сумма транзакции в единицах валюты (например, EUR, RUB)"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)","enum":["eur","rub","usd"]},"createdAt":{"type":"integer","format":"int64","description":"Время создания транзакции (Unix timestamp в секундах)"},"serviceFee":{"type":"number","format":"double","description":"Сумма комиссии сервиса"},"total":{"type":"number","format":"double","description":"Итоговая сумма за вычетом комиссий"},"paymentMethod":{"type":"string","description":"Использованный способ оплаты"},"isRefunded":{"type":"boolean","description":"Был ли выполнен возврат по транзакции"},"isRefundable":{"type":"boolean","description":"Возможен ли возврат по транзакции"},"isRecurring":{"type":"boolean","description":"Является ли транзакция рекуррентным платежом"},"shopOrder":{"type":"object","description":"Детали связанного заказа магазина (включается для транзакций заказов магазина)","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID заказа"},"title":{"type":"string","description":"Название заказа"},"description":{"type":"string","description":"Описание заказа"},"amount":{"type":"number","format":"double","description":"Сумма заказа в единицах валюты"},"currency":{"type":"string","description":"Код валюты (в нижнем регистре)"},"status":{"type":"string","description":"Статус заказа","enum":["pending","paid","failed"]},"email":{"type":"string","format":"email","description":"Email клиента (опционально)"},"successUrl":{"type":"string","format":"uri","description":"URL редиректа при успешной оплате"},"failUrl":{"type":"string","format":"uri","description":"URL редиректа при неудачной оплате"},"createdAt":{"type":"integer","format":"int64","description":"Время создания заказа (Unix timestamp в секундах)"},"comment":{"type":"string","description":"Комментарий к заказу (опционально)"},"period":{"type":"string","description":"Период оплаты","enum":["onetime","weekly","monthly","quarterly","halfyearly","yearly"]},"shopName":{"type":"string","description":"Название магазина"},"starsAmount":{"type":"integer","format":"int64","description":"Фиксированная сумма в Telegram Stars (0 если не задано)"},"onlyStars":{"type":"boolean","description":"Принимает ли заказ только оплату через Telegram Stars"}}}}}}}}
```

## The Error object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"Error":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Код ошибки","enum":["error_bad_request","error_not_found","error_not_permitted","no_access"]},"message":{"type":"string","description":"Описание ошибки"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://wiki.tribute.tg/ru/for-shops/api-magazina/models.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
