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

В этом справочнике описаны параметры объектов ответа 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 .

Пример

В этом примере ответа для Google Pay API версии 2.0 показан способ оплаты CARD , выбранный в платежной форме Google Pay. Для 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 PaymentMethodTokenizationData Нет Данные токенизации платежа для выбранного способа оплаты.

Пример

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

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

Информация о карте

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

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

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

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

billingAddress Адрес Нет Платежный адрес, связанный с указанным способом оплаты, если для billingAddressRequired установлено значение true . CardParameters .
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 , может быть выполнена та же аутентификация на основе оценки рисков, что и для карточных транзакций. Эта аутентификация на основе оценки рисков может включать, помимо прочего, протокол Step Up с использованием 3D Secure, если это применимо.

You can receive and process the response Object even if you don't use the assuranceDetails field. To receive this object, include assuranceDetailsRequired: true in the Request object's CardParameters .

PaymentMethodTokenizationData

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

Свойство Тип Всегда существует Описание
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, соответствующий administrativeArea. Присутствует только в том случае, если формат адреса доставки — 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"]
}