/invoice/v2/create
Метод создает заказ так же, как /invoice/create, но по второму протоколу покупок.
Отличие в том, кто сообщает игре о завершении покупки. Заказ, созданный этим методом, возвращает
account_token — клиент прикрепляет его к покупке в сторе (appAccountToken на iOS,
obfuscatedAccountId на Android). Стор возвращает токен в своем серверном уведомлении, поэтому
сервер связывает платеж с заказом сам и объявляет завершенную покупку событием reward в
/event/list. Клиенту не нужно переживать покупку, чтобы показать награду.
Заказы, созданные через /invoice/create, событиями не объявляются — старый клиент показывает
покупку сам и не умеет подтверждать событие.
Адрес метода
/invoice/v2/create
Требует сессию пользователя
Параметры
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| product_id | ДА | int | Идентификатор товара или набора, которые заранее добавлены через Панель управления |
| tag | НЕТ | any | Идентификатор товаров внутри продукта, которые надо купить |
| count | НЕТ | int | Количество товара, если он поддерживает возможность его изменения |
| platform | НЕТ | string | Платформа оплаты, telegram (по умолчанию), android или ios |
| offer_id | НЕТ | string | Оффер, к которому относится покупка. Пусто для обычной покупки в банке |
Результат
{
"response": {
"invoice_id": 1,
"account_token": "0f8fad5b-d9cb-469f-a165-70867728950e"
}
}
| Поле | Тип | Описание |
|---|---|---|
| invoice_id | int | Идентификатор созданного заказа |
| account_token | string | Токен заказа для передачи в стор. Отсутствует для платформы telegram |
| link | string | Ссылка на заказ в Telegram. Только для платформы telegram |
Ответ несёт update.member со сводкой по ежедневным заданиям и достижениям
(unclaimedQuestsCount, unclaimedAchievementsCount, dailyChestProgress): создание заказа двигает
счётчик bank_transactions, и по наличию этих полей клиент понимает, что кеш заданий пора перечитать.