本参考内容介绍了可在您的网站中使用的 Google Pay API 响应对象选项。响应对象是由 Google Pay API 客户端方法返回的对象。
IsReadyToPayResponse
此对象提供了有关网站访问者能否向提出请求的网站提供付款信息的信息。
| 属性 | 类型 | 是否始终存在 | 说明 |
|---|---|---|---|
result |
布尔值 | 是 | 当前访问者能够向提出请求的网站提供付款信息。访问者能否付款可能与他们的网络浏览器能否显示指定付款方式所需的组件有关。这包括他们登录 Google 账号并提供付款方式的时间。 |
paymentMethodPresent |
布尔值 | 否 |
如果为 仅当 如果使用 |
示例
以下示例显示了当前访问者何时能够向提出请求的网站提供付款信息。
{ "result": true }
PaymentData
此为 Google 在付款人批准付款后返回的响应对象。
PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.| 属性 | 类型 | 是否始终存在 | 说明 |
|---|---|---|---|
apiVersion |
数值 | 是 | 主要 API 版本。响应中的值与
PaymentDataRequest 中提供的值一致。 |
apiVersionMinor |
数值 | 是 | 次要 API 版本。响应中的值与
PaymentDataRequest 中提供的值一致。 |
paymentMethodData |
PaymentMethodData | 是 | 所选付款方式的相关数据。 |
email |
字符串 | 否 | 如果 emailRequired 在
PaymentDataRequest 中设为 true,则此属性的值为电子邮件地址。
如果另一个请求将此属性设置为 true,则不会产生任何影响。 |
shippingAddress |
地址 | 否 | 如果 shippingAddressRequired 在
PaymentDataRequest 中设为 true,则此属性的值为送货地址。 |
示例
针对 Google Pay API 版本 2.0 的此示例响应显示了在 Google Pay 付款表格中选择的 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 |
字符串 | 是 |
在 Google Pay 付款表中选择了
PaymentMethod
type。
|
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" } }
CardInfo
此对象可提供所选支付卡的相关信息。
| 属性 | 类型 | 是否始终存在 | 说明 |
|---|---|---|---|
cardDetails |
字符串 | 是 | 支付卡的详细信息。此值通常是所选付款账号的后四位数。 |
assuranceDetails |
AssuranceDetailsSpecifications | 是 | 如果
CardParameters 中的 assuranceDetailsRequired 设置为 true,此对象可提供对返回的支付数据执行验证的相关信息。
|
cardNetwork |
字符串 | 是 | 所选款项的支付卡网络。返回的值与
CardParameters 中的 此支付卡网络值不应向买家显示。但可在需要买家支付卡的详细信息时使用。例如,客户服务人员可使用此值来确定买家为其交易所使用的卡。若要向用户显示相关说明,请使用 PaymentMethodData 的 |
billingAddress |
地址 | 否 | 与所提供付款方式相关联的账单邮寄地址(如果在
CardParameters 中将 billingAddressRequired 设为 true)。
|
cardFundingSource |
字符串 | 是 | 所选付款方式的卡片资金来源。
|
示例
此示例显示了 Visa 网络中的卡。
{ "cardNetwork": "VISA", "cardDetails": "1234", "cardFundingSource": "CREDIT", "assuranceDetails": { "cardHolderAuthenticated": false, "accountVerified": true } }
AssuranceDetailsSpecifications
此对象可提供对返回的付款凭据执行了何种验证的相关信息,以便应用适当的付款方式风险检查。
| 姓名 | 类型 | 说明 |
|---|---|---|
accountVerified |
布尔值 | 如果为 true,则表示已对返回的付款凭据执行了 Cardholder 所有权验证。 |
cardHolderAuthenticated |
布尔值 |
如果为 如果为 |
即使不使用 assuranceDetails 字段,您也可以接收和处理响应对象。如需接收此对象,请在 Request 对象的
CardParameters 中添加 assuranceDetailsRequired: true。
PaymentMethodTokenizationData
此对象可提供付款方式的令牌化数据。
| 属性 | 类型 | 是否始终存在 | 说明 |
|---|---|---|---|
type |
字符串 | 是 | 要应用于所选付款方式的令牌化类型。此值与
PaymentMethodTokenizationSpecification 中设置的 type 一致。
|
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 |
字符串 | 必需 | 错误的用意。从流程一开始,此属性就必须已在
|
示例
此示例显示了要在付款表格中呈现的错误 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 在
PaymentDataRequest 中设为 true,则此属性的值为电话号码。
|
address1 |
FULLFULL-ISO3166 |
地址的第一行。 |
address2 |
FULLFULL-ISO3166 |
地址的第二行。 |
address3 |
FULLFULL-ISO3166 |
地址的第三行。 |
locality |
FULLFULL-ISO3166 |
城市、城镇、社区或郊区。 |
administrativeArea |
FULLFULL-ISO3166 |
国家/地区行政区,例如州或省。 |
sortingCode |
FULLFULL-ISO3166 |
分拣编码 |
iso3166AdministrativeArea |
FULL-ISO3166 |
与 administrativeArea 对应的 ISO 3166-2 行政区代码。 |
示例
此示例显示了一个包含多行街道地址数据的美国 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 |
字符串 | 必需 | 基于国家/地区的已遮盖邮政编码。对于加拿大和英国,此编码仅包含前三个字符。对于美国,此编码包含前 5 位数字。 |
iso3166AdministrativeArea |
字符串 | 可选 |
与 administrativeArea 对应的 ISO 3166-2 行政区代码。仅当送货地址格式为 FULL-ISO3166 时才会显示。
|
示例
此示例显示了您在付款表格中选择的地址。
{ "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" "iso3166AdministrativeArea": "US-NY" }
SelectionOptionData
| 属性 | 类型 | 必要性 | 说明 |
|---|---|---|---|
id |
字符串 | 必需 | 与 SelectionOption.id 匹配 |
示例
此示例显示了在付款表格中选择的运费选项。
{ "id": "shipping-001" }
OfferData
此对象可提供在付款表格中输入的优惠代码的相关信息。
| 属性 | 类型 | 必要性 | 说明 |
|---|---|---|---|
redemptionCodes |
数组 | 是否始终存在 | 输入到付款表单中的一组促销代码。包括已获批准的代码。 |
示例
以下示例展示了一个包含 redemptionCodes 数组的 OfferData 对象。
"offerData": { "redemptionCodes": ["PROMOTIONALCODE"] }