Платежи Android-приложений всегда отвечают с ошибкой 3: BILLING_UNAVAILABLE

Наше приложение имеет встроенные покупки. Наши тесты также работали с реальными методами оплаты, но из-за рубежа (в частности, в Азии) мы постоянно получаем сообщения об ошибках. Библиотека Google Play Billing для Android возвращает код ответа BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE (3) большинство, если не все времена. Десятки пользователей пытались совершить покупку, но почти никто не имел успеха.

Код просто запрашивает данные SKU, используя BillingClient и затем инициирует процесс выставления счетов, как описано в официальном руководстве.

На игровой консоли мы настроили все необходимые SKU, и они доступны для всех регионов, в которых присутствует наше приложение.

Какие могут быть причины для BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE код ответа? Возможно ли, что все пользователи из определенных географических регионов получают этот код и не могут завершить покупку?

Мне трудно отладить проблему, так как с нашей стороны все работает нормально все время.

2 ответа

По моему опыту, этот код ответа возвращается, если Play Services не доступны (вы можете проверить его самостоятельно, установив APK на устройстве Amazon Fire), или если пользователь не создал учетную запись Google.

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

  1. Загрузите приложение на заключительное тестирование, на этом этапе публиковать не нужно. (Внутреннего тестирования может быть достаточно, но оно не проверено).
  2. Создайте SKU, обратите внимание, что идентификатор должен совпадать с идентификатором запроса приложения.
  3. Добавьте почтовый ящик тестировщика, который является входом в учетную запись Google, на устройство для тестирования SKU приложения.
  4. Переключить лицензию на ЛИЦЕНЗИРОВАННУЮ (Путь: домашняя страница игровой консоли -> Настройка -> Тестирование лицензии).
  5. Идентификатор приложения для загрузки заключительного тестирования должен совпадать с идентификатором приложения для локальной отладки.