Важно!
В этой статье описывается устаревшая функция валидации чеков. Дополнительную информацию см. в статье Bulletin: устаревшая валидация чека больше не поддерживается
Кратко: Реализуйте валидацию чека, чтобы защититься от мошеннических покупок в приложении в магазинах приложений для iOS и Android, а также убедиться, что покупка в приложении действительно произошла, как указано в отчёте. Примечание: Это устаревшая функция. Узнайте подробнее о новом, полностью автоматическом и улучшенном механизме валидации покупок в приложении.
Процесс валидации квитанций
Процесс валидации чека выглядит следующим образом:
- Пользователь совершает покупку в приложении.
- Магазин приложений уведомляет приложение об успешной покупке.
-
Разработчик приложения вызывает функцию SDK для валидации чеков.
validateAndLogInAppPurchase
- SDK вызывает сервис валидации AppsFlyer.
- AppsFlyer выполняет валидацию покупки, чтобы убедиться, что она не является мошеннической.
- В случае успешной валидации AppsFlyer на внутреннем уровне создаёт стандартное событие af_purchase. В противном случае созданное событие помечается как мошенническое (доступно через Protect360).
- Сервис валидации AppsFlyer передаёт ответ SDK.
-
SDK передаёт приложению результат валидации чека (успех или ошибка).
Если валидация чека не пройдена, событие отображается в отчете blocked in-app events raw-data (доступно подписчикам Protect360).
Для получения подробной информации о реализации валидации чеков см. нашу документацию для разработчиков SDK:
ПРИМЕЧАНИЯ
- Для песочничных приложений iOS, то есть приложений, которые ещё не опубликованы в App Store, валидация чека требует дополнительного кода.
- Покупки, сделанные в тестовой среде, регистрируются как стандартные события af_purchase, и их доход отражается в дэшбордах и отчётах AppsFlyer.
- Сервис валидации чеков AppsFlyer бесплатен для всех тарифных планов.
- Для Android валидация чека может вернуть результат
nullи считаться неудачной, если у конечного пользователя во время покупки нет доступа к интернету.
Важно!
Вызов validateAndLogInAppPurchase также создает in-app событие af_purchase. Поэтому, не нужно генерировать событие af_purchase во время валидации. Иначе это приведёт к дублированию события дохода.
Примечание:
- The legacy receipt validation explained here does not support StoreKit v2. Текущую версию см. в статье Настройка интеграции с iOS App Store.
- Валидация квитанций для покупок в приложении не поддерживается для сторонних магазинов приложений на Android.