JSON 请求对象

本参考介绍了可在您的网站中使用的 Google Pay API 请求对象选项。

IsReadyToPayRequest

此对象指定哪些付款方式受支持。

属性 类型 必要性 说明
apiVersion 数值 必需 主要 API 版本。对于此规范,该值为 2
apiVersionMinor 数值 必需 次要 API 版本。对于此规范,该值为 0
allowedPaymentMethods PaymentMethod[] 必需

指定是否支持 Google Pay API 所支持的一种或多种付款方式。

不需要 tokenizationSpecification 即可确定查看者是否已准备好付款。为每个受支持的 PaymentMethod 提供所有必需的 parameters 属性。

existingPaymentMethodRequired 布尔值 可选

如果设为 true,那么在当前查看者准备好使用 allowedPaymentMethods 中指定的一种或多种付款方式付款时,isReadyToPay() 类方法将返回 true

示例

此示例显示了如何为所有受支持的支付卡网络的支付卡和 Android 设备令牌提供支持。

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "allowedPaymentMethods": [
    {
      "type": "CARD",
      "parameters": {
        "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
        "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
      }
    }
  ]
}

PaymentDataRequest

使用此对象可配置您的应用对 Google Pay API 的支持。

属性 类型 必要性 说明
apiVersion 数值 必需 主要 API 版本。对于此规范,该值为 2
apiVersionMinor 数值 必需 次要 API 版本。对于此规范,该值为 0
merchantInfo MerchantInfo 可选 请求付款数据的商家的相关信息。
allowedPaymentMethods PaymentMethod[] 必需 指定是否支持 Google Pay API 所支持的一种或多种付款方式。
transactionInfo TransactionInfo 必需 有关根据用户是否同意交易来为交易授权的详细信息。包含总价和价格状态。
emailRequired 布尔值 可选 设为 true 可请求电子邮件地址。
shippingAddressRequired 布尔值 可选 设为 true 可请求完整的送货地址。
shippingAddressParameters ShippingAddressParameters 可选 如果 shippingAddressParameters 设为true,请指定送货地址限制。

示例

以下示例显示了如何为所有受支持的支付卡网络的支付卡和 Android 设备令牌提供支持。系统会将支付卡令牌化,以用于示例网关。该请求针对付款方式发出,以收取 12.34 美元的最终费用。

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "merchantInfo": {
    "merchantName": "Example Merchant"
  },
  "allowedPaymentMethods": [
    {
      "type": "CARD",
      "parameters": {
        "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
        "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
      },
      "tokenizationSpecification": {
        "type": "PAYMENT_GATEWAY",
        "parameters": {
          "gateway": "example",
          "gatewayMerchantId": "exampleGatewayMerchantId"
        }
      }
    }
  ],
  "transactionInfo": {
    "totalPriceStatus": "FINAL",
    "totalPrice": "12.34",
    "currencyCode": "USD"
  }
}

MerchantInfo

此对象可提供请求付款数据的商家的相关信息。

属性 类型 必要性 说明
merchantId 字符串 必需 Google Pay 业务控制台注册后签发的 Google 商家标识符。使用 PRODUCTION 环境属性初始化 PaymentsClient 时,必须填充此属性。如需详细了解审批流程以及如何获取 Google 商家标识符,请参阅申请正式版访问权限
merchantName 字符串 可选 采用 UTF-8 编码的商家名称。商家名称会显示在付款表格中。若处于 TEST 环境,或者无法识别商家,系统会在付款表格中显示“向未经验证的商家付款”消息。
merchantOrigin 字符串 可选

发出请求的商家的完全限定域名。此字符串必须是启动了结算的商家网站的主机名。如果网站提供 Google Pay 付款按钮并以其他网站名义请求付款信息(通常是通过托管结算集成),则必须填充此属性。

示例

以下示例显示了包含 merchantNamemerchantInfo 对象。

merchantInfo: {
    merchantName: "Example Merchant",
}

PaymentMethod

此对象可指定 Google Pay API 支持且您的应用接受的一种或多种付款方式。

属性 类型 必要性 说明
type 字符串 必需

所支持付款方式的短标识符。目前仅支持 CARDPAYPAL 条目。

parameters 对象 必需 配置所提供的付款方式类型时所需的参数。如需详细了解 CARD 付款方式的预期值,请参阅 CardParameters。如需详细了解 PAYPAL 付款方式的预期值,请参阅 PAYPALParameters
tokenizationSpecification PaymentMethodTokenizationSpecification 可选

配置要接收付款信息的帐号或解密提供商。

如为 CARD 付款方式,则为必需属性。

如果此属性包含在 IsReadyToPayRequest 内,则不会产生任何影响。

CARD

以下示例显示了如何为所有受支持的支付卡网络的支付卡和 Android 设备令牌提供支持。此示例通过示例网关显示了令牌化过程。

{
  "type": "CARD",
  "parameters": {
    "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
    "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
  },
  "tokenizationSpecification": {
    "type": "PAYMENT_GATEWAY",
    "parameters": {
      "gateway": "example",
      "gatewayMerchantId": "exampleGatewayMerchantId"
    }
  }
}
PAYPAL

以下示例显示了如何支持 PAYPAL 付款方式。

{
  “type”: “PAYPAL”,
  parameters: {
  	"purchase_context": {
    	     "purchase_units": [{
        		"payee": {
          		      "merchant_id": "PAYPAL_ACCOUNT_ID"
                      	   }
       	       } ]
  	  }
    },
   “tokenizationSpecification”: {
	type: “DIRECT”  }
}

TokenizationSpecification

借助此对象,您可以配置要接收可扣款付款信息的帐号。

属性 类型 必要性 说明
type 字符串 必需

对于给定的 PaymentMethod,支持付款方式令牌化类型。对于 CARD 付款方式,请使用 PAYMENT_GATEWAYDIRECT. 对于 PAYPALPaymentMethod,请使用不带任何参数的 DIRECT

parameters 对象 必需 所选付款方式令牌化类型所特有的参数。

网关

要从 Google Pay API 支持的支付网关检索付款和客户信息,请将 type 设置为 PAYMENT_GATEWAY。请按照网关的说明指定 parameters 属性。常用的属性包括网关的标识符(由 Google 提供)以及您的网关帐号 ID(由网关提供)。

以下示例演示了如何从付款网关检索信息:

"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "example",
    "gatewayMerchantId": "exampleGatewayMerchantId"
  }
}

请使用下表查找支持的网关的特定 "gateway":"gatewayMerchantId": 值。

网关 参数和文档
ACI

  "gateway": "aciworldwide"
  "gatewayMerchantId": "YOUR_ENTITY_ID"

开发者文档

Adyen

  "gateway": "adyen"
  "gatewayMerchantId": "YOUR_MERCHANT_ACCOUNT_NAME"

开发者文档

Alfa-Bank

  "gateway": "alfabank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

APPEX

  "gateway": "epos"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Assist

  "gateway": "assist"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

结算系统

  "gateway": "billingsystems"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Blue Media

  "gateway": "bluemedia"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

BlueSnap

  "gateway": "bluesnap"
  "gatewayMerchantId": "YOUR_shopToken"

开发者文档

Braintree

  "gateway": "braintree"
  "braintree:apiVersion": "v1"
  "braintree:sdkVersion": "braintree.client.VERSION"
  "braintree:merchantId": "YOUR_BRAINTREE_MERCHANT_ID"
  "braintree:clientKey": "YOUR_BRAINTREE_TOKENIZATION_KEY"

开发者文档

Braspag

  "gateway": "cielo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

CardConnect

  "gateway": "cardconnect"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Cathay United Bank

  "gateway": "cathaybk"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Chase Merchant Services

  "gateway": "chase"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Checkout.com

  "gateway": "checkoutltd"
  "gatewayMerchantId": "YOUR_PUBLIC_KEY"

开发者文档

CloudPayments

  "gateway": "cloudpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Computop

  "gateway": "computop"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

ConcordPay

  "gateway": "concordpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Cybersource

  "gateway": "cybersource"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Datatrans

  "gateway": "datatrans"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

dLocal

  "gateway": "dlocal"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Dotpay

  "gateway": "dotpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

e-SiTef - Software Express

  "gateway": "softwareexpress"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

EasyPay

  "gateway": "easypay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

EBANX

  "gateway": "ebanx"
  "gatewayMerchantId": "YOUR_PUBLIC_INTEGRATION_KEY"

开发者文档

eCard

  "gateway": "ecard"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

ECPay

  "gateway": "ecpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

没有开发者文档

eGHL

  "gateway": "eghl"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

eSafe

  "gateway": "esafe"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

没有开发者文档

Evo Payment Gateway

  "gateway": "evopaymentgateway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

没有开发者文档

Fat Zebra

  "gateway": "fatzebra"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

First Data (Payeezy)

  "gateway": "firstdata"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

FreedomPay

  "gateway": "freedompay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Gestpay

  "gateway": "gestpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Global One Pay

  "gateway": "globalonepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

没有开发者文档

Global Payments

  "gateway": "globalpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

GMO Payment Gateway

  "gateway": "gmopg"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

GoPay

  "gateway": "gopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

GP Webpay

  "gateway": "gpwebpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

没有开发者文档

HiTrust

  "gateway": "hitrustpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

iPay88

  "gateway": "ipay88"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

iQmetrix

  "gateway": "iqmetrixpaymentservicesgateway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

IXOPAY

  "gateway": "ixopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

JudoPay

  "gateway": "judopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

没有开发者文档

Kassa

  "gateway": "kassacom"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Kineox

  "gateway": "kineox"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

LogPay

  "gateway": "logpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Lyra

  "gateway": "lyra"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Mastercard Payment Gateway Services

  "gateway": "mpgs"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

MOBI.Money

  "gateway": "mobimoney"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Molpay

  "gateway": "molpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

没有开发者文档

Moneris

  "gateway": "moneris"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Moneta

  "gateway": "moneta"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

没有开发者文档

Monext

  "gateway": "monext"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Money.Mail.Ru

  "gateway": "moneymailru"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Multicarta

  "gateway": "mulitcarta"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Mundipagg

  "gateway": "mundipagg"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

MyCheck

  "gateway": "mycheck"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

MyPay

  "gateway": "mypay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

没有开发者文档

Newebpay(原名 STPath、Pay2Go)

  "gateway": "newebpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Nexi

  "gateway": "nexi"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

NMI

  "gateway": "creditcall"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Nuvei

  "gateway": "nuvei"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Payfacto

  "gateway": "payfacto"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

paygent

  "gateway": "paygent"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

PayLane

  "gateway": "paylane"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Payler

  "gateway": "payler"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Paymark

  "gateway": "paymark"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Paymentwall

  "gateway": "paymentwall"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Paymo

  "gateway": "paymo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

PayOnline

  "gateway": "payonline"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Paysafe

  "gateway": "paysafe"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Payture

  "gateway": "payture"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

PayU

  "gateway": "payu"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Payway

  "gateway": "payway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Platon

  "gateway": "platon"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Portmone

  "gateway": "portmonecom"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Przelewy24

  "gateway": "przelewy24"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Radial

  "gateway": "radial"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

RBK.money

  "gateway": "rbkmoney"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Redsys

  "gateway": "redsys"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Sberbank

  "gateway": "sberbank"
  "gatewayMerchantId": "YOUR_ORGANIZATION_NAME"

开发者文档

Sipay

  "gateway": "sipay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Softbank Payment Service

  "gateway": "sbps"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Solid

  "gateway": "solid"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Sony Payment Services

  "gateway": "sonypaymentservices"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Spreedly

  "gateway": "spreedly"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Square

  "gateway": "square"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Stripe

  "gateway": "stripe"
  "stripe:version": "2018-10-31"
  "stripe:publishableKey": "YOUR_PUBLIC_STRIPE_KEY"

开发者文档

TapPay (Cherri Tech)

  "gateway": "tappay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Tatra banka (CardPay)

  "gateway": "tatrabanka"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

没有开发者文档

Tinkoff

  "gateway": "tinkoff"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

theMAP

  "gateway": "themap"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

TPay.com

  "gateway": "tpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Tranzzo

  "gateway": "tranzzo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Uniteller

  "gateway": "uniteller"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Vantiv

  "gateway": "vantiv"
  "vantiv:merchantPayPageId": "YOUR_PAY_PAGE_ID"
  "vantiv:merchantOrderId": "YOUR_ORDER_ID"
  "vantiv:merchantTransactionId": "YOUR_TRANSACTION_ID"
  "vantiv:merchantReportGroup": "*web"

开发者文档

Veritrans

  "gateway": "veritrans"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Vindicia

  "gateway": "vindicia"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

WayForPay

  "gateway": "wayforpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Windcave

  "gateway": "windcave"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Wirecard

  "gateway": "wirecard"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Worldnet

  "gateway": "worldnet"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

开发者文档

Worldpay

  "gateway": "worldpay"
  "gatewayMerchantId": "YOUR_WORLDPAY_MERCHANT_ID"

开发者文档

Yandex.Checkout

  "gateway": "yandexcheckout"
  "gatewayMerchantId": "YOUR_SHOP_ID"

开发者文档

直接

要直接在您的服务器上 解密响应, 请将 type 设置为 DIRECT

属性 类型 必要性 说明
protocolVersion 字符串 必需 响应中应该会显示的加密/签名协议版本。当前 ECv2 受支持。如需详细了解可用的加密和签名协议,请参阅付款数据加密
publicKey 字符串 必需 采用 Base64 编码的椭圆曲线公钥。如需了解详情,请参阅我们的商家加密文档中的加密公钥格式部分。
示例

  private static JSONObject getDirectTokenizationSpecification()
      throws JSONException, RuntimeException {
    if (Constants.DIRECT_TOKENIZATION_PARAMETERS.isEmpty()
        || Constants.DIRECT_TOKENIZATION_PUBLIC_KEY.isEmpty()
        || Constants.DIRECT_TOKENIZATION_PUBLIC_KEY == null
        || Constants.DIRECT_TOKENIZATION_PUBLIC_KEY == "REPLACE_ME") {
      throw new RuntimeException(
          "Please edit the Constants.java file to add protocol version & public key.");
    }
    JSONObject tokenizationSpecification = new JSONObject();

    tokenizationSpecification.put("type", "DIRECT");
    JSONObject parameters = new JSONObject(Constants.DIRECT_TOKENIZATION_PARAMETERS);
    tokenizationSpecification.put("parameters", parameters);

    return tokenizationSpecification;
  }

CardParameters

借助此对象,您可以定义所接受的支付卡类型。Google 会根据您配置的选项过滤付款人的可用支付卡。

属性 类型 必要性 说明
allowedAuthMethods 字符串[] 必需

支持用于对卡交易进行身份验证的字段。

  • PAN_ONLY:此身份验证方法与用户的 Google 帐号中保存的支付卡相关联。返回的付款数据包含个人帐号 (PAN) 以及到期月份和到期年份。
  • CRYPTOGRAM_3DS:此身份验证方法与存储为 Android 设备令牌的卡相关联。返回的付款数据包括在设备上生成的 3D 安全 (3DS) 密文。
allowedCardNetworks 字符串 必需

您和 Google Pay API 都支持的一个或多个支付卡网络。

  • AMEX
  • DISCOVER
  • INTERAC
  • JCB
  • MASTERCARD
  • VISA
allowPrepaidCards 布尔值 可选 如果您不支持预付卡,请将此属性设为 false。默认情况:指定的支付卡网络支持预付卡类。
allowCreditCards 布尔值 可选(英国博彩商家必须提供) 如果您不支持信用卡,则设为 false。默认情况:指定的支付卡网络支持信用卡类。
billingAddressRequired 布尔值 可选 如果您要求提供帐单邮寄地址,请将此属性设为 true。请仅在必须提供帐单邮寄地址才能处理交易的情况下,请求帐单邮寄地址。额外的数据请求会使结算流程不能顺畅进行,并可能会导致转化率较低。
billingAddressParameters BillingAddressParameters 可选 如果 billingAddressRequired 设为 true,则返回预期字段。

CARD 示例

以下示例显示了如何支持所有可用的支付卡网络和卡身份验证方法:

{
  "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
  "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
}

BillingAddressParameters

此对象可让您设置要为所请求的帐单邮寄地址返回的其他字段。

属性 类型 必要性 说明
format 字符串 可选

完成交易所需的帐单邮寄地址格式。

  • MIN:姓名、国家/地区代码和邮政编码(默认)。
  • FULL:名字、街道地址、市行政区、区域、国家/地区代码和邮政编码。
phoneNumberRequired 布尔值 可选 如果必须提供电话号码才能处理交易,请将此属性设为 true

示例

以下示例显示了如何请求最基本的帐单邮寄地址,即属性当前的默认值。

{
  "format": "MIN"
}

ShippingAddressParameters

此对象可用于设置送货限制。

属性 类型 必要性 说明
allowedCountryCodes 字符串[] 可选 允许送货的国家/地区的 ISO 3166-1 alpha-2 国家/地区代码值。如果未指定此对象,就意味着支持所有送货国家/地区。
phoneNumberRequired 布尔值 可选 如果所提供的送货地址需要填写电话号码,请将此属性设为 true

示例

以下示例是针对美国送货地址的请求。

{
  "allowedCountryCodes": ["US"]
}

TransactionInfo

此对象描述了一个用于确定付款人是否能付款的交易。它用于显示付款授权对话框。下表详细介绍了对象的属性。

属性 类型 必要性 说明
currencyCode 字符串 必需 ISO 4217 字母货币代码。
countryCode 字符串 可选(必须为欧洲经济区 (EEA) 的国家/地区提供)

ISO 3166-1 alpha-2 国家/地区代码,用于表示处理交易的位置。必须为欧洲经济区 (EEA) 的国家/地区的商家提供。

transactionId 字符串 可选 用于标识交易尝试的唯一 ID。商家可以使用现有 ID 或生成特定的 ID 来进行 Google Pay 交易尝试。当您向 Google Transaction Events API 发送回调时,此字段为必填字段。
totalPriceStatus 字符串 必需

所用总价的状态:

  • NOT_CURRENTLY_KNOWN:用于付款能力检查。如果交易是在 EEA 国家/地区处理的,请不要使用此属性。
  • ESTIMATED:总价可能会根据响应详细信息(例如根据帐单邮寄地址收取的销售税)进行调整。
  • FINAL:总价与显示给买家的金额相比无变化。
totalPrice 字符串 可选

交易的总货币价值,可选择是否精确到小数点后两位。除非将 totalPriceStatus 设为 NOT_CURRENTLY_KNOWN,否则此字段是必填字段。

字符串的格式应遵循正则表达式格式:^[0-9]+(\.[0-9][0-9])?$

displayItems DisplayItem[] 可选 当前付款请求的所有可扣费用。如果您使用授权付款动态价格更新,则仅在付款表格中填充此内容。如果您要实现对“授权付款”或“动态价格更新”的支持,则必须使用此字段。
totalPriceLabel 字符串 可选 显示项范围内总价的自定义标签。
checkoutOption 字符串 可选

此属性会影响在 Google Pay 付款表格中显示的提交按钮文本。

  • DEFAULT:对于给定的 totalPriceStatus,适用标准文本(默认值)。
  • COMPLETE_IMMEDIATE_PURCHASE:在付款人确认其选择后,系统会立即通过所选付款方式扣费。只有当 totalPriceStatus 设为 FINAL 时,才可使用此选项。

最终价格示例

以下示例显示了以美元表示的最终价格。

{
  displayItems: [
    {
      label: "Subtotal",
      type: "SUBTOTAL",
      price: "11.00",
    },
    {
      label: "Tax",
      type: "TAX",
      price: "1.00",
    }
  ],
    currencyCode: "USD",
    countryCode: "US",
    totalPriceStatus: "FINAL",
    totalPrice: "12.00",
    totalPriceLabel: "Total",
    checkoutOption: "DEFAULT",
    newShippingOptions: {
 	    defaultSelectedOptionId: "shipping-001",
      shippingOptions: [
        {
          "id": "shipping-001",
          "label": "Free: Standard shipping",
          "description": "Free Shipping delivered in 5 business days."
        }
      ]
    },
    error: {
   	  reason: "SHIPPING_ADDRESS_UNSERVICEABLE",
      message: "Cannot ship to the selected address",
      intent: "SHIPPING_ADDRESS"
    }
}

PayPalParameters

借助此对象,您可以定义 PayPal 参数。

属性 类型 必要性 说明
purchase_context PurchaseContext 必需 使用订单相关信息作为说明。

PayPal 示例

以下示例显示了如何支持 PayPal 付款方式:

{
  "purchase_context": {
    "purchase_units": [
      {
        "payee": {
          "merchant_id": "PAYPAL_ACCOUNT_ID"
        }
      }
    ]
  }
}

PurchaseContext

此对象可提供与订单有关的信息。

属性 类型 必要性 说明
purchase_units PurchaseUnit[] 必需 描述客户与商家之间的合约。

PurchaseUnit

此对象描述了 PayPal 客户与 PayPal 商家之间的合约。如需了解详情,请参阅 PayPal Order API 文档中的 purchase_unit

属性 类型 必要性 说明
payee Payee 必需 此交易的资金收据。

Payee

此对象可提供接收资金的商家的相关信息。如需了解详情,请参阅 PayPal Order API 参考文档中的 payee 参数。

对于其他支持的参数,请参阅可选参数

PayPal 示例

以下示例显示了如何支持 PayPal 付款方式。

{
  “type”: “PAYPAL”,
  parameters: {
  	"purchase_context": {
    	     "purchase_units": [{
        		"payee": {
          		      "merchant_id": "PAYPAL_ACCOUNT_ID"
                      	   }
       	       } ]
  	  }
    },
   “tokenizationSpecification”: {
	type: “DIRECT”  }
}