Объекты ответов

В этом справочнике описываются параметры объектов ответа API Google Pay для использования на вашем веб-сайте. Объекты ответа — это объекты, возвращаемые клиентскими методами API Google Pay.

IsReadyToPayResponse

Этот объект предоставляет информацию о способности посетителя веб-сайта предоставить платежную информацию сайту, который ее запрашивает.

Свойство Тип Всегда существует Описание
result булев Да Текущий посетитель может предоставить платёжную информацию запрашивающему её сайту. Платёжеспособность посетителя может быть связана с возможностью его веб-браузера отображать необходимые компоненты для указанных способов оплаты. Это включает в себя вход в учётную запись Google и указание способа оплаты.
paymentMethodPresent булев Нет

Если true , у посетителя есть один или несколько способов оплаты, указанных в свойстве allowedPaymentMethods предоставленного IsReadyToPayRequest .

Существует только в том случае, если existingPaymentMethodRequired имеет значение true в IsReadyToPayRequest .

Если PaymentsClient инициализирован со свойством environment TEST , способ оплаты всегда считается присутствующим.

Пример

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

{
  "result": true
}

PaymentData

Это объект ответа, который возвращается Google после того, как плательщик одобряет платеж.

Свойство Тип Всегда существует Описание
apiVersion число Да Основная версия API. Значение в ответе совпадает со значением, указанным в PaymentDataRequest .
apiVersionMinor число Да Версия API младшего уровня. Значение в ответе соответствует значению, указанному в PaymentDataRequest .
paymentMethodData PaymentMethodData Да Данные о выбранном способе оплаты.
email нить Нет Адрес электронной почты, если emailRequired имеет значение true в PaymentDataRequest .Если в другом запросе свойство установлено как true , то это не даст никакого эффекта.
shippingAddress Адрес Нет Адрес доставки, если shippingAddressRequired имеет значение true в PaymentDataRequest .

Пример

В этом примере ответа для API Google Pay версии 2.0 на странице оплаты Google Pay выбран способ оплаты CARD . Для example шлюза был сгенерирован токен способа оплаты.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "paymentMethodData": {
    "type": "CARD",
    "description": "Visa •••• 1234",
    "info": {
      "cardNetwork": "VISA",
      "cardDetails": "1234",
      "cardFundingSource": "CREDIT"
    },
    "tokenizationData": {
      "type": "PAYMENT_GATEWAY",
      "token": "examplePaymentMethodToken"
    }
  }
}

ПромежуточныеПлатежныеДанные

Этот объект возвращается методом onPaymentDataChanged() API Google Pay при изменении адреса доставки или вариантов доставки на платежной странице.

Свойство Тип Необходимость Описание
callbackTrigger Нить Необязательный

Описывает причину, по которой был вызван обратный вызов платежных данных.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
offerData OfferData Необязательный Промокод, предоставленный пользователем.
shippingAddress ПромежуточныйАдрес Необязательный Выбранный адрес в платежном листе.
shippingOptionData SelectionOptionData Необязательный Выбранный вариант доставки в платежном листе.

Пример

В этом примере показана промежуточная полезная нагрузка, возвращаемая API Google Pay.

{
  "callbackTrigger": "SHIPPING_ADDRESS",
  "offerData": {
    "redemptionCode": "exampleCode"
  },
  "shippingAddress": {
    "administrativeArea": "NY",
    "countryCode": "US",
    "locality": "New York",
    "postalCode": "10011"
  },
  "shippingOptionData": {
    "id": "shipping-001"
  }
}

PaymentMethodData

Этот объект предоставляет данные для выбранного способа оплаты.

Свойство Тип Всегда существует Описание
type нить Да PaymentMethod type , выбранный на платежной странице Google Pay.
description нить Да

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

info объект Да Значение этого свойства зависит от возвращаемого type способа оплаты. Для CARD см. CardInfo .
tokenizationData МетодОплатыТокенизацияДанные Нет Данные токенизации платежей для выбранного способа оплаты.

Пример

В этом примере ответа показано, как способ оплаты CARD , выбранный на платежной странице Google Pay, генерирует токен способа оплаты для шлюза в example .

{
  "type": "CARD",
  "description": "Visa •••• 1234",
  "info": {
    "cardNetwork": "VISA",
    "cardDetails": "1234"
  },
  "tokenizationData": {
    "type": "PAYMENT_GATEWAY",
    "token": "examplePaymentMethodToken"
  }
}

CardInfo

Данный объект предоставляет информацию о выбранной платежной карте.

Свойство Тип Всегда существует Описание
cardDetails нить Да Данные карты. Обычно это последние четыре цифры номера выбранного платёжного счёта.
assuranceDetails ГарантияДеталиХарактеристики Да Этот объект предоставляет информацию о проверке, выполненной для возвращенных платежных данных, если параметру assuranceDetailsRequired присвоено значение true в ПараметрыКарты .
cardNetwork нить Да

Платежная система выбранной карты. Возвращаемые значения соответствуют формату allowedCardNetworks в ПараметрыКарты .

Это значение сети карты не должно отображаться покупателю. Оно используется, когда требуются данные карты покупателя. Например, если службе поддержки клиентов требуется это значение для идентификации карты, которую покупатель использовал для транзакции. Для описания, видимого пользователю, используйте свойство description объекта PaymentMethodData .

billingAddress Адрес Нет Платежный адрес, связанный с предоставленным способом оплаты, если billingAddressRequired имеет значение true в ПараметрыКарты .
cardFundingSource нить Да

Источник пополнения карты для выбранного способа оплаты.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Пример

В этом примере показана карта в сети Visa.

{
  "cardNetwork": "VISA",
  "cardDetails": "1234",
  "cardFundingSource": "CREDIT",
  "assuranceDetails": {
    "cardHolderAuthenticated": false,
    "accountVerified": true
  }
}

ГарантияДеталиХарактеристики

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

Имя Тип Описание
accountVerified булев Если true , это означает, что проверка владельца Cardholder на предмет владения возвращенными платежными данными была выполнена.
cardHolderAuthenticated булев

Если true , это означает, что для возвращенных платежных данных была выполнена идентификация и проверка (ID&V).

Если false , может быть использована та же аутентификация с учётом риска, что и для транзакций по карте. Эта аутентификация с учётом риска может включать, помимо прочего, использование протокола 3D Secure, если применимо.

Вы можете получить и обработать объект ответа, даже если не используете поле assuranceDetails . Чтобы получить этот объект, добавьте assuranceDetailsRequired: true в поле запроса. ПараметрыКарты .

МетодОплатыТокенизацияДанные

Этот объект предоставляет данные токенизации для способа оплаты.

Свойство Тип Всегда существует Описание
type нить Да Тип токенизации, применяемый к выбранному способу оплаты. Это значение соответствует type заданному в PaymentMethodTokenizationSpecification .
token нить Нет

Сгенерированный токен способа оплаты.

Пример

Это пример токенизированного ответа, подготовленного для example шлюза.

{
  "type": "PAYMENT_GATEWAY",
  "token": "examplePaymentMethodToken"
}

Результат авторизации платежа

Этот объект предоставляет информацию о результате авторизации платежа.

Свойство Тип Необходимость Описание
transactionState Нить Необходимый Состояние транзакции определяется одним из следующих результатов продавца:
  • SUCCESS
  • ERROR
error PaymentDataError Необязательный Ошибка, которая будет отображена на платежной странице для пользователя, когда необходимо повторить попытку платежа.

Пример

В следующем примере показан возврат результата платежа после его обработки:

{
  "transactionState": "ERROR",
  "error": {
    "reason": "PAYMENT_DATA_INVALID",
    "message": "Cannot pay with payment credentials",
    "intent": "PAYMENT_AUTHORIZATION"
  }
}

PaymentDataError

Свойство Тип Необходимость Описание
reason Нить Необходимый

Список предопределенных причин ошибок:

  • OFFER_INVALID
  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message Нить Необходимый Сообщение об ошибке для пользователя, отображаемое в диалоговом окне.
intent Нить Необходимый

Цель ошибки. Она должна быть зарегистрирована в PaymentDataRequest с самого начала потока.

  • OFFER
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

Пример

В этом примере показано намерение исправить ошибку и сообщение, которое будет отображено на платежной ведомости.

{
  "error": {
    "reason": "SHIPPING_OPTION_INVALID",
    "message": "This shipping option is invalid for the given address",
    "intent": "SHIPPING_OPTION"
  }
}

Адрес

Этот объект предоставляет информацию о запрошенном почтовом адресе. Все свойства являются строками.

Адреса могут быть возвращены в форматах MIN , FULL и FULL-ISO3166 . Свойства каждого формата представлены в следующей таблице.

Свойство Формат адреса Описание
name MIN , FULL , FULL-ISO3166 Полное имя адресата.
postalCode MIN , FULL , FULL-ISO3166 Почтовый индекс.
countryCode MIN , FULL , FULL-ISO3166 Код страны ISO 3166-1 alpha-2.
phoneNumber MIN , FULL , FULL-ISO3166 Номер телефона, если в параметре phoneNumberRequired установлено значение true PaymentDataRequest .
address1 FULL , FULL-ISO3166 Первая строка адреса.
address2 FULL , FULL-ISO3166 Вторая строка адреса.
address3 FULL , FULL-ISO3166 Третья строка адреса.
locality FULL , FULL-ISO3166 Город, поселок, район или пригород.
administrativeArea FULL , FULL-ISO3166 Подразделение страны, например штат или провинция.
sortingCode FULL , FULL-ISO3166 Код сортировки.
iso3166AdministrativeArea FULL-ISO3166 Код административной зоны ISO 3166-2, соответствующий AdministrativeArea.

Пример

Это пример адреса в формате FULL-ISO3166 в США с несколькими строками данных адреса.

{
  "name": "John Doe",
  "address1": "c/o Google LLC",
  "address2": "1600 Amphitheatre Pkwy",
  "address3": "Building 40",
  "locality": "Mountain View",
  "administrativeArea": "CA",
  "countryCode": "US",
  "postalCode": "94043",
  "sortingCode": ""
  "iso3166AdministrativeArea": "US-CA"
}

ПромежуточныйАдрес

Свойство Тип Необходимость Описание
administrativeArea Нить Необходимый Подразделение страны, например штат или провинция.
countryCode Нить Необходимый Код страны ISO 3166-1 alpha-2.
locality Нить Необходимый Город, поселок, район или пригород.
postalCode Нить Необходимый Исправленный почтовый индекс страны. Для Канады и Великобритании он содержит только первые три символа. Для США он содержит первые пять цифр.
iso3166AdministrativeArea Нить Необязательный Код административной зоны ISO 3166-2, соответствующий административной зоне. Присутствует только в случае, если адрес доставки имеет формат FULL-ISO3166 .

Пример

В этом примере показан адрес, выбранный в платежном листе.

{
  "administrativeArea": "NY",
  "countryCode": "US",
  "locality": "New York",
  "postalCode": "10011"
  "iso3166AdministrativeArea": "US-NY"
}

SelectionOptionData

Свойство Тип Необходимость Описание
id Нить Необходимый Совпадает с SelectionOption.id

Пример

В этом примере показан вариант доставки, выбранный на листе оплаты.

{
  "id": "shipping-001"
}

OfferData

Этот объект предоставляет информацию о коде предложения, введенном в платежный лист.

Свойство Тип Необходимость Описание
redemptionCodes множество Всегда существует Набор промокодов, внесённых в платёжный лист. Включает уже одобренные коды.

Пример

В следующем примере показан объект OfferData с массивом redemptionCodes .

"offerData": {
    "redemptionCodes": ["PROMOTIONALCODE"]
}