Справочное руководство по работе с клиентом

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

Конструктор

Инициализирует объект PaymentsClient. Вызов конструктора должен предшествовать вызову любых методов этого объекта.

new PaymentsClient(paymentOptions)

Аргументы

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

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

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

Возвращаемые значения

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

Исключения

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

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

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

createButton(options)

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

Элемент HTMLElement включает динамически встроенную каскадную таблицу стилей (CSS). Он также содержит изображение в формате SVG, загруженное из CDN компании Google.

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

Аргументы

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

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

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

Возвращаемые значения

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

Исключения

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

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

isReadyToPay(isReadyToPayRequest)

Метод isReadyToPay(isReadyToPayRequest) определяет способность покупателя воспользоваться способом оплаты через Google Pay API.

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

Если объект PaymentsClient имеет свойство TEST, метод paymentMethodPresent всегда возвращает значение true.

Аргументы

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

Возвраты

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

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

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

Ошибки

statusCode Описание
DEVELOPER_ERROR
  • Неверный формат переданного объекта IsReadyToPayRequest. Указано недостаточно параметров для определения готовности пользователя к оплате, или в объекте содержатся недопустимые параметр и/или значение.
  • Платежная система или браузер не выполнили запрос в данном контексте безопасности. Такое случается, когда данные передаются без шифрования.

loadPaymentData(paymentDataRequest)

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

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

Аргументы

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

Возвращаемые значения

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

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

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

Ошибки

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

prefetchPaymentData(paymentDataRequest)

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

Оптимизация предзагрузки уже доступна для браузера Chrome и ОС Android. В дальнейшем она появится и для других браузеров и операционных систем.

Аргументы

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

onPaymentAuthorized(paymentData)

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

Аргументы

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

Возвращаемые значения

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

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

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

onPaymentDataChanged(intermediatePaymentData)

Используется для обработки изменений данных, например адреса доставки и настроек доставки.

Аргументы

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

Возвращаемые значения

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

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

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