Устранение неполадок

В руководстве по устранению неполадок с веб-версией рассматриваются проблемы и вопросы, связанные со следующими темами:

Регистрация и доступ

В процессе интеграции могут возникнуть следующие ошибки: В этом списке приведены советы по устранению неполадок, которые могут возникнуть.

Этот продавец не поддерживает Google Pay.
Для сайтов, на которых PaymentsClient настраивается для среды PRODUCTION, Google Pay API требует merchantId Google. merchantId Google связан с одним или несколькими полными доменными именами через консоль 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 можно использовать только на сайтах с защищенным контекстом. Подробнее о безопасных контекстах…
Для профиля продавца нет ключей.
Чтобы завершить интеграцию DIRECTtokenizationSpecification type, вам нужно зарегистрировать открытый ключ шифрования в 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. Зайдите в консоль разработчика, чтобы проверить не появились ли другие сообщения об ошибках.
Код статуса Описание
BUYER_ACCOUNT_ERROR Пользователь Google не может предоставить платежные данные.
DEVELOPER_ERROR

Неверный формат переданного параметра. Сообщение об ошибке может появиться в консоли браузера в любой настроенной среде.

MERCHANT_ACCOUNT_ERROR

У сайта, который обращается к Google Pay API, нет нужного разрешения. Это может быть связано с неправильной конфигурацией или с неверным идентификатором продавца. Подробную информацию можно найти в поле statusMessage. Если проблема не исчезнет, обратитесь в службу поддержки.

INTERNAL_ERROR Стандартная ошибка сервера.

CardInfo

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

Чтобы функция CardInfo работала, должны быть выполнены следующие условия:

  • Вам необходимо реализовать API createButton.
  • Вам необходимо настроить параметр ButtonOptions.buttonType на значение buy, long или pay.
  • У пользователя должен быть доступный способ оплаты, как определено в объекте CardParameters.
Почему кнопка оплаты через Google Pay загружается бесконечно?
Не удаляйте прослушиватели событий onLoad. Если удалить прослушиватели событий onLoad, кнопка оплаты через Google Pay может загружаться бесконечно.
Почему после нажатия кнопки оплаты через Google Pay не появляется запрос на оплату?
Назначьте обратный вызов прослушивателя событий событию ButtonOptions.onClick.

OR_BIBED_15 ошибки

В процессе интеграции может возникнуть ошибка OR_BIBED_15. Ниже приведены советы по устранению неполадок, которые могут помочь при возникновении этой ошибки.

Как работать с 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().