Чем мы можем помочь?

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

  • Обновлено

 Важно!

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

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

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

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

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

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