Быстрый старт: виртуальная валюта
Основная статья: Виртуальные валюты
Это руководство поможет настроить токен-валюту с нуля: подписка начисляет пользователям 1000 токенов в месяц, а платные действия в приложении списывают токены. Adapty хранит все балансы — вашему бэкенду остаётся только читать и тратить их.
-
Следуйте гайду по созданию виртуальной валюты, чтобы создать валюту
TOKENS. Привяжите её к подписке Pro и установите Credit per cycle равным 1000. Для продажи дополнительных токенов также привяжите разовые продукты с наборами токенов.
-
Вызовите List virtual currency balances, чтобы получить баланс пользователя, например, перед запуском генерации:
curl https://api.adapty.io/api/v2/server-side-api/vc/balances/ \
-H "Authorization: Api-Key {your secret key}" \
-H "adapty-customer-user-id: user-42"
В ответе перечислены все валюты пользователя, например 1000 TOKENS:
{
"data": [
{ "code": "TOKENS", "name": "Tokens", "balance": 1000, "held": 0, "available": 1000 }
]
}
-
Когда пользователь запускает генерацию, спишите токены, вызвав Create virtual currency transaction с отрицательным
amount. В этом примере одна генерация изображения стоит 100 токенов:curl -X POST https://api.adapty.io/api/v2/server-side-api/vc/transactions/ \ -H "Authorization: Api-Key {your secret key}" \ -H "adapty-customer-user-id: user-42" \ -H "Content-Type: application/json" \ -d '{"items": [{"currency_code": "TOKENS", "amount": -100}]}'
Транзакция атомарна и возвращает обновлённый баланс. Если у пользователя недостаточно средств, запрос возвращает insufficient_balance и ничего не меняется. Добавьте заголовок Idempotency-Key, чтобы безопасно повторять запросы.
4. Для проведения win-back promo начислите токены через тот же эндпоинт с положительным значением amount. Начисленные таким образом кредиты не имеют срока действия.
5. Отслеживайте все изменения в профиле пользователя или в истории транзакций — это позволит в любой момент провести аудит экономики.