В руководстве по устранению неполадок с веб-версией рассматриваются проблемы и вопросы, связанные со следующими темами:
- Доступ к регистрации
- merchantID
- Действительность шлюза
- Действительность объекта
- Прямые продавцы
- CardInfo
- Ошибки OR_BIBED_15
Регистрация и доступ
В процессе интеграции могут возникнуть следующие ошибки: В этом списке приведены советы по устранению неполадок, которые могут возникнуть.
- Этот продавец не поддерживает Google Pay.
- Для сайтов, на которых
PaymentsClientнастраивается для средыPRODUCTION, Google Pay API требует merchantId Google.merchantIdGoogle связан с одним или несколькими полными доменными именами через консоль Google Pay и Кошелька. Чтобы узнать больше, изучите сведения об ошибке. - Этот продавец не завершил регистрацию для использования Google Pay API. Чтобы проверить это, перейдите в консоль (https://pay.google.com/business/console).
- Вы не зарегистрировали свои сайты для Google Pay API. Запросите доступ к рабочей версии, чтобы зарегистрироваться в Google Pay & Wallet Console и запросить проверку использования Google Pay API на вашем сайте.
- У этого профиля продавца нет доступа к этой функции.
- Google не настроил ваш сайт для использования Google Pay API. Запросите доступ к рабочей версии, чтобы отправить на проверку использование Google Pay API на вашем сайте, через Google Pay & Wallet Console.
- Эта интеграция Google Pay API отключена. Чтобы узнать больше, свяжитесь с нами (https://developers.google.com/pay/api/faq#how-to-get-support).
- Чтобы узнать, как снова включить Google Pay API для вашего аккаунта Google, свяжитесь с нами.
- Ваш домен example.com не зарегистрирован для использования этого API
- Домен, на котором размещена страница оплаты, не связан с атрибутом "ссылка на страницу оплаты"
merchantId. Убедитесь, что параметрmerchantIdуказан правильно и ваш домен зарегистрирован в Google Pay & Wallet Console. - Google Pay API нужно вызывать в безопасном контексте.
- Google Pay API можно использовать только на сайтах с защищенным контекстом. Подробнее о безопасных контекстах…
- Для профиля продавца нет ключей.
- Чтобы завершить интеграцию
DIRECTtokenizationSpecificationtype, вам нужно зарегистрировать открытый ключ шифрования в Google через Google Pay & Wallet Console.
merchantId
В процессе интеграции с merchantId могут возникнуть следующие ошибки. В этом списке приведены советы по устранению неполадок, которые могут возникнуть.
- Параметр merchantId не настроен.
- Параметр
merchantIdвнутри тегаPaymentDataRequestдолжен иметь значение, указанное в Google Pay & Wallet Console. ПараметрmerchantIdтребуется только при использованииPaymentsClient, настроенного для средыPRODUCTION. Чтобы запросить проверку использования Google Pay API на вашем сайте и получитьmerchantId, ознакомьтесь с нашим контрольным списком интеграции. - Параметр merchantId не является строкой.
- Параметр
merchantIdвнутри элементаPaymentDataRequestвсегда должен быть строкой. Перед вызовом API убедитесь, что параметрmerchantIdимеет строковый тип. - Параметр merchantId не зарегистрирован.
- Параметр
merchantIdвнутриPaymentDataRequestдолжен быть предоставлен через Google Pay & Wallet Console. Подробнее о том, как запросить доступ к рабочей версии…
Срок действия шлюза
В процессе интеграции вы можете столкнуться со следующими ошибками, связанными с действительностью шлюза: В этом списке приведены советы по устранению неполадок, которые могут возникнуть.
- Неизвестный шлюз yourgateway.
- Параметр шлюза, указанный в
paymentMethodTokenizationParameters.parameters, в настоящее время не поддерживается Google. Чтобы узнать больше об идентификаторе платежного шлюза и связанных с ним полях, напримерgatewayMerchantId, обратитесь к поставщику услуг шлюза. - Шлюз example нельзя использовать в рабочем режиме
- Приведенное значение параметра шлюза используется только для тестирования и не может применяться с
PaymentsClient, настроенным для средыPRODUCTION. Чтобы узнать больше о значениях параметров, которые необходимо задать для использования с Google Pay API, обратитесь к поставщику платежного шлюза.PaymentMethodTokenizationSpecification
Срок действия объекта
В процессе интеграции вы можете столкнуться со следующими ошибками, связанными с действительностью объектов: В этом списке приведены советы по устранению неполадок, которые могут возникнуть.
- Запрос PaymentDataRequest от Google Pay не является действительным объектом JSON
- Параметр, переданный в функцию
loadPaymentData, всегда должен быть действительным объектомPaymentDataRequest. - Параметр transactionInfo не настроен.
- Параметр
transactionInfoвнутри объектаPaymentDataRequestвсегда должен быть допустимым объектомTransactionInfo.
Проблемы с продавцами
В процессе интеграции вы можете столкнуться со следующими ошибками, связанными с прямыми продавцами. В этом списке приведены советы по устранению неполадок, которые могут возникнуть.
- Подтверждение подписи
- Если
merchantIdуказан неверно, может возникнуть ошибка проверки подписи. Это может произойти в средеTEST, если вы используете библиотеку токенов способов оплаты Tink. Чтобы избежать этой проблемы, задайте для параметра YOUR_MERCHANT_ID значение12345678901234567890в: .recipientId("merchant:YOUR_MERCHANT_ID")
- Проблема с расшифровкой токена
- Если вы используете библиотеку Tink paymentmethodtoken для расшифровки токена, обратите внимание на следующее:
- Убедитесь, что среда ответа Google Pay API соответствует среде paymentmethodtoken Tink. Пример:
- Если ответ Google Pay API был получен из среды
TEST, то Tink указывает на тестовую среду для расшифровки. - Не изменяйте ответ Google Pay API перед передачей в Tink. Убедитесь, что вы передаете весь токен, возвращенный в ответе Google Pay API. Подробнее об этом можно узнать из примечания ниже.
- Используйте закрытый ключ, который связан с открытым ключом, зарегистрированным в Google.
- Как создать пару из открытого и закрытого ключа в Windows
- Если вы используете Windows и хотите выполнить действия, описанные в разделе Как создать пару из закрытого и открытого ключа с помощью OpenSSL, установите на компьютер Cygwin. Это нужно, чтобы выполнять команды Linux.
Объекты ошибки
Так называют объекты, которые были отклонены методами клиента JavaScript.
- PaymentsError
- Этот объект содержит информацию об ошибках, возвращаемых клиентскими методами JavaScript. Ошибки могут не показываться в диалоговом окне.
| Ресурс | Тип | Описание |
|---|---|---|
statusCode |
Строка | Короткий код, описывающий тип ошибки. |
statusMessage |
Строка | Сообщение для разработчика с описанием ошибки и возможными вариантами ее исправления. |
- Ошибки при добавлении пользователей
- Этот объект содержит ошибки, которые могут возникнуть при использовании всех методов JavaScript. Зайдите в консоль разработчика, чтобы проверить не появились ли другие сообщения об ошибках.
- Что такое функция CardInfo?
- Google Pay указывает потребителям, что за кнопкой оплаты Google Pay находится карта, при этом отображаются как сеть бренда карты, так и последние четыре цифры карты.
- Почему функция CardInfo не работает в моей реализации?
Чтобы функция CardInfo работала, должны быть выполнены следующие условия:
- Вам необходимо реализовать API
createButton. - Вам необходимо настроить параметр
ButtonOptions.buttonTypeна значениеbuy,longилиpay. - У пользователя должен быть доступный способ оплаты, как определено в объекте
CardParameters.
- Вам необходимо реализовать API
- Почему кнопка оплаты через Google Pay загружается бесконечно?
- Не удаляйте прослушиватели событий
onLoad. Если удалить прослушиватели событийonLoad, кнопка оплаты через Google Pay может загружаться бесконечно. - Почему после нажатия кнопки оплаты через Google Pay не появляется запрос на оплату?
- Назначьте обратный вызов прослушивателя событий событию
ButtonOptions.onClick. - Как работать с WebView
- Чтобы убедиться, что интеграция совместима с WebView, следуйте инструкциям для Android и iOS.
- Заголовок HTTP-ответа
Cross-Origin-Opener-Policy - Если для заголовка HTTP-ответа
Cross-Origin-Opener-Policyзадано значениеsame-origin, браузер может не открыть всплывающее окно, необходимое для завершения транзакции. Чтобы уменьшить количество таких проблем, попробуйте изменить значение заголовка наsame-origin-allow-popups. - Задержки между событием клика пользователя и вызовом
loadPaymentData(). -
Если после нажатия кнопки Google Pay (или аналогичной кнопки оформления заказа) и до вызова
loadPaymentData()происходит задержка (например, из-заsetTimeout(), дополнительных сетевых вызовов или аналогичной длительной логики), это может привести к срабатыванию механизма блокировки всплывающих окон в браузере. Мы рекомендуем не устанавливать задержку между кликом пользователя и вызовомloadPaymentData().
| Код статуса | Описание |
|---|---|
BUYER_ACCOUNT_ERROR |
Пользователь Google не может предоставить платежные данные. |
DEVELOPER_ERROR |
Неверный формат переданного параметра. Сообщение об ошибке может появиться в консоли браузера в любой настроенной среде. |
MERCHANT_ACCOUNT_ERROR |
У сайта, который обращается к Google Pay API, нет нужного разрешения. Это может быть связано с неправильной конфигурацией или с неверным идентификатором продавца. Подробную информацию можно найти в поле |
INTERNAL_ERROR |
Стандартная ошибка сервера. |
CardInfo
OR_BIBED_15 ошибки
В процессе интеграции может возникнуть ошибка OR_BIBED_15. Ниже приведены советы по устранению неполадок, которые могут помочь при возникновении этой ошибки.