JSON レスポンス オブジェクト

このリファレンスでは、アプリケーションで使用する Google Pay API レスポンス オブジェクトのオプションについて説明します。レスポンス オブジェクトは、Google Pay API クライアント メソッドによって返されるオブジェクトです。

PaymentData

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

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

例

この 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 文字列 はい カードの詳細。通常、この値は選択したお支払い口座番号の最後の 4 桁です。
assuranceDetails AssuranceDetailsSpecifications はい CardParameters。
cardNetwork 文字列 はい

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

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

billingAddress Address いいえ billingAddressRequired が true に設定されていた場合の、提供されたお支払い方法に関連付けられた請求先住所 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 セキュア プロトコルによるステップアップを含めることができますが、これに限定されません。

assuranceDetails フィールドを使用しない場合でも、レスポンス オブジェクトを受信して処理できます。このオブジェクトを受け取るには、リクエスト オブジェクトの CardParameters。

PaymentMethodTokenizationData

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

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

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

例

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

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

PaymentAuthorizationResult

このオブジェクトは、支払い承認の結果に関する情報を提供します。

プロパティ 型 必須/オプション 説明
transactionState 文字列 必須 取引の状態は、次のいずれかの販売者の結果によって解決されます。
  • SUCCESS
  • ERROR
error PaymentDataError オプション 支払いを再試行する必要がある場合に、ユーザーに向けて支払いシートに表示されるエラー。

例

次の例は、支払いが処理された後に返される支払い結果を示しています。

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

PaymentDataError

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

事前定義済みのエラーの理由のリスト:

  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message 文字列 必須 ダイアログに表示されるユーザーへのエラー メッセージ。
intent 文字列 必須

エラーの意図。

  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

例

この例は、支払いシートに表示されるエラーの意図とメッセージを示しています。

{
  "error": {
    "reason": "SHIPPING_OPTION_INVALID",
    "message": "This shipping option is invalid for the given address",
    "intent": "SHIPPING_OPTION"
  }
}

Address

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

住所は MIN、FULL、FULL-ISO3166 の形式で返されます。各形式に属するプロパティは、次の表で確認できます。

プロパティ 住所の形式 説明
name MIN、FULL、FULL-ISO3166 受取人の氏名。
postalCode MIN、FULL、FULL-ISO3166 郵便番号。
countryCode MIN、FULL、FULL-ISO3166 ISO 3166-1 alpha-2 の国コード。
phoneNumber MIN、FULL、FULL-ISO3166 phoneNumberRequired が true に設定されていた場合の電話番号 PaymentDataRequest。
address1 FULL、FULL-ISO3166 住所の 1 行目
address2 FULL、FULL-ISO3166 住所の 2 行目。
address3 FULL、FULL-ISO3166 住所の 3 行目。
locality FULL、FULL-ISO3166 市、町、地区、または郊外。
administrativeArea FULL、FULL-ISO3166 地方行政区画(州や都道府県など)。
sortingCode FULL、FULL-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
shippingAddress IntermediateAddress オプション 支払いシートで選択された住所。
shippingOptionData SelectionOptionData オプション 支払いシートで選択された配送オプション。

例

この例は、Google Pay API から返された中間ペイロードを示しています。

{
  "callbackTrigger": "SHIPPING_ADDRESS",
  "shippingAddress": {
    "administrativeArea": "NY",
    "countryCode": "US",
    "locality": "New York",
    "postalCode": "10011"
  },
  "shippingOptionData": {
    "id": "shipping-001"
  }
}

IntermediateAddress

中間アドレスには、ユーザーが支払いを承認する前に該当する税金と配送オプションを計算できるように、配送先住所(番地や受取人の名前を除く)が編集された状態で含まれています。

プロパティ 型 必須/オプション 説明
administrativeArea 文字列 必須 地方行政区画(州や都道府県など)。
countryCode 文字列 必須 ISO 3166-1 alpha-2 の国コード。
locality 文字列 必須 市、町、地区、または区域。
postalCode 文字列 必須 国に基づいて編集された郵便番号。カナダと英国の場合は、最初の 3 文字しか含まれません。米国の場合は、最初の 5 桁が含まれます。
iso3166AdministrativeArea 文字列 省略可 administrativeArea に対応する ISO 3166-2 の行政区域コード。配送先住所の形式が FULL-ISO3166 の場合にのみ存在します。

例

この例は、支払いシートで選択された住所を示しています。

{
  "administrativeArea": "NY",
  "countryCode": "US",
  "locality": "New York",
  "postalCode": "10011"
  "iso3166AdministrativeArea": "US-NY"
}

SelectionOptionData

プロパティ 型 必須/オプション 説明
id 文字列 必須 SelectionOption.id と一致します。

例

この例は、支払いシートで選択された配送オプションを示しています。

{
  "id": "shipping-001"
}