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() クラスメソッドは 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 でサポートされている 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 支払いボタンがあり、別のサイトに代わって(通常はホストされた購入手続きの統合を通じて)支払い情報をリクエストする場合は必須です。

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

merchantInfo: {
    merchantName: "Example Merchant",
    merchantId: "01234567890123456789"
}

PaymentMethod

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

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

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

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

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

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

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

カード

次の例は、サポートされているすべてのカード ネットワークからの支払いカードと 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 を使用します。PaymentMethodPAYPAL の場合は、 DIRECT をパラメータなしで使用します。

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

Gateway

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

// [START EXAMPLE]
Example
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "example",
    "gatewayMerchantId": "exampleGatewayMerchantId"
  }
}
// [END EXAMPLE] // [START ACI]
ACI
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "aciworldwide",
    "gatewayMerchantId": "YOUR_ENTITY_ID"
  }
}
// [END ACI] // [START ADYEN]
Adyen
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "adyen",
    "gatewayMerchantId": "YOUR_MERCHANT_ACCOUNT_NAME"
  }
}
// [END ADYEN] // [START ALFA-BANK]
Alfa-Bank
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "alfabank",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END ALFA-BANK] // [START BLUE_MEDIA]
Blue Media
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "bluemedia",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END BLUE_MEDIA] // [START BLUESNAP]
BlueSnap
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "bluesnap",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END BLUESNAP] // [START BRAINTREE]
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"
  }
}
// [END BRAINTREE] // [START BRASPAG]
Braspag
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cielo",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END BRASPAG] // [START CARDCONNECT]
CardConnect
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cardconnect",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END CARDCONNECT] // [START CHASE_PAYMENTECH]
Chase Paymentech
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "chase",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ACCOUNT_NUMBER"
  }
}
// [END CHASE_PAYMENTECH] // [START CHECKOUT]
Checkout.com
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "checkoutltd",
    "gatewayMerchantId": "YOUR_PUBLIC_KEY"
  }
}
// [END CHECKOUT] // [START CLOUDPAYMENTS]
CloudPayments
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cloudpayments",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END CLOUDPAYMENTS] // [START CYBERSOURCE]
CyberSource
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cybersource",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END CYBERSOURCE] // [START DATATRANS]
Datatrans
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "datatrans",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END DATATRANS] // [START EBANX]
EBANX
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "ebanx",
    "gatewayMerchantId": "YOUR_PUBLIC_INTEGRATION_KEY"
  }
}
// [END EBANX] // [START FIRST_DATA]
First Data
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "firstdata",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END FIRST_DATA] // [START GLOBAL_PAYMENTS]
Global Payments
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "globalpayments",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END GLOBAL_PAYMENTS] // [START GOPAY]
GoPay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "gopay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END GOPAY] // [START GMO_PAYMENT_GATEWAY]
GMO Payment Gateway
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "gmopg",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END GMO_PAYMENT_GATEWAY] // [START HITRUST]
HiTrust
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "hitrustpay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END HITRUST] // [START IMSOLUTIONS]
IMSolutions
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "imsolutions",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END IMSOLUTIONS] // [START IQMETRIX]
iQmetrix
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "iqmetrixpaymentservicesgateway",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END IQMETRIX] // [START LYRA]
Lyra
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "lyra",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END LYRA] // [START MPGS]
MPGS
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "mpgs",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END MPGS] // [START MONEY_MAIL_RU]
Money.Mail.Ru
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "moneymailru",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END MONEY_MAIL_RU] // [START MUNDIPAGG]
Mundipagg
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "mundipagg",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END MUNDIPAGG] // [START NEWEBPAY]
Newebpay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "newebpay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END NEWEBPAY] // [START NEXI]
Nexi
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "nexi",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END NEXI] // [START NMI]
NMI
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "creditcall",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END NMI] // [START PAYSAFE]
Paysafe
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "paysafe",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END PAYSAFE] // [START PAYTURE]
Payture
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "payture",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END PAYTURE] // [START PAYU]
PayU
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "payu",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END PAYU] // [START PRZELEWY24]
Przelewy24
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "przelewy24",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END PRZELEWY24] // [START RBKMONEY]
RBKmoney
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "rbkmoney",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END RBKMONEY] // [START REDSYS]
Redsys
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "redsys",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END REDSYS] // [START SBERBANK]
Sberbank
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sberbank",
    "gatewayMerchantId": "YOUR_ORGANIZATION_NAME"
  }
}
// [END SBERBANK] // [START SOFTBANK_PAYMENT_SERVICE]
Softbank Payment Service
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sbps",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END SOFTBANK_PAYMENT_SERVICE] // [START SONY_PAYMENT_SERVICES]
Sony Payment Services
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sonypaymentservices",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END SONY_PAYMENT_SERVICES] // [START SQUARE]
Square
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "square",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END SQUARE] // [START STRIPE]
Stripe
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "stripe",
    "stripe:version": "2018-10-31",
    "stripe:publishableKey": "YOUR_PUBLIC_STRIPE_KEY"
  }
}
// [END STRIPE] // [START TAPPAY]
TapPay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "tappay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END TAPPAY] // [START TINKOFF]
Tinkoff
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "tinkoff",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END TINKOFF] // [START UNITELLER]
Uniteller
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "uniteller",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END UNITELLER] // [START VANTIV]
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"
  }
}
// [END VANTIV] // [START VERITRANS]
Veritrans
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "veritrans",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END VERITRANS] // [START VINDICIA]
Vindicia
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "vindicia",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END VINDICIA] // [START WORLDPAY]
Worldpay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "worldpay",
    "gatewayMerchantId": "YOUR_WORLDPAY_MERCHANT_ID"
  }
}
// [END WORLDPAY] // [START YANDEX]
Yandex
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "yandexcheckout",
    "gatewayMerchantId": "YOUR_SHOP_ID"
  }
}
// [END YANDEX]

Direct

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

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

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

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

CardParameters

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

プロパティ 必須/オプション 説明
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 のアルファベットの通貨コード。
totalPriceStatus 文字列 必須

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

  • NOT_CURRENTLY_KNOWN: 支払い能力チェックに使用されます。
  • 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",
    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 文字列 不可

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

これは、ゲートウェイ 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": ""
}