JSON 响应对象

本参考内容介绍了可在您的应用中使用的 Google Pay API 响应对象选项。响应对象是由 Google Pay API 客户端方法返回的对象。

PaymentData

此为 Google 在付款人批准付款后返回的响应对象。

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
属性 类型 是否始终存在 说明
apiVersion 数值 主要 API 版本。响应中的值与
apiVersionMinor 数值 次要 API 版本。响应中的值与
paymentMethodData PaymentMethodData 所选支付方式的相关数据。
email 字符串 如果 emailRequiredPaymentDataRequest. 如果另一个请求将此属性设置为 true,则不会产生任何影响。
shippingAddress 地址 如果 shippingAddressRequired

示例

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

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
cardNetwork 字符串

所选款项的支付卡网络。返回的值与 CardParameters.

此支付卡网络值不应向买家显示。但可在需要买家支付卡的详细信息时使用。例如,客户服务人员可使用此值来确定买家为其交易所使用的卡。若要向用户显示相关说明,请使用 PaymentMethodDatadescription 属性。

billingAddress 地址 与所提供支付方式相关联的账单邮寄地址(如果在 CardParameters.
cardFundingSource 字符串

所选支付方式的卡片资金来源。

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

示例

此示例显示了 Visa 网络中的卡。

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

AssuranceDetailsSpecifications

此对象可提供对返回的付款凭据执行了何种验证的相关信息,以便应用适当的付款方式风险检查。

名称 类型 说明
accountVerified 布尔值 如果为 true,则表示已对返回的付款凭据执行了 Cardholder 所有权验证。
cardHolderAuthenticated 布尔值

如果为 true,则表示已对返回的付款凭据执行了身份验证和识别 (ID&V)。

如果为 false,则可以执行与卡交易相同的基于风险的身份验证。这种基于风险的身份验证可以包括但不限于使用 3D Secure 协议的增强型身份验证(如果适用)。

即使不使用 assuranceDetails 字段,您也可以接收和处理响应对象。如需接收此对象,请在请求对象的 CardParameters

PaymentMethodTokenizationData

此对象可提供支付方式的标记化数据。

属性 类型 是否始终存在 说明
type 字符串 要应用于所选支付方式的标记化类型。此值与 PaymentMethodTokenizationSpecification
token 字符串

生成的支付方式令牌。

  • PAYMENT_GATEWAY: JSON 对象字符串,其中包含由您的网关签发的可扣款令牌。
  • DIRECTprotocolVersionsignaturesignedMessage,用于解密。如需了解详情,请参阅 支付方式令牌结构

示例

此示例显示了为 example 网关准备的令牌化响应。

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

地址

此对象可提供所请求邮政地址的相关信息。所有属性均为字符串。

地址可以采用 MINFULLFULL-ISO3166 格式返回。下表列出了每种格式的属性。

属性 地址格式 说明
name MINFULLFULL-ISO3166 收件人的全名。
postalCode MINFULLFULL-ISO3166 邮政编码。
countryCode MINFULLFULL-ISO3166 ISO 3166-1 alpha-2 国家/地区代码。
phoneNumber MINFULLFULL-ISO3166 如果 phoneNumberRequiredPaymentDataRequest.
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"
}

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

PaymentAuthorizationResult

此对象可提供付款授权结果的相关信息。

属性 类型 必要性 说明
transactionState 字符串 必需 交易状态可根据以下某个商家结果解析:
  • SUCCESS
  • ERROR
error PaymentDataError 可选 当需要重试付款时,在用户的付款表格中呈现的错误。

示例

以下示例显示了处理付款后的付款结果返回值:

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