Покупки в приложении, сделанные с помощью промо-кодов, возвращают пустую строку полезной нагрузки разработчика


У меня есть приложение, опубликованное на альфа-канале, с управляемым элементом в приложении (un), который стоит $1.

когда я обычно покупаю, т. е. использую кредитную/дебетовую карту, Google возвращает правильную строку полезной нагрузки разработчика, но если я решу "выкупить" промо-код и ввести указанный код, Google возвращает пустую строку полезной нагрузки разработчика, и, таким образом, аутентификация не выполняется в " onIabPurchaseFinished ()".

Я должен упомянуть, что это происходит только в том случае, если я решил выкупить код из поток покупок приложения, и все работает безупречно, если я сначала открою Play Store, выкуплю код, а затем вернусь и открою приложение.

Это ошибка со стороны Google?

EDIT: ожидается, что Play Store, поскольку он не может знать вашу полезную нагрузку, и покупка выполняется без необходимости ее проверки.

1 58

1 ответ:

эта проблема была открыта на примерах Android-play-биллинга google РЕПО. Похоже, он был проигнорирован в течение длительного времени и в конечном итоге был закрыт с этой комментарий. Короче говоря, у них есть следующие предложения.


мы рассмотрели наши рекомендации и внутренние API, и поскольку developerPayload не поддерживается во всех функциях API биллинга в приложении (включая промокоды), мы удаляем рекомендацию использовать его в качестве безопасности проверять.

как вы можете видеть в нашей документации, на странице реализация биллинга в приложении (https://developer.android.com/google/play/billing/billing_integrate.html) мы добавили рекомендацию:

внимание: не используйте поле developerPayload для целей проверки безопасности. Это поле не всегда доступно при выполнении задач, связанных с выставлением счетов в приложении. Дополнительные сведения о рекомендациях по безопасности, см. Руководство по безопасности и дизайну биллинга в приложении.

наша рекомендация заключается в проверке на вашем собственном бэкэнде, используя Play Developer API.