Важно!
В этой статье описывается устаревшая функция валидации чеков. Подробные сведения см. здесь: Бюллетень: Старая версия валидации чеков устарела и больше не поддерживается
Краткий обзор: Реализуйте валидацию чека, чтобы защититься от мошеннических покупок в приложении в магазинах приложений для устройств на iOS и Android, а также убедиться, что покупка в приложении произошла надлежащим образом. Примечание: Это устаревшая функция. Узнайте подробнее о новом, полностью автоматическом и улучшенном механизме валидации покупок в приложении.
Процесс валидации квитанций
Процесс валидации квитанций выглядит следующим образом:
- Пользователь совершает покупку в приложении.
- Магазин приложений уведомляет приложение об успешной покупке.
-
Разработчик приложения вызывает функцию SDK для валидации квитанций.
validateAndLogInAppPurchase
- SDK вызывает сервис валидации AppsFlyer.
- AppsFlyer выполняет валидацию покупки, чтобы убедиться, что она не является мошеннической.
- В случае успешной валидации AppsFlyer на внутреннем уровне создаёт стандартное событие af_purchase. В противном случае созданное событие помечается как мошенническое (доступно через Protect360).
- Сервис валидации AppsFlyer передаёт ответ SDK.
-
SDK передаёт результат валидации квитанции приложению (успех или неудача).
Если проверка чека не пройдена, событие отображается в отчёте по сырым данным как заблокированное внутреннее событие (доступно для подписчиков Protect360).
Для получения подробной информации о реализации валидации квитанций см. нашу документацию для разработчиков SDK:
Примечания:
- Для приложений iOS , развёрнутых в тестовой среде, то есть приложений, которые не опубликованы в магазине приложений, для валидации чеков требуется дополнительная работа с кодом.
- Покупки, сделанные в тестовой среде, регистрируются как стандартные события af_purchase, и их доход отражается в дэшбордах и отчётах AppsFlyer.
- Служба проверки квитанций AppsFlyer бесплатна для всех тарифных планов.
- Для Android валидации квитанции может выдать результат
nullи счесть валидацию неудачной, если конечный пользователь не имел доступа к интернету на момент покупки.
Важно!
Вызов validateAndLogInAppPurchase также генерирует внутреннее событие af_purchase. Поэтому, не нужно генерировать событие af_purchase во время валидации. Иначе это приведёт к дублированию события дохода.
Примечание
- Устаревшая валидация квитанций, описанная в данной статье, не поддерживает StoreKit v2. Текущая версия: Настройка интеграции с iOS App Store.
- Валидация квитанций для покупок в приложении не поддерживается для сторонних магазинов приложений на Android.