JSON 要求物件

本參考資料介紹可用於網站的 Google Pay API 要求物件選項。

IsReadyToPayRequest

這個物件指定支援哪些付款方式。

屬性 類型 必要性 說明
apiVersion number 必要 主要 API 版本。針對這個規格,值為 2
apiVersionMinor number 必要 次要 API 版本。針對這個規格,值為 0
allowedPaymentMethods PaymentMethod[] 必要

指定支援 Google Pay API 所支援的一或多種付款方式。

不需有 tokenizationSpecification 即可判定檢視者是否已準備付款。請為每項支援的 PaymentMethod 提供所有必要的 parameters 屬性。

existingPaymentMethodRequired boolean 選用

如果設為 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 number 必要 主要 API 版本。針對這個規格,值為 2
apiVersionMinor number 必要 次要 API 版本。針對這個規格,值為 0
merchantInfo MerchantInfo 選用 要求付款資料之商家的相關資訊。
allowedPaymentMethods PaymentMethod[] 必要 指定支援 Google Pay API 所支援的一或多種付款方式。
transactionInfo TransactionInfo 必要 根據使用者是否同意交易,提供交易授權的詳細資料,包含總價和價格狀態。
emailRequired boolean 選用 設為 true 即可要求電子郵件地址。
shippingAddressRequired boolean 選用 設為 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 string 必要 Google 核准您的網站之後所核發的 Google 商家識別碼。如果透過 PRODUCTIONenvironment 屬性初始化 PaymentsClient,則為必要屬性。請參閱整合檢查清單,進一步瞭解核准程序及如何取得 Google 商家識別碼。
merchantName string 選用 採用 UTF-8 編碼的商家名稱,商家名稱會顯示在付款畫面中。在 TEST 環境中,或是系統無法辨識商家時,付款畫面上就會顯示「付款給未通過驗證的商家」訊息。
merchantOrigin string 選用

正在請款之商家的完整網域。這個字串必須為啟動結帳之商家網站的主機名稱。如果網站提供 Google Pay 付款按鈕並代表其他網站要求付款資訊 (通常是透過代管結帳整合功能),則為必要屬性。

範例

以下範例顯示含有 merchantNamemerchantInfo 物件。

    merchantInfo: {
        merchantName: "Example Merchant",
    }
    

PaymentMethod

這個物件指定受 Google Pay API 支援且您的應用程式接受的一或多種付款方式。

屬性 類型 必要性 說明
type string 必要

支援之付款方式的簡短 ID。支援的項目目前僅有 CARDPAYPAL

parameters object 必要 設定提供的付款方式類型時所需的參數。如要進一步瞭解 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 string 必要

指定的 PaymentMethod 支援的付款方式代碼化類型。如果是 CARD 付款方式,請使用 PAYMENT_GATEWAYDIRECT。 如果是 PAYPAL PaymentMethod,請使用 DIRECT,且不使用參數。

parameters object 必要 所選付款方式代碼化類型的專屬參數。

閘道

如要從 Google Pay API 支援的付款閘道擷取付款資訊與客戶資訊,請將 type 設為 PAYMENT_GATEWAY。請依據閘道的說明定義 parameters 屬性。一般屬性包括閘道 ID (由 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"

開發人員說明文件

Billing Systems

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

開發人員說明文件

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

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

開發人員說明文件

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

Developer docs

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"

開發人員說明文件

JudoPay

      "gateway": "judopay"
      "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

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

開發人員說明文件

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"

Developer docs

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"

開發人員說明文件

Portmone

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

開發人員說明文件

Przelewy24

      "gateway": "przelewy24"
      "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

      "gateway": "tappay"
      "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 string 必要 回應中預期的加密/簽署通訊協定版本。目前支援 ECv2。如要進一步瞭解可用的加密和簽署通訊協定,請參閱付款資料密碼編譯的相關說明。
publicKey string 必要 採用 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 string[] 必要

卡片交易驗證支援的欄位。

  • PAN_ONLY:這種驗證方式與使用者 Google 帳戶中儲存的付款卡相關聯。傳回的付款資料包括個人帳號 (PAN) 和到期月份及到期年份。
  • CRYPTOGRAM_3DS:這種驗證方式與儲存為 Android 裝置代碼的卡片相關聯。傳回的付款資料包括在裝置上產生的 3-D Secure (3DS) 密文。
allowedCardNetworks string 必要

您支援的一個或多個發卡機構,機構必須也受 Google Pay API 支援。

  • AMEX
  • DISCOVER
  • INTERAC
  • JCB
  • MASTERCARD
  • VISA
allowPrepaidCards boolean 選用 如果不支援預付卡,請設為 false。預設值:指定的發卡機構支援預付卡類別。
allowCreditCards boolean 選用 (如為英國博弈商家則必填) 如果不支援信用卡,請設為 false。預設值:指定的發卡機構支援信用卡類別。
billingAddressRequired boolean 選用 如果您需要帳單地址,請設為 true。帳單地址應僅在處理交易需要時,才要求提供。額外的資料要求可能會增加結帳程序的不便,並且導致轉換率下降。
billingAddressParameters BillingAddressParameters 選用 billingAddressRequired 設為 true 時傳回的預期欄位。

CARD 範例

以下範例顯示如何編寫程式碼,以支援所有可用發卡機構與卡片驗證方式:

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

BillingAddressParameters

這個物件可讓您為要求的帳單地址設定要傳回的額外欄位。

屬性 類型 必要性 說明
format string 選用

完成交易所需的帳單地址格式。

  • MIN:姓名、國家/地區代碼與郵遞區號 (預設值)。
  • FULL:姓名、街道地址、縣市、地區、國家/地區代碼與郵遞區號。
phoneNumberRequired boolean 選用 如果需要電話號碼來處理交易,請設為 true

範例

以下範例為最精簡版帳單地址的要求,此地址格式即是屬性目前的預設值。

    {
      "format": "MIN"
    }
    

ShippingAddressParameters

這個物件可用來設定運送限制。

屬性 類型 必要性 說明
allowedCountryCodes string[] 選用 允許運送之國家/地區的 ISO 3166-1 alpha-2 國家/地區代碼值。如果未指定這個物件,則允許使用所有運送地址國家/地區。
phoneNumberRequired boolean 選用 如果提供的運送地址需要提供電話號碼,請設為 true

範例

以下為要求位於美國的運送地址範例。

    {
      "allowedCountryCodes": ["US"]
    }
    

TransactionInfo

這個物件會描述一個判定付款人是否能付款的交易。這個物件可用來顯示付款授權對話方塊。下表詳細說明了物件的屬性。

屬性 類型 必要性 說明
currencyCode string 必要 ISO 4217 以英文字母構成的貨幣代碼。
countryCode string 選填 (EEA 國家/地區必須提供)

交易處理位置的 ISO 3166-1 alpha-2 國家/地區代碼。這是位於歐洲經濟區 (EEA) 國家/地區之商家必填的欄位。

transactionId string 選用 識別交易嘗試的唯一識別碼。商家可以使用現有 ID,或為 Google Pay 交易嘗試產生特定 ID。將回呼傳送至 Google Transaction Events API 時,這是必填欄位。
totalPriceStatus string 必要

所用總價的狀態:

  • NOT_CURRENTLY_KNOWN用於功能檢查。如果交易是在 EEA 國家/地區進行處理,請不要使用此屬性。
  • ESTIMATED總價可能會根據回應詳情 (例如根據帳單地址收取的銷售稅) 調整。
  • FINAL:向購物者顯示的總價金額不會變更。
totalPrice string 選用

交易總金額,精確度可設定至小數點後兩位。除非 totalPriceStatus 已設為 NOT_CURRENTLY_KNOWN,否則此欄位為必填欄位。

字串應遵循規則運算式格式:^[0-9]+(\.[0-9][0-9])?$

displayItems DisplayItem[] 選用 當前付款要求的所有適用費用。這項資訊只會在您使用授權付款動態價格更新功能時填入付款畫面。如果您實作「授權付款」或「動態價格更新」功能的支援,此欄位為必填。
totalPriceLabel string 選用 顯示項目中的總價自訂標籤。
checkoutOption string 選用

此屬性會影響 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"
        }
    }
    

PayPal Parameters

這個物件能讓您定義 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 Orders API 參考資料說明文件中的 payee 相關說明。

如要瞭解其他支援的參數,請參閱選用參數的相關說明。

PayPal 範例

以下範例顯示如何編寫程式碼,以支援 PayPal 付款方式。

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