В этом справочнике описаны варианты объекта ответа Google Pay API, которые можно использовать на вашем сайте. Объекты ответов – это объекты, возвращаемые методами клиента Google Pay API.
IsReadyToPayResponse
Объект содержит информацию о том, что посетитель веб-сайта может предоставить платежные данные по запросу.
| Свойство | Тип | Возвращается всегда | Описание |
|---|---|---|---|
result |
Логическое значение | Да | Посетитель может предоставить платежные данные сайту. Возможность оплаты может быть связана с тем, может ли браузер посетителя отображать необходимые компоненты для указанных способов оплаты. в том числе при входе в аккаунт Google и добавлении способа оплаты. |
paymentMethodPresent |
Логическое значение | Нет |
Если значение равно Существует, только если в
IsReadyToPayRequest для параметра Если свойство |
Пример
Посетитель может предоставить платежные данные по запросу.
{ "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 |
Строка | Нет | Причина, по которой были отозваны платежные данные.
|
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 |
строка | Да | Выбранная платежная система.
Возвращаемые значения соответствуют формату Это значение не должно показываться покупателю. Оно используется, когда необходимы сведения о карте покупателя. Например, такие данные нужны службе поддержки, чтобы понять, с какой карты произошла оплата транзакции. Если нужно показать информацию покупателю, используйте свойство |
billingAddress |
Address | Нет | Платежный адрес, связанный с указанным способом оплаты, если в billingAddressRequired задано значение true в
CardParameters.
|
cardFundingSource |
строка | Да | Источник средств для выбранного способа оплаты.
|
Пример
Пример карты, которая относится к платежной системе Visa.
{ "cardNetwork": "VISA", "cardDetails": "1234", "cardFundingSource": "CREDIT", "assuranceDetails": { "cardHolderAuthenticated": false, "accountVerified": true } }
AssuranceDetailsSpecifications
В этом объекте содержится информация о верификации данных для полученного способа оплаты, чтобы можно было выполнить необходимые проверки.
| Имя | Тип | Описание |
|---|---|---|
accountVerified |
Логическое значение | Значение true говорит о том, что принадлежность Cardholder владельцу была подтверждена. |
cardHolderAuthenticated |
Логическое значение |
Значение Если |
Вы можете получать и обрабатывать объект ответа, даже если не используете поле assuranceDetails. Чтобы получить этот объект, добавьте assuranceDetailsRequired: true в объект Request в
CardParameters.
PaymentMethodTokenizationData
Этот объект содержит информацию о токенизации для выбранного способа оплаты.
| Свойство | Тип | Возвращается всегда | Описание |
|---|---|---|---|
type |
Строка | Да | Тип токенизации для выбранного способа оплаты.
Это значение соответствует элементу type, заданному в
PaymentMethodTokenizationSpecification.
|
token |
строка | Нет | Сгенерированный токен способа оплаты.
|
Пример
Так выглядит токенизированный ответ, подготовленный для шлюза 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" } }
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"] }