レスポンス オブジェクト

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

IsReadyToPayResponse

このオブジェクトは、リクエスト側のサイトに支払い情報を提供するウェブサイト訪問者の能力に関する情報を提供します。

プロパティ 常に存在 説明
result ブール値 はい 現在の訪問者は、支払い情報をサイトに提供できます。訪問者が支払い可能かどうかは、訪問者が使用しているウェブブラウザに、指定されたお支払い方法に必要なコンポーネントを表示する機能があるかどうかに関係している場合があります。これには、Google アカウントにログインしてお支払い方法を提供する場合が含まれます。
paymentMethodPresent ブール値 いいえ

true の場合、訪問者は、提供された IsReadyToPayRequestallowedPaymentMethods プロパティで指定されたお支払い方法のうち 1 つ以上を保有しています。

existingPaymentMethodRequiredtrue に設定されている場合にのみ存在します (IsReadyToPayRequest)。

PaymentsClientTESTenvironment プロパティで初期化された場合、お支払い方法は常に存在するとみなされます。

以下の例は、現在の訪問者がリクエスト側のサイトに支払い情報を提供できる場合を示しています。

{
  "result": true
}

PaymentData

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

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

この 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"
    }
  }
}

IntermediatePaymentData

これは、支払いシートで配送先住所または配送オプションが変更されたときに、Google Pay API の onPaymentDataChanged() への入力によって返されるオブジェクトです。

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

支払いデータのコールバックが呼び出された理由を示します。

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
offerData OfferData 省略可 ユーザーが指定したプロモーション コード。
shippingAddress IntermediateAddress オプション 支払いシートで選択された住所。
shippingOptionData SelectionOptionData オプション 支払いシートで選択された配送オプション。

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

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

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 はい CardParametersassuranceDetailsRequiredtrue に設定されている場合、このオブジェクトは、返された支払いデータに対して行われた検証に関する情報を提供します。
cardNetwork 文字列 はい

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

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

billingAddress Address いいえ billingAddressRequiredtrue に設定されていた場合の、提供されたお支払い方法に関連付けられた請求先住所 (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 フィールドを使用しない場合でも、レスポンス オブジェクトを受信して処理できます。このオブジェクトを受け取るには、リクエスト オブジェクトの CardParametersassuranceDetailsRequired: true を含めます。

PaymentMethodTokenizationData

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

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

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

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

これは、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 文字列 必須

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

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

エラーの意図。これは、フローの開始時に PaymentDataRequest で登録されていたものである必要があります。

  • OFFER
  • 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

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

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

プロパティ 住所の形式 説明
name MINFULLFULL-ISO3166 受取人の氏名。
postalCode MINFULLFULL-ISO3166 郵便番号。
countryCode MINFULLFULL-ISO3166 ISO 3166-1 alpha-2 の国コード。
phoneNumber MINFULLFULL-ISO3166 phoneNumberRequiredtrue に設定されていた場合の電話番号 (PaymentDataRequest)。
address1 FULLFULL-ISO3166 住所の 1 行目
address2 FULLFULL-ISO3166 住所の 2 行目。
address3 FULLFULL-ISO3166 住所の 3 行目。
locality FULLFULL-ISO3166 市、町、地区、または郊外。
administrativeArea FULLFULL-ISO3166 地方行政区画(州や都道府県など)。
sortingCode FULLFULL-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"
}

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

OfferData

このオブジェクトは、支払いシートに入力された特典コードに関する情報を提供します。

プロパティ 必須/オプション 説明
redemptionCodes 配列 常に存在 支払いシートに入力されたプロモーション コードのセット。すでに承認済みのコードが含まれます。

次の例は、redemptionCodes 配列を含む OfferData オブジェクトを示しています。

"offerData": {
    "redemptionCodes": ["PROMOTIONALCODE"]
}