В руководстве по устранению неполадок в Интернете рассматриваются проблемы и вопросы, связанные со следующими темами.
- Доступ к регистрации
- merchantID
- Действительность шлюза
- Объектная валидность
- Прямые торговцы
- CardInfo
- OR_BIBED_15 ошибок
Регистрация и доступ
На каком-то этапе интеграции вы можете столкнуться со следующими ошибками. Этот список содержит полезные советы по устранению неполадок в случае их возникновения.
- У этого продавца нет поддержки Google Pay.
- Для API Google Pay требуется идентификатор Google MerchantId для сайтов, настраивающих
PaymentsClientдляPRODUCTIONсреды. Идентификатор GooglemerchantIdсвязан с одним или несколькими полными доменами через консоль Google Pay & Wallet . Для получения дополнительной информации проверьте возвращаемые сведения об ошибке. - Этот продавец не зарегистрировался для использования Google Pay API. Для подтверждения перейдите в консоль (https://pay.google.com/business/console).
- Вы не завершили процесс регистрации своих веб-сайтов в Google Pay API. Запросите доступ к рабочей версии , чтобы зарегистрироваться с помощью консоли Google Pay & Wallet и запросить проверку использования Google Pay API вашим веб-сайтом.
- У этого профиля продавца нет доступа к этой функции.
- Google не настроил ваш сайт для использования API Google Pay. Запросите доступ к рабочей версии , чтобы запросить проверку использования API Google Pay вашим сайтом через консоль Google Pay & Wallet .
- Интеграция с Google Pay API отключена. Свяжитесь с нами для получения дополнительной информации (https://developers.google.com/pay/api/faq#how-to-get-support).
- Свяжитесь с нами , чтобы узнать больше о необходимых действиях по повторному включению API Google Pay для вашего аккаунта Google.
- Ваш домен «example.com» не зарегистрирован для использования этого API.
- Домен, на котором размещена ваша касса, не связан с используемым вами
merchantId. Убедитесь, что параметрmerchantIdуказан верно и ваш домен зарегистрирован через консоль Google Pay & Wallet . - API Google Pay следует вызывать в безопасном контексте!
- API Google Pay можно использовать только на веб-сайтах в безопасном контексте. Подробнее см. в разделе Безопасные контексты .
- Для этого профиля продавца ключи не найдены.
- Вам необходимо зарегистрировать свой открытый ключ шифрования в Google через консоль Google Pay & Wallet, чтобы завершить
DIRECTинтеграциюtypetokenizationSpecification.
merchantId
На каком-то этапе интеграции вы можете столкнуться со следующими ошибками, связанными с merchantId . Этот список содержит полезные советы по устранению неполадок в случае их возникновения.
- merchantId должен быть установлен!
- Параметр
merchantIdвPaymentDataRequestдолжен быть установлен на значение, предоставленное с помощью консоли Google Pay & Wallet . ПараметрmerchantIdтребуется только при использованииPaymentsClient, настроенного для средыPRODUCTION. Ознакомьтесь с нашим контрольным списком интеграции , чтобы запросить проверку использования API Google Pay вашим сайтом и получить свойmerchantId. - merchantId не является строкой
- Параметр
merchantIdвPaymentDataRequestвсегда должен быть строкой. Перед вызовом API убедитесь, что используемый вами параметрmerchantIdимеет строковый тип. - merchantId не зарегистрирован.
- Параметр
merchantIdвPaymentDataRequestдолжен быть предоставлен через консоль Google Pay & Wallet . Для получения дополнительной информации ознакомьтесь с разделом «Запрос на доступ к рабочей среде» .
Действительность шлюза
На каком-то этапе интеграции вы можете столкнуться со следующими ошибками, связанными с валидностью шлюза. Этот список содержит полезные советы по устранению неполадок в случае их возникновения.
- Неизвестный шлюз 'yourgateway'
- Параметр шлюза, указанный вами в параметре
paymentMethodTokenizationParameters.parameters, в настоящее время не поддерживается Google. Обратитесь к своему шлюзу за дополнительной информацией об идентификаторе шлюза и связанных полях, таких какgatewayMerchantId. - Шлюз «пример» не может использоваться в производственном режиме.
- Пример значения параметра шлюза используется только для тестирования и не может использоваться с
PaymentsClientнастроенным дляPRODUCTIONсреды. Обратитесь к своему шлюзу за дополнительной информацией о значениях параметровPaymentMethodTokenizationSpecification, которые необходимо задать для использования с API Google Pay.
Объектная валидность
На каком-то этапе интеграции вы можете столкнуться со следующими ошибками, связанными с валидностью объектов. Этот список содержит полезные советы по устранению неполадок в случае их возникновения.
- Запрос PaymentDataRequest от Google Pay не является допустимым JSON-файлом.
- Параметр, предоставленный для
loadPaymentData, всегда должен быть допустимым объектомPaymentDataRequest. - transactionInfo должен быть установлен!
- Параметр
transactionInfoвнутриPaymentDataRequestвсегда должен быть допустимым объектомTransactionInfo.
Прямые торговцы
На каком-то этапе интеграции вы можете столкнуться со следующими ошибками, связанными с прямыми продавцами. Этот список содержит полезные советы по устранению неполадок в случае их возникновения.
- Проверка подписи
- Если
merchantIdуказан неверно, может возникнуть ошибка проверки подписи. Это может произойти вTESTсреде при использовании библиотеки Tink paymentmethodtoken . Чтобы избежать этой проблемы, установите для YOUR_MERCHANT_ID значение12345678901234567890в: .recipientId("merchant:YOUR_MERCHANT_ID")
- Невозможно расшифровать токен
- Если вы используете библиотеку Tink paymentmethodtoken для расшифровки токена, обратите внимание на следующее:
- Убедитесь, что среда ответа API Google Pay соответствует среде Tink paymentmethodtoken. Подробнее см. в следующем примере:
- Если ответ 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. - Работа с WebViews
- Следуйте инструкциям для Android и iOS , чтобы убедиться, что ваша интеграция совместима с WebViews.
- Заголовок ответа 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 | У сайта, обращающегося к API Google Pay, нет необходимого разрешения. Это может быть связано с неправильной конфигурацией или неверным идентификатором продавца, указанным в запросе. Подробнее см. в поле |
INTERNAL_ERROR | Общая ошибка сервера. |
CardInfo
OR_BIBED_15 ошибок
На каком-то этапе интеграции вы можете столкнуться с ошибкой OR_BIBED_15 . Этот список содержит полезные советы по устранению неполадок в случае её возникновения.