В руководстве по устранению неполадок на устройствах Android рассматриваются проблемы и вопросы, связанные со следующими темами:
- Сейчас приложение работает в тестовой среде.
- Не удалось выполнить запрос
- Регистрация и доступ
- Действительность шлюза
- Прямые продавцы
- Android WebView
- CardInfo
Сейчас приложение работает в тестовой среде.
Когда пользователь выбирает платежную карту в диалоговом окне сведений об оплате, он может увидеть следующее сообщение:
Сейчас приложение работает в тестовой среде. Средства по транзакциям не списываются.
Эта ошибка означает, что приложение использует
ENVIRONMENT_TEST
и не получает реальные платежные данные, но получает личную информацию, которая включает платежный адрес, номер телефона, указанный в платежном адресе, адрес доставки и адрес электронной почты, если он запрошен.
Не удалось выполнить запрос
Одно из наиболее распространенных сообщений об ошибке – это OR_BIBED_06. В интерфейсе оно появляется в виде диалогового окна со следующим текстом:
Запрос не выполнен
Проблема с интеграцией Google Pay у продавца. Обратитесь к продавцу или выберите другой способ оплаты.
Чтобы узнать больше об ошибке, выполните указанные ниже действия.
- Убедитесь, что на компьютере установлен Android Debug Bridge (adb).
- Убедитесь, что на вашем устройстве включена отладка по USB. Дополнительную информацию вы можете найти в разделе Отладка вашего приложения.
- Подключите устройство Android к компьютеру или запустите симулятор.
Введите команду на терминале или в командной строке компьютера:
adb logcat -s WalletMerchantError
В ответе указана причина ошибки. Например, вы можете увидеть:
02-26 17:41:28.133 14593 14593 W WalletMerchantError: Error in loadPaymentData: This merchant profile does not have access to this feature.
Действия по устранению неполадок зависят от сообщения об ошибке.
Срок действия шлюза
В процессе интеграции вы можете столкнуться со следующими ошибками, связанными с действительностью шлюза: Ниже приведены советы по устранению этих ошибок.
OR_BIBED_06Неизвестный шлюз 'yourgateway'- Значение свойства
gateway, указанное вtokenizationSpecification, в настоящее время не поддерживается Google Pay API. Чтобы узнать больше об идентификаторе платежного шлюза и связанных с ним полях, напримерgatewayMerchantId, обратитесь к поставщику шлюза. OR_BIBED_06Шлюз example нельзя использовать в рабочем режиме.- Приведенное значение свойства шлюза используется только для тестирования и не может применяться, если для параметра среды
WalletOptionsзадано значениеWalletConstants.ENVIRONMENT_PRODUCTION. Чтобы узнать больше о параметрахgateway, которые необходимо использовать с Google Pay API, обратитесь к представителю платежного шлюза.
Регистрация и доступ
В процессе интеграции могут возникнуть следующие ошибки, связанные с регистрацией и доступом: Ниже приведены советы по устранению этих ошибок.
OR_BIBED_07Для этого API требуется библиотека сервисов Google Play версии 8.4 или более поздней.- Убедитесь, что на устройстве, на котором запущено приложение, установлена последняя версия сервисов Google Play.
OR_BIBED_07Для этого профиля продавца не найдено ключей- Чтобы завершить интеграцию типа
DIRECT(свойствоtypeобъектаtokenizationSpecification), вам нужно зарегистрировать открытый ключ шифрования в Google с помощью Google Pay & Wallet Console. OR_BIBED_07У этого профиля продавца нет доступа к этой функции.- Вы не завершили регистрацию приложения для Google Pay API. Подробнее о том, как запросить доступ к рабочей версии…
OR_BIBED_10Этот продавец находится в стране или регионе, где не поддерживается Google Pay.- Сервис Google Pay недоступен в регионе. Подробнее о поддерживаемых странах…
OR_BIBED_11Этот продавец не зарегистрировался для использования Google Pay API. Чтобы проверить это, перейдите в консоль (https://pay.google.com/business/console).- Вы не завершили регистрацию приложения для Google Pay API. Подробнее о том, как запросить доступ к рабочей версии…
OR_BIBED_12Эта интеграция Google Pay API отключена. Чтобы узнать больше, свяжитесь с нами (https://developers.google.com/pay/api/faq#how-to-get-support).- Чтобы узнать, как повторно включить Google Pay API для вашего аккаунта, свяжитесь с нами.
OR_BIBED_13Цифровые отпечатки ключа подписи{11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:11:22:33:44:55} не совпадают с данными, которые мы храним для этого приложения.- Google Pay API можно использовать в рабочем режиме, только если APK подписан правильным ключом. Дополнительную информацию вы найдете в статье Добавление подписи в приложения.
Проблемы с продавцами
В процессе интеграции с прямым продавцом могут возникнуть следующие ошибки: Ниже приведены советы по устранению этих ошибок.
- Подтверждение подписи
- Если
merchantIdуказан неверно, может возникнуть ошибка проверки подписи. Это может произойти в средеTEST, если вы используете библиотеку Tink paymentmethodtoken. Чтобы избежать этой проблемы, задайте для свойства YOUR_MERCHANT_ID значениев следующих файлах: .recipientId("merchant:YOUR_MERCHANT_ID")
- Проблема с расшифровкой токена
- Если вы используете библиотеку Tink paymentmethodtoken для расшифровки токена, обратите внимание на следующее:
- Убедитесь, что среда ответа Google Pay API соответствует среде Tink. Например, если ответ Google Pay API был возвращен
ENVIRONMENT_TEST, то Tink указывает на тестовую среду для расшифровки. - Не изменяйте ответ Google Pay API перед передачей в Tink. Убедитесь, что вы передаете весь токен, возвращенный в ответе Google Pay API. Подробности приведены ниже.
- Используйте закрытый ключ, который связан с открытым ключом, зарегистрированным в Google.
- Как создать пару из открытого и закрытого ключа в Windows
- Если вы используете Windows и хотите выполнить действия, описанные в разделе Как создать пару из закрытого и открытого ключа с помощью OpenSSL, установите на компьютер Cygwin. Это нужно, чтобы выполнять команды Linux.
Android WebView;
OR_BIBED_15Не удалось загрузить Google Pay, потому что в этом приложении используется WebView. Чтобы обеспечить работу Google Pay в Android WebView, разработчики должны следовать нашим инструкциям.- Следуйте инструкциям, чтобы включить Google Pay API для Android WebView.
CardInfo
- Что такое функция CardInfo?
- На кнопке оплаты через Google Pay показывается, какая карта будет использоваться для оплаты: ее бренд и последние четыре цифры номера.
- Почему функция CardInfo не работает в моей реализации?
Чтобы функция CardInfo работала, должны быть выполнены следующие условия:
- Вам необходимо реализовать API
createButton. - Вам необходимо настроить параметр
ButtonOptions.buttonTypeна значениеbuy,longилиpay. - У пользователя должен быть доступный способ оплаты, как определено в объекте
CardParameters.
- Вам необходимо реализовать API