Быстрый старт: виртуальная валюта

Основная статья: Виртуальные валюты

Это руководство поможет настроить токен-валюту с нуля: подписка начисляет пользователям 1000 токенов в месяц, а платные действия в приложении списывают токены. Adapty хранит все балансы — вашему бэкенду остаётся только читать и тратить их.

  1. Следуйте гайду по созданию виртуальной валюты, чтобы создать валюту TOKENS. Привяжите её к подписке Pro и установите Credit per cycle равным 1000. Для продажи дополнительных токенов также привяжите разовые продукты с наборами токенов.

    New virtual currency creation screens
  2. Вызовите 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 }
     ]
   }
  1. Когда пользователь запускает генерацию, спишите токены, вызвав 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. Отслеживайте все изменения в профиле пользователя или в истории транзакций — это позволит в любой момент провести аудит экономики.