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

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

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"
    }
  }
}

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, если это применимо.

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

PaymentMethodTokenizationData

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

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

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

Пример

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

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

Адрес

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

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

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

Этот объект возвращается функцией 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"
  }
}

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

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

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

Пример

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

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