В этом справочном руководстве описаны варианты объекта ответа Google Pay API, которые можно использовать в приложении. Объекты ответа возвращаются методами клиента Google Pay API.
PaymentData
Это объект ответа, который возвращается Google после того, как плательщик одобрит платеж.
PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.| Свойство | Тип | Всегда существует | Описание |
|---|---|---|---|
apiVersion |
число | Да | Основная версия API. Значение в ответе совпадает со значением, указанным в |
apiVersionMinor |
число | Да | Дополнительная версия API. Значение в ответе совпадает со значением, указанным в |
paymentMethodData |
PaymentMethodData | Да | Данные о выбранном способе оплаты. |
email |
string | Нет | Адрес электронной почты, если для параметра emailRequired задано значение true в объекте
PaymentDataRequest.
Если в другом запросе для этого свойства задано значение true, оно не будет иметь силы. |
shippingAddress |
Адрес | Нет | Адрес доставки, если для свойства shippingAddressRequired задано значение true в объекте
|
Пример
В этом примере ответа для 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 |
string | Да |
PaymentMethod
type, выбранный на странице оплаты Google Pay.
|
description |
string | Да | Пользовательское сообщение с описанием способа оплаты, который используется для этой транзакции. |
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 |
string | Да | Информация о карте. Обычно это последние четыре цифры номера выбранного платежного аккаунта. |
assuranceDetails |
AssuranceDetailsSpecifications | Да | В этом объекте содержится информация о верификации данных способа оплаты, если для параметра assuranceDetailsRequired задано значение true в объекте
CardParameters.
|
cardNetwork |
string | Да | Платежная система выбранного способа оплаты.
Возвращаемые значения соответствуют формату Это значение не должно показываться покупателю. Он используется, когда нужны реквизиты карты покупателя. Например, если службе поддержки нужно определить, какую карту покупатель использовал для транзакции. Для описания, видимого пользователю, используйте свойство |
billingAddress |
Адрес | Нет | Платежный адрес, связанный с указанным способом оплаты, если для параметра billingAddressRequired задано значение true в
CardParameters. |
cardFundingSource |
string | Да | Источник средств для выбранного способа оплаты.
|
Пример
В этом примере показана карта Visa.
{ "cardNetwork": "VISA", "cardDetails": "1234", "cardFundingSource": "CREDIT", "assuranceDetails": { "cardHolderAuthenticated": false, "accountVerified": true } }
AssuranceDetailsSpecifications
В этом объекте содержится информация о верификации данных для полученного способа оплаты. Это позволяет применять соответствующие проверки рисков.
| Название | Тип | Описание |
|---|---|---|
accountVerified |
Логическое значение | Значение true говорит о том, что принадлежность карты владельцу была подтверждена.Cardholder |
cardHolderAuthenticated |
Логическое значение |
Значение Значение |
Вы можете получать и обрабатывать объект ответа, даже если не используете поле assuranceDetails. Чтобы получить этот объект, включите assuranceDetailsRequired: true в
CardParameters.
PaymentMethodTokenizationData
Этот объект содержит данные токенизации для способа оплаты.
| Свойство | Тип | Всегда существует | Описание |
|---|---|---|---|
type |
string | Да | Тип токенизации, который будет применен к выбранному способу оплаты.
Это значение соответствует значению type, заданному в
PaymentMethodTokenizationSpecification.
|
token |
string | Нет | Сгенерированный токен способа оплаты.
|
Пример
Ниже приведен пример токенизированного ответа, подготовленного для шлюза example.
{ "type": "PAYMENT_GATEWAY", "token": "examplePaymentMethodToken" }
PaymentAuthorizationResult
В этом объекте содержится информация о результате авторизации платежа.
| Свойство | Тип | Необходимость | Описание |
|---|---|---|---|
transactionState |
Строка | Обязательно | Статус транзакции определяется одним из следующих результатов продавца:
|
error |
PaymentDataError | Необязательно | Ошибка, которая будет показана пользователю в окне оплаты, если потребуется повторить платеж. |
Пример
В примере ниже показано, как возвращается результат платежа после его обработки:
{ "transactionState": "ERROR", "error": { "reason": "PAYMENT_DATA_INVALID", "message": "Cannot pay with payment credentials", "intent": "PAYMENT_AUTHORIZATION" } }
PaymentDataError
| Свойство | Тип | Необходимость | Описание |
|---|---|---|---|
reason |
Строка | Обязательно | Список стандартных причин ошибок:
|
message |
Строка | Обязательно | Сообщение об ошибке, которое показывается пользователю в диалоговом окне. |
intent |
Строка | Обязательно | Намерение ошибки.
|
Пример
В этом примере показаны намерение ошибки и сообщение, которое будет отображаться на странице оплаты.
{ "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" }
IntermediatePaymentData
Этот объект возвращается входными данными onPaymentDataChanged() Google Pay API, когда в окне оплаты меняется адрес доставки или способ доставки.
| Свойство | Тип | Необходимость | Описание |
|---|---|---|---|
callbackTrigger |
Строка | Необязательно | Описывает причину, по которой был вызван обратный вызов платежных данных.
|
shippingAddress |
IntermediateAddress | Необязательно | Адрес, выбранный на странице оплаты. |
shippingOptionData |
SelectionOptionData | Необязательно | Выбранный способ доставки. |
paymentMethodData |
IntermediatePaymentMethodData | Необязательно | Данные о способе оплаты, выбранном на странице оплаты. |
Примеры
В этом примере показана промежуточная полезная нагрузка, возвращаемая Google Pay API при изменении адреса доставки.
{ "callbackTrigger": "SHIPPING_ADDRESS", "shippingAddress": { "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" }, "shippingOptionData": { "id": "shipping-001" } }
В этом примере показаны промежуточные полезные данные, возвращаемые при изменении способа оплаты.
{ "callbackTrigger": "PAYMENT_METHOD", "paymentMethodData": { "type": "CARD", "info": { "cardNetwork": "VISA", "cardFundingSource": "CREDIT", "billingAddress": { "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" } } } }
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" }
IntermediatePaymentMethodData
Этот объект содержит ограниченную информацию о выбранном способе оплаты для обратных вызовов разработчика.
| Свойство | Тип | Необходимость | Описание |
|---|---|---|---|
type |
string | Обязательно | Тип способа оплаты. Для этого обратного вызова поддерживается только CARD. |
info |
IntermediateCardInfo | Необязательно | Информация о выбранной карте. Указывается, только если type имеет значение CARD. |
IntermediateCardInfo
Этот объект содержит ограниченную информацию о выбранной карте, которая используется в обратных вызовах разработчика.
| Свойство | Тип | Необходимость | Описание |
|---|---|---|---|
billingAddress |
IntermediateAddress | Необязательно | Платежный адрес, связанный с картой. Заполняется, только если платежный адрес обязателен. |
cardNetwork |
string | Необязательно | Платежная система выбранной карты. Возвращаемые значения соответствуют формату Это значение платежной системы не должно показываться покупателю. |
cardFundingSource |
string | Необязательно | Источник средств для выбранной платежной карты.
|