JSON オブジェクト リファレンス

このリファレンスでは、ウェブサイトで使用する Google Pay API オブジェクトのオプションについて説明します。ここで扱うオブジェクトは次の 2 種類です。

リクエスト オブジェクト

IsReadyToPayRequest

このオブジェクトは、どのお支払い方法がサポートされているかを指定します。

プロパティ 必須/オプション 説明
apiVersion 数値 必須 メジャー API バージョン。この仕様の値は 2 です。
apiVersionMinor 数値 必須 マイナー API バージョン。この仕様の値は 0 です。
allowedPaymentMethods PaymentMethod[] 必須

Google Pay API でサポートされている 1 つ以上のお支払い方法のサポートを指定します。

tokenizationSpecification は、閲覧者が支払い可能であるかを判断する目的では必要ありません。サポートされている PaymentMethod ごとに、必要なすべての parameters プロパティを提供します。

existingPaymentMethodRequired ブール値 オプション

true に設定すると、現在の閲覧者が allowedPaymentMethods で指定された 1 つ以上のお支払い方法で支払い可能である場合、isReadyToPay() クラスメソッドは を返します。

この例では、サポートされているすべてのカード ネットワークの支払いカードと 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 でサポートされている 1 つ以上のお支払い方法のサポートを指定します。
transactionInfo TransactionInfo 必須 ユーザーがトランザクションに同意するかどうかに基づく、トランザクションの承認に関する詳細です。合計金額と価格ステータスが含まれます。
emailRequired ブール値 オプション メールアドレスをリクエストするには、true に設定します。
shippingAddressRequired ブール値 オプション 完全な配送先住所をリクエストするには、true に設定します。
shippingAddressParameters ShippingAddressParameters オプション shippingAddressParameterstrue に設定されている場合、配送先住所の制限を指定します。

次の例は、サポートされているすべてのカード ネットワークからの支払いカードと Android デバイス トークンをサポートします。支払いカードは、example ゲートウェイで使用するためにトークン化されています。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 に承認された後に発行される Google の販売者 ID。PaymentsClientPRODUCTIONenvironment プロパティで初期化された場合は必須です。承認プロセスと Google 販売者 ID の取得方法について詳しくは、統合チェックリストをご覧ください。
merchantName 文字列 オプション UTF-8 としてエンコードされた販売者名です。販売者名は支払いシートに表示されます。TEST 環境の場合、または販売者が認識されない場合は、「未確認の販売者に支払う」というメッセージが支払いシートに表示されます。
merchantOrigin 文字列 オプション

販売者の代わりにリクエストを行うプロバイダの完全修飾ドメイン名。サイトに Google Pay 支払いボタンがあり、(通常はホストされた購入手続きの統合を通じて)別のサイトの代わりに支払い情報をリクエストする場合は必須です。

次の例は、merchantName を持つ merchantInfo オブジェクトを示しています。

merchantInfo: {
    merchantName: "Example Merchant",
}

PaymentMethod

このオブジェクトは、Google Pay API でサポートされていて、アプリで受け入れられる 1 つ以上のお支払い方法を指定します。

プロパティ 必須/オプション 説明
type 文字列 必須

サポートされているお支払い方法の短い識別子。現在サポートされているのは CARDPAYPAL のみです。

parameters オブジェクト 必須 指定されたお支払い方法の種類を構成するために必要なパラメータ。CARD のお支払い方法の予想される値について詳しくは、CardParameters をご覧ください。PAYPAL のお支払い方法の予想される値について詳しくは、PAYPALParameters をご覧ください。
tokenizationSpecification PaymentMethodTokenizationSpecification オプション

アカウントまたは復号プロバイダが支払い情報を受け取れるように構成します。

このプロパティは、お支払い方法が CARD の場合は必須です。

このプロパティは、IsReadyToPayRequest の一部として含まれている場合には効果はありません。

CARD

次の例は、サポートされているすべてのカード ネットワークの支払いカードと Android デバイス トークンをサポートする方法を示します。この例は、example ゲートウェイを介したトークン化を示しています。

{
  "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_GATEWAY または DIRECT を使用します。PAYPALPaymentMethod の場合は、DIRECT をパラメータなしで使用します。

parameters オブジェクト 必須 選択したお支払い方法のトークン化タイプに固有のパラメータ。

ゲートウェイ

Google Pay API でサポートされている支払いゲートウェイから支払い情報と顧客情報を取得するには、typePAYMENT_GATEWAY に設定します。利用するゲートウェイの指示に従って parameters プロパティを定義します。通常、これらのプロパティには、Google が発行したゲートウェイ ID と、ゲートウェイから提供されたゲートウェイのアカウント ID が含まれます。

Example
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "example",
    "gatewayMerchantId": "exampleGatewayMerchantId"
  }
}
ACI
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "aciworldwide",
    "gatewayMerchantId": "YOUR_ENTITY_ID"
  }
}
Adyen
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "adyen",
    "gatewayMerchantId": "YOUR_MERCHANT_ACCOUNT_NAME"
  }
}
Alfa-Bank
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "alfabank",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Blue Media
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "bluemedia",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
BlueSnap
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "bluesnap",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Braintree
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "braintree",
    "braintree:apiVersion": "v1",
    "braintree:sdkVersion": braintree.client.VERSION,
    "braintree:merchantId": "YOUR_BRAINTREE_MERCHANT_ID",
    "braintree:clientKey": "YOUR_BRAINTREE_TOKENIZATION_KEY"
  }
}
Braspag
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cielo",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
CardConnect
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cardconnect",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Chase Paymentech
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "chase",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ACCOUNT_NUMBER"
  }
}
Checkout.com
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "checkoutltd",
    "gatewayMerchantId": "YOUR_PUBLIC_KEY"
  }
}
CloudPayments
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cloudpayments",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
CyberSource
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cybersource",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
Datatrans
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "datatrans",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
EBANX
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "ebanx",
    "gatewayMerchantId": "YOUR_PUBLIC_INTEGRATION_KEY"
  }
}
First Data
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "firstdata",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
Global Payments
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "globalpayments",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
GoPay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "gopay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
GMO Payment Gateway
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "gmopg",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
HiTrust
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "hitrustpay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
IMSolutions
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "imsolutions",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
iQmetrix
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "iqmetrixpaymentservicesgateway",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Lyra
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "lyra",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
MPGS
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "mpgs",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Money.Mail.Ru
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "moneymailru",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Mundipagg
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "mundipagg",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Newebpay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "newebpay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Nexi
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "nexi",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
NMI
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "creditcall",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Paysafe
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "paysafe",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Payture
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "payture",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
PayU
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "payu",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Przelewy24
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "przelewy24",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
RBKmoney
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "rbkmoney",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
Redsys
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "redsys",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Sberbank
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sberbank",
    "gatewayMerchantId": "YOUR_ORGANIZATION_NAME"
  }
}
Softbank Payment Service
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sbps",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Sony Payment Services
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sonypaymentservices",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Square
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "square",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Stripe
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "stripe",
    "stripe:version": "2018-10-31",
    "stripe:publishableKey": "YOUR_PUBLIC_STRIPE_KEY"
  }
}
TapPay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "tappay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Tinkoff
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "tinkoff",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Uniteller
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "uniteller",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Vantiv
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "vantiv",
    "vantiv:merchantPayPageId": "YOUR_PAY_PAGE_ID",
    "vantiv:merchantOrderId": "YOUR_ORDER_ID",
    "vantiv:merchantTransactionId": "YOUR_TRANSACTION_ID",
    "vantiv:merchantReportGroup": "*web"
  }
}
Veritrans
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "veritrans",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Vindicia
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "vindicia",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
Worldpay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "worldpay",
    "gatewayMerchantId": "YOUR_WORLDPAY_MERCHANT_ID"
  }
}
Yandex
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "yandexcheckout",
    "gatewayMerchantId": "YOUR_SHOP_ID"
  }
}

直接

自社サーバーで直接レスポンスを復号するには、typeDIRECT に設定します。この構成を使用する場合は、Google の追加のデータ セキュリティ要件を満たす必要があり、PCI DSS への準拠もより複雑になります。

プロパティ 必須/オプション 説明
protocolVersion 文字列 必須 レスポンスで要求する暗号化 / 署名プロトコルのバージョン。現在は ECv2 がサポートされています。使用可能な暗号化プロトコルと署名プロトコルについて詳しくは、支払いデータの暗号方式をご覧ください。
publicKey 文字列 必須 Base64 でエンコードされた楕円曲線の公開鍵。詳細については、販売者の暗号ドキュメントで暗号化公開鍵の形式をご覧ください。

次の例では、読みやすくするために publicKey の値を略記しています。

"tokenizationSpecification": {
  "type": "DIRECT",
  "parameters": {
    "protocolVersion": "ECv2",
    "publicKey": "BOdoXP1aiNp.....kh3JUhiSZKHYF2Y="
  }
}

CardParameters

このオブジェクトにより、承認済みの支払いカードの種類を定義できます。ここで構成されたオプションに基づいて、支払人が利用できる支払いカードがフィルタリングされます。

プロパティ 必須/オプション 説明
allowedAuthMethods string[] 必須

カード取引を認証するためにサポートされるフィールド。

  • PAN_ONLY: この認証方法は、ユーザーの Google アカウントに保存されている支払いカードに関連付けられています。返される支払いデータには、カード会員番号と有効期限の月および年が含まれます。
  • CRYPTOGRAM_3DS: この認証方法は、Android デバイス トークンとして格納されたカードに関連付けられています。返される支払いデータには、デバイスで生成された 3D セキュア(3DS)クリプトグラムが含まれます。
allowedCardNetworks 文字列 必須

Google Pay API でサポートされているカード ネットワークのうち、お客様がサポートしている 1 つ以上のカード ネットワーク。

  • AMEX
  • DISCOVER
  • INTERAC
  • JCB
  • MASTERCARD
  • VISA
allowPrepaidCards ブール値 オプション プリペイド カードをサポートしていない場合は、false に設定します。デフォルト: プリペイド カード クラスは、指定されたカード ネットワークでサポートされています。
billingAddressRequired ブール値 オプション 請求先住所が必要な場合は true に設定します。請求先住所をリクエストするのは、取引の処理に必要な場合だけにしてください。データ リクエストを追加すると、購入手続きが煩雑になってコンバージョン率が低下する可能性があります。
billingAddressParameters BillingAddressParameters オプション billingAddressRequiredtrue に設定されている場合にレスポンスを要求するフィールド。

CARD の例

次の例は、利用可能なすべてのカード ネットワークとカード認証方法をサポートする方法を示します。

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

BillingAddressParameters

このオブジェクトによって、リクエストされた請求先住所について返される追加フィールドを設定できます。

プロパティ 必須/オプション 説明
format 文字列 オプション

取引を完了するために必要な請求先住所の形式。

  • MIN: 名前、国コード、郵便番号(デフォルト)。
  • FULL: 名前、住所、地域、地方、国コード、郵便番号。
phoneNumberRequired ブール値 オプション 取引を処理するために電話番号が必要な場合、true に設定します。

次の例は、最低限の請求先住所、つまりプロパティの現在のデフォルト値をリクエストする方法を示します。

{
  "format": "MIN"
}

ShippingAddressParameters

このオブジェクトは配送制限の設定に使用します。

プロパティ 必須/オプション 説明
allowedCountryCodes string[] オプション 配送先として許可されている国の ISO 3166-1 alpha-2 国コードの値。このオブジェクトが指定されていない場合は、配送先住所のすべての国が許可されます。
phoneNumberRequired ブール値 オプション 指定された配送先住所の電話番号が必要な場合、true に設定します。

次の例は、米国内の配送先住所を許可するリクエストを示しています。

{
  "allowedCountryCodes": ["US"]
}

TransactionInfo

このオブジェクトは、支払人が支払い可能かどうかを判断する取引を表します。支払いの承認ダイアログの表示に使用されます。次の表に、オブジェクトのプロパティの詳細を示します。

プロパティ 必須/オプション 説明
currencyCode 文字列 必須 ISO 4217 に準拠したアルファベットの通貨コード。
countryCode 文字列 オプション(EEA 加盟国では必須) 取引が処理される国を示す ISO 3166-1 alpha-2 国コード。これは、欧州経済領域(EEA)の加盟国に拠点を置く販売者では必須です。
totalPriceStatus 文字列 必須

使用された合計金額のステータス:

  • NOT_CURRENTLY_KNOWN: 支払い可能かどうかのチェックに使用されます。取引が EEA 加盟国で処理される場合、このプロパティは使用しないでください。
  • ESTIMATED: 合計金額は、請求先住所に基づいて収集されたレスポンスの詳細(消費税など)に基づいて調整される場合があります。
  • FINAL: 合計金額は、購入者に提示された金額から変更されません。
totalPrice 文字列 オプション

取引の合計金額。小数点以下 2 桁の小数点精度が適用されます。totalPriceStatusNOT_CURRENTLY_KNOWN に設定されている場合を除き、このフィールドは必須です。

文字列の形式は、次の正規表現に従う必要があります。^[0-9]+(\.[0-9][0-9])?$

displayItems DisplayItem[] オプション 現在の支払いリクエストに含まれるすべての料金項目。これが支払いシートに表示されるのは、支払い承認または動的料金設定の更新を使用する場合に限られます。支払い承認または動的料金設定の更新のサポートを実装する場合、このフィールドは必須です。
totalPriceLabel 文字列 オプション 表示アイテム内の合計金額のカスタムラベル。
checkoutOption 文字列 オプション

Google Pay 支払いシートに表示される送信ボタンのテキストに影響します。

  • DEFAULT: 指定された totalPriceStatus の標準テキストが適用されます(デフォルト)。
  • COMPLETE_IMMEDIATE_PURCHASE: 支払人が選択を確認した直後に、選択したお支払い方法で支払われます。このオプションは、totalPriceStatusFINAL に設定されている場合にのみ使用できます。

最終金額の例

次の例は、米ドルでの最終金額を示します。

{
  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 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”  }
}

レスポンス オブジェクト

レスポンス オブジェクトは、Google Pay API クライアント メソッドによって返されるオブジェクトです。

PaymentData

これは、支払人が支払いを承認した後に返されるレスポンス オブジェクトです。

プロパティ 常に存在 説明
apiVersion 数値 はい メジャー API バージョン。レスポンスの値は PaymentDataRequest で提供された値と一致します。
apiVersionMinor 数値 はい マイナー API バージョン。レスポンスの値は PaymentDataRequest で提供された値と一致します。
paymentMethodData PaymentMethodData はい 選択したお支払い方法に関するデータ。
email 文字列 いいえ PaymentDataRequestemailRequiredtrue に設定されていた場合のメールアドレス。これ以外のリクエストでこのプロパティが true に設定されていても、効果はありません。
shippingAddress Address いいえ PaymentDataRequestshippingAddressRequiredtrue に設定されていた場合の配送先住所。

この Google Pay API バージョン 2.0 のレスポンスの例は、Google Pay の支払いシートで CARD のお支払い方法が選択された場合を示しています。example ゲートウェイの支払い方法トークンが生成されました。

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "paymentMethodData": {
    "type": "CARD",
    "description": "Visa •••• 1234",
    "info": {
      "cardNetwork": "VISA",
      "cardDetails": "1234"
    },
    "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 文字列 はい カードの詳細。通常、この値は選択されたお支払いアカウント番号の最後の 4 桁です。
cardNetwork 文字列 はい

選択されたお支払い方法の支払いカード ネットワーク。戻り値は、CardParametersallowedCardNetworks の形式に一致します。

このカード ネットワークの値は購入者に表示しないでください。購入者のカードの詳細が必要な場合に使用します。たとえば、カスタマー サポートにおいて購入者が取引に使用したカードを識別しなければならない場合がこれに該当します。購入者に説明を表示する場合は、代わりに PaymentMethodDatadescription プロパティを使用してください。

billingAddress Address いいえ CardParametersbillingAddressRequiredtrue に設定されていた場合の、提供されたお支払い方法に関連付けられた請求先住所。

この例は、Visa ネットワークのカードを示しています。

{
  "cardNetwork": "VISA",
  "cardDetails": "1234"
}

PaymentMethodTokenizationData

このオブジェクトは、お支払い方法のトークン化データを提供します。

プロパティ 常に存在 説明
type 文字列 はい 選択されたお支払い方法に適用されるトークン化のタイプ。この値は、PaymentMethodTokenizationSpecification で設定された type と一致します。
token 文字列 いいえ

生成された支払い方法トークン。

  • PAYMENT_GATEWAY: ゲートウェイによって発行された請求可能なトークンを含む JSON オブジェクト文字列。
  • DIRECT: 復号のための protocolVersionsignaturesignedMessage。詳しくは、支払い方法トークンの構造をご覧ください。

これは、example ゲートウェイのトークン化データのレスポンスの例です。

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

Address

このオブジェクトは、リクエストされた住所に関する情報を提供します。すべてのプロパティは文字列です。

billingAddressFormatMIN に設定されている場合は、MIN 形式で住所が返されます。FULL の場合は配送先住所が返されます。MIN 形式のレスポンスのプロパティはすべて FULL 形式のレスポンスにも存在します。

プロパティ 住所の形式 説明
name MIN 受取人の氏名。
postalCode MIN 郵便番号。
countryCode MIN ISO 3166-1 alpha-2 の国コード。
phoneNumber MIN PaymentDataRequestphoneNumberRequiredtrue に設定されていた場合の電話番号。
address1 FULL 住所の 1 行目。
address2 FULL 住所の 2 行目。
address3 FULL 住所の 3 行目。
locality FULL 市、町、地区、または区域。
administrativeArea FULL 地方行政区画(州や都道府県など)。
sortingCode FULL ソートコード。

これは、複数行の番地データを持つ米国の住所の例です。

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