Типы объектов
Поля объектов PS Wallet Pay API: Invoice, Transfer, Check, Balance, ExchangeRate, Currency, AppStats и Update.
Объекты, которые возвращают методы API и вебхуки. Суммы — строки с точкой (кроме fee_amount у Invoice и полей AppStats), даты — строки ISO 8601. Поля, которые не заданы, в ответе не передаются.
Invoice
Счёт на оплату. Возвращают createInvoice, getInvoices и вебхук invoice_paid.
| Поле | Тип | Описание |
|---|---|---|
invoice_id | Number | ID счёта. В кабинете и у пользователя отображается как #IV528. |
hash | String | Хэш счёта, он же часть ссылок на оплату. |
currency_type | String | crypto или fiat. |
asset | String | Только для crypto. Монета счёта (USDT — любая сеть). |
fiat | String | Только для fiat. Валюта суммы. |
accepted_assets | String | Только для fiat. Разрешённые монеты через запятую. |
amount | String | Сумма счёта в asset или fiat. |
paid_asset | String | Оплаченный счёт. Чем заплатили — код монеты с сетью: USDT-TRC20, USDT-BEP20, USDT-ERC20, USDT-TON, XAUT, TRX, BNB, ETH, GRAM или RUB. Деньги пришли на баланс приложения в этой монете. |
paid_amount | String | Оплаченный счёт. Сколько списано у пользователя в paid_asset. |
paid_fiat_rate | String | Оплаченный фиатный счёт. Курс paid_asset к fiat в момент оплаты. |
paid_usd_rate | String | Оплаченный счёт. Курс paid_asset к USD в момент оплаты. |
fee_asset | String | Оплаченный счёт. Монета комиссии (= paid_asset). |
fee_amount | Number | Оплаченный счёт. Комиссия PS Wallet Pay. На баланс приложения зачислено paid_amount − fee_amount. |
bot_invoice_url | String | Ссылка на счёт в чате бота. |
mini_app_invoice_url | String | Ссылка сразу на экран оплаты в мини-приложении. |
web_app_invoice_url | String | То же, что mini_app_invoice_url. |
pay_url | String | То же, что bot_invoice_url. |
description | String | Описание, если задано. |
status | String | active, paid или expired. |
created_at | String | Дата создания, ISO 8601. |
allow_comments | Boolean | Можно ли оставить комментарий. |
allow_anonymous | Boolean | Можно ли оплатить анонимно. |
expiration_date | String | Срок действия, ISO 8601, если задан expires_in. |
paid_at | String | Оплаченный счёт. Дата оплаты, ISO 8601. |
paid_anonymously | Boolean | Оплачен ли счёт анонимно. |
comment | String | Комментарий пользователя к оплате, если оставлен. |
hidden_message | String | Сообщение после оплаты, если задано. |
payload | String | Ваши данные, если заданы. |
paid_btn_name | String | Кнопка после оплаты, если задана. |
paid_btn_url | String | Ссылка кнопки после оплаты. |
Transfer
Перевод пользователю. Возвращают transfer и getTransfers.
| Поле | Тип | Описание |
|---|---|---|
transfer_id | Number | ID перевода. |
spend_id | String | Ваш идентификатор перевода. |
user_id | String | Telegram ID получателя. |
asset | String | Монета с сетью (USDT-TRC20, …). |
amount | String | Сумма. |
status | String | Всегда completed: переводы проходят сразу. |
completed_at | String | Дата перевода, ISO 8601. |
comment | String | Комментарий, если задан. |
Check
Чек. Возвращают createCheck и getChecks.
| Поле | Тип | Описание |
|---|---|---|
check_id | Number | ID чека. |
hash | String | Хэш чека. |
asset | String | Монета с сетью. |
amount | String | Сумма. |
bot_check_url | String | Ссылка для активации. |
status | String | active или activated. |
created_at | String | Дата создания, ISO 8601. |
activated_at | String | Дата активации, ISO 8601. |
pin_to_user_id | Number | Если чек только для одного пользователя по Telegram ID. |
pin_to_username | String | Если чек только для одного пользователя по username. |
Balance
Баланс приложения в одной монете. Возвращает getBalance.
| Поле | Тип | Описание |
|---|---|---|
currency_code | String | Монета с сетью. |
available | String | Доступно для переводов, чеков и вывода. |
onhold | String | Удержано под неактивированные чеки. |
ExchangeRate
Курс монеты. Возвращает getExchangeRates.
| Поле | Тип | Описание |
|---|---|---|
is_valid | Boolean | Курс актуален. Если false, источник курса временно недоступен. |
is_crypto | Boolean | source — криптовалюта. |
is_fiat | Boolean | source — фиат. |
source | String | Монета: USDT, XAUT, TRX, BNB, ETH, GRAM или RUB. |
target | String | Валюта: USD или RUB. |
rate | String | Стоимость одной единицы source в target. |
Currency
Монета или валюта, которую принимает API. Возвращает getCurrencies.
| Поле | Тип | Описание |
|---|---|---|
is_blockchain | Boolean | Криптовалюта. |
is_stablecoin | Boolean | Стейблкоин. |
is_fiat | Boolean | Фиатная валюта. |
name | String | Название. |
code | String | Код для параметров API. |
decimals | Number | Знаков после запятой. |
AppStats
Статистика приложения за период. Возвращает getStats.
| Поле | Тип | Описание |
|---|---|---|
volume | Number | Оборот оплаченных счетов за период в USD. |
conversion | Number | Доля оплаченных счетов среди созданных за период (0–1). |
unique_users_count | Number | Сколько разных пользователей оплатили счета. |
created_invoice_count | Number | Создано счетов. |
paid_invoice_count | Number | Оплачено счетов. |
start_at | String | Начало периода, ISO 8601. |
end_at | String | Конец периода, ISO 8601. |
Update
Событие, которое PS Wallet Pay присылает на ваш сервер вебхуком.
| Поле | Тип | Описание |
|---|---|---|
update_id | Number | ID события. Для invoice_paid равен invoice_id, для test — 0. |
update_type | String | invoice_paid — счёт оплачен; test — тестовый вебхук из кабинета. |
request_date | String | Время отправки этой попытки, ISO 8601. |
payload | Object | Для invoice_paid — оплаченный Invoice. Для test — { "app_id": …, "name": … }. |