[Устарело] Валидация чека для покупок в приложениях

Важно!

В этой статье описывается устаревшая функция валидации чеков. Подробные сведения см. здесь: Бюллетень: Старая версия валидации чеков устарела и больше не поддерживается

Краткий обзор: Реализуйте валидацию чека, чтобы защититься от мошеннических покупок в приложении в магазинах приложений для устройств на iOS и Android, а также убедиться, что покупка в приложении произошла надлежащим образом. Примечание: Это устаревшая функция. Узнайте подробнее о новом, полностью автоматическом и улучшенном механизме валидации покупок в приложении.

Процесс валидации квитанций

Процесс валидации квитанций выглядит следующим образом:

  1. Пользователь совершает покупку в приложении.
  2. Магазин приложений уведомляет приложение об успешной покупке.
  3. Разработчик приложения вызывает функцию SDK для валидации квитанций.

    validateAndLogInAppPurchase
  4. SDK вызывает сервис валидации AppsFlyer.
  5. AppsFlyer выполняет валидацию покупки, чтобы убедиться, что она не является мошеннической.
  6. В случае успешной валидации AppsFlyer на внутреннем уровне создаёт стандартное событие af_purchase. В противном случае созданное событие помечается как мошенническое (доступно через Protect360).
  7. Сервис валидации AppsFlyer передаёт ответ SDK.
  8. SDK передаёт результат валидации квитанции приложению (успех или неудача).
    Если проверка чека не пройдена, событие отображается в отчёте по сырым данным как заблокированное внутреннее событие (доступно для подписчиков Protect360).

Для получения подробной информации о реализации валидации квитанций см. нашу документацию для разработчиков SDK:

Примечания:

  • Для приложений iOS , развёрнутых в тестовой среде, то есть приложений, которые не опубликованы в магазине приложений, для валидации чеков требуется дополнительная работа с кодом.
  • Покупки, сделанные в тестовой среде, регистрируются как стандартные события af_purchase, и их доход отражается в дэшбордах и отчётах AppsFlyer.
  • Служба проверки квитанций AppsFlyer бесплатна для всех тарифных планов.
  • Для Android валидации квитанции может выдать результат null и счесть валидацию неудачной, если конечный пользователь не имел доступа к интернету на момент покупки.

Важно!

Вызов validateAndLogInAppPurchase также генерирует внутреннее событие af_purchase. Поэтому, не нужно генерировать событие af_purchase во время валидации. Иначе это приведёт к дублированию события дохода.

 Примечание

  • Устаревшая валидация квитанций, описанная в данной статье, не поддерживает StoreKit v2. Текущая версия: Настройка интеграции с iOS App Store.
  • Валидация квитанций для покупок в приложении не поддерживается для сторонних магазинов приложений на Android.