Справочные материалы о клиенте

В этой статье описаны методы клиента JavaScript, которые используются для реализации Google Pay API в веб-приложениях.

Конструктор

Инициализирует объект PaymentsClient. Этот конструктор необходимо вызвать перед вызовом методов-членов.

new PaymentsClient(paymentOptions)

Аргументы

Свойство Описание
paymentOptions

Объект, содержащий пары "ключ-значение" с данными конфигурации Google Pay API. Доступные для настройки свойства перечислены в разделе PaymentOptions.

Пример: {environment:'PRODUCTION'}

Возвраты

Тип Описание
google.payments.api.PaymentsClient Объект PaymentsClient.

Исключения

Тип Описание
Error

Переданное значение свойства среды не поддерживается.

Методы объекта

createButton(options)

Этот метод используется для создания кнопки оплаты через Google Pay, оформленной в соответствии с последними рекомендациями по брендингу, для вставки на веб-страницу.

Сгенерированный код HTMLElement включает динамически вставленный код CSS и SVG-изображение, размещенное в сети доставки контента Google.

Дополнительную информацию о том, как выбрать подходящий цвет и тип кнопки для дизайна вашего сайта, можно найти в правилах фирменного оформления. При необходимости вы можете изменить размеры кнопки, чтобы она соответствовала другим кнопкам и элементам на странице. Используйте инструмент Настроить кнопку, чтобы создать кнопку для своего случая.

Аргументы

Название Описание
options

Объект, содержащий пары "ключ-значение" для конфигурации кнопки. Список настраиваемых свойств приведен в разделе ButtonOptions.

Пример: {onClick:onGooglePaymentButtonClicked}

Возвраты

Тип Описание
HTMLElement Элемент HTML <button> внутри общего контейнера контента, например <div>.

Исключения

Тип Описание
Error

Не задано обязательное свойство.

isReadyToPay(isReadyToPayRequest)

Используйте метод isReadyToPay(isReadyToPayRequest), чтобы определить, может ли пользователь получить способ оплаты из Google Pay API.

Если браузер поддерживает Google Pay, isReadyToPay возвращает true. Чтобы определить, вошел ли пользователь в аккаунт Google или сохранил ли он способ оплаты в Google Pay, задайте для IsReadyToPayRequest.existingPaymentMethodRequired значение true и убедитесь, что paymentMethodPresent возвращает true в разрешенном обещании. Подробнее: IsReadyToPayResponse.

Если PaymentsClient инициализируется со свойством среды TEST, paymentMethodPresent всегда возвращает true.

Аргументы

Название Описание
isReadyToPayRequest Объект, содержащий способы оплаты, которые поддерживает продавец. Подробные сведения о настраиваемых свойствах приведены в статье IsReadyToPayRequest.

Возвраты

Тип Описание
Promise

Resolved. Объект, содержащий информацию о платежеспособности пользователя. Подробные сведения можно найти в статье о типе IsReadyToPayResponse.

Rejected. Объект ошибки, содержащий дополнительную информацию о причине отклонения. Подробные сведения можно найти в статье о типе PaymentsError.

Ошибки

statusCode Описание
DEVELOPER_ERROR
  • Переданный объект IsReadyToPayRequest был неправильно отформатирован, не содержал минимального набора параметров, необходимых для определения готовности пользователя к оплате, или содержал недопустимый параметр и/или значение.
  • Запрос был инициирован из контекста безопасности, который платежный агент или браузер решили не выполнять. Чаще всего это ошибка небезопасного контекста браузера.

loadPaymentData(paymentDataRequest)

Этот метод позволяет открыть страницу оплаты Google Pay, на которой можно выбрать способ оплаты и настроить дополнительные параметры.

Этот метод должен вызываться, когда браузер обрабатывает поведение активации в результате события клика. Пользователю может быть показано всплывающее окно, в котором он сможет выбрать способ оплаты или указать другие данные, необходимые для выполнения запроса.

Аргументы

Название Описание
paymentDataRequest Объект, содержащий пары "ключ-значение" полной конфигурации Google Pay API. Список настраиваемых свойств приведен в разделе PaymentDataRequest.

Возвраты

Тип Описание
Promise

Resolved: объект, содержащий запрошенные данные о покупателе. Подробную информацию можно найти в разделе PaymentData.

Rejected (Отклонено). Объект, содержащий код ошибки и дополнительную информацию о причине отклонения. Подробную информацию можно найти в разделе PaymentsError.

Ошибки

statusCode Описание
CANCELED
  • Текущий браузер или пользователь Google, выполнивший вход, не поддерживается.
  • Покупатель закрыл страницу оплаты в Google Pay, не авторизовав платеж.
  • Запрос был инициирован из контекста безопасности, который платежный агент или браузер решили не выполнять. Чаще всего это небезопасный контекст браузера.
  • Метод был вызван, когда страница оплаты Google Pay уже была показана.
  • Переданный объект PaymentDataRequest был отклонен страницей оплаты Google Pay. Чаще всего это происходит из-за отсутствия или неполноты параметров PaymentMethodTokenizationSpecification для шлюза или недопустимых значений параметров.
DEVELOPER_ERROR Переданный объект PaymentDataRequest неправильно отформатирован, в нем отсутствуют минимально необходимые параметры или содержится недопустимый параметр и/или значение.

prefetchPaymentData(paymentDataRequest)

Используйте этот метод, чтобы предварительно получить конфигурацию PaymentDataRequest и сократить время выполнения loadPaymentData при последующем взаимодействии с пользователем. Значение не возвращается.

Оптимизация предзагрузки доступна в Chrome для Android.

Аргументы

Название Описание
paymentDataRequest Объект, содержащий пары "ключ-значение" полной конфигурации Google Pay API. Список настраиваемых свойств приведен в разделе PaymentDataRequest. Изменение свойства transactionInfo не влияет на кешированное значение предзагрузки.

Обратные вызовы платежных данных

Следующие обработчики обратных вызовов можно передать в PaymentOptions.paymentDataCallbacks для поддержки авторизации платежей и динамического ценообразования.

onPaymentAuthorized(paymentData)

Этот метод вызывается, когда платеж авторизуется в окне оплаты.

Аргументы

Название Описание
paymentData Объект, содержащий запрошенные данные покупателя. Подробную информацию можно найти в статье PaymentData.

Возвраты

Тип Описание
Promise

Resolved. Объект, содержащий информацию о результатах платежной транзакции. Подробную информацию можно найти в статье PaymentAuthorizationResult.

Отклонено. Объект ошибки с намерением ошибки и сообщением, которое будет показано на платежной странице. Подробную информацию можно найти в статье PaymentDataError.

onPaymentDataChanged(intermediatePaymentData)

Этот метод обрабатывает изменения платежных данных в окне оплаты, например адреса и способа доставки.

Аргументы

Здравствуйте!
Название Описание
intermediatePaymentData Объект, который содержит выбранный адрес и способ доставки. Подробную информацию можно найти в статье IntermediatePaymentData.

Возвраты

Тип Описание
Promise

Resolved. Объект, содержащий информацию о новой транзакции, способах доставки и ошибках в платежных данных. Подробную информацию можно найти в статье PaymentDataRequestUpdate.

Отклонено. Объект ошибки с намерением ошибки и сообщением, которое будет показано на платежной странице. Подробную информацию можно найти в статье PaymentDataError.