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

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

IsReadyToPayResponse

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

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

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

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

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

Пример

Посетитель может предоставить платежные данные по запросу.

{
  "result": true
}

PaymentData

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

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

Пример

Ниже показано, как выглядит результат запроса в Google Pay API версии 2.0, если на странице оплаты выбран способ оплаты 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"
    }
  }
}

IntermediatePaymentData

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

Свойство Тип Обязательное Описание
callbackTrigger Строка Нет

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

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

Пример

Пример промежуточной полезной нагрузки, которую возвращает Google Pay API.

{
  "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 Нет Информация о токенизации для выбранного способа оплаты.

Пример

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

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

CardInfo

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

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

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

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

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

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

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Пример

Пример карты, которая относится к платежной системе Visa.

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

AssuranceDetailsSpecifications

В этом объекте содержится информация о верификации данных для полученного способа оплаты, чтобы можно было выполнить необходимые проверки.

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

Значение true говорит о том, что была выполнена проверка личных данных.

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

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

PaymentMethodTokenizationData

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

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

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

Пример

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

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

PaymentAuthorizationResult

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

Свойство Тип Обязательное Описание
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"
  }
}

Address

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

Адреса могут быть возвращены в форматах 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"
}

IntermediateAddress

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

Свойство Тип Обязательное Описание
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"]
}