Method: getDisputeInquiryReport

支払いに関する異議申し立ての可能性について、カスタマー サポートとユーザーとのやり取りに役立つ情報を確認できるレポートを取得できます。

エンドポイントでリクエストの処理中にエラーが発生した場合、このエンドポイントからのレスポンスは ErrorResponse 型になります。

このメソッドが HTTP 200 を返さない場合、このクエリへのレスポンスは空になる可能性があります。攻撃者が他のインテグレータの支払いインテグレータのアカウント識別子を理解できるように、明確な説明がある ErrorResponse を使用できる場合は、レスポンス本文が空になります。署名鍵が一致しない場合、支払いインテグレータ識別子が見つからなかった場合、または暗号鍵が不明な場合、このメソッドは空の本文を含む HTTP 404 を返します。リクエスト署名が確認されると、レスポンス本文にエラーに関する追加情報が返されます。

リクエストの例を次に示します。


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1519996751331"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA",
  "paymentLookupCriteria": {
    "googleTransactionReferenceNumberCriteria": {
      "googleTransactionReferenceNumber": "714545417102363157911822",
      "authorizationCode": "111111"
    }
  },
  "existingGoogleClaimId": "138431383281",
  "requestOriginator": {
    "organizationId": "ISSUER_256",
    "organizationDescription": "Community Bank of Some City",
    "agentId": "982749"
  }
}

レスポンスの例を次に示します。


{
  "responseHeader": {
    "responseTimestamp": "1519996752221"
  },
  "result": "SUCCESS",
  "googleClaimId": "138431383281",
  "report": {
    "customerAccount": {
      "customerEmail": "example@gmail.com",
      "customerName" : "Example Customer"
    },
    "order": {
      "timestamp": "1517992525972",
      "orderId": "SOP.8976-1234-1234-123456..99",
      "currencyCode": "USD",
      "subTotalAmount": "206990000",
      "totalAmount": "212990000",
      "shippingAddress": {
        "name": "Example Customer",
        "addressLine": ["123 Main St"],
        "localityName": "Springfield",
        "administrativeAreaName": "CO",
        "postalCodeNumber": "80309",
        "countryCode": "US"
      },
      "taxes": [
        {
          "description": "Colorado Sales Tax",
          "amount": "6000000"
        }
      ],
      "items": [
        {
          "description": "Super cool gizmo",
          "merchant": "HTC",
          "googleProductName": "Google Store",
          "quantity": "2",
          "totalPrice": "198000000"
        },
        {
          "description": "Gizmo charger",
          "merchant": "HTC",
          "googleProductName": "Google Store",
          "quantity": "1",
          "totalPrice": "8990000"
        }
      ]
    },
    "payment": {
      "billingAddress" : {
        "name": "Example Customer",
        "addressLine": ["123 Main St"],
        "localityName": "Springfield",
        "administrativeAreaName": "CO",
        "postalCodeNumber": "80309",
        "countryCode": "US"
      },
      "amount": "100000000",
      "refunds": [
        {
          "amount": "9250000",
          "initiatedTimestamp": "1518811245384"
        }
      ],
      "cardDetails": {
        "authResult": "APPROVED"
      }
    }
  }
}

HTTP リクエスト

POST https://vgw.googleapis.com/secure-serving/gsp/v1/getDisputeInquiryReport/:PIAID

リクエスト本文

リクエストの本文には次の構造のデータが含まれます。

JSON 表現
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "paymentLookupCriteria": {
    object (PaymentLookupCriteria)
  },
  "existingGoogleClaimId": string,
  "requestOriginator": {
    object (RequestOriginator)
  }
}
フィールド
requestHeader

object (RequestHeader)

必須: すべてのリクエストに共通するヘッダーです。

paymentIntegratorAccountId

string

必須: やり取りの呼び出し元と関連する契約上の制約を識別する支払いインテグレーターのアカウント ID。

paymentLookupCriteria

object (PaymentLookupCriteria)

必須: この支払いを調べるための支払い条件。

existingGoogleClaimId

string

省略可: お客様からの異議申し立てが一意に識別される、getDisputeInquiryReport への前回の呼び出しから返された Google 生成の文字列。

存在しない場合は、新しい申し立て ID が生成されます。お客様との異議申し立てが続きた場合、呼び出し元は、getDisputeInquiryReport への前回の呼び出しで返された googleClaimId を提供できます。

ここに入力されるか、生成された申し立て ID は、レスポンスの googleClaimId フィールドで返されます。

以前の getDisputeInquiryReport 呼び出しで返されなかった googleClaimId を有効にすることはできません。この場合、HTTP 400 Bad Request が返されます。

requestOriginator

object (RequestOriginator)

必須: このリクエストを作成した組織または組織サブグループに関する情報。

レスポンスの本文

getDisputeInquiryReport メソッドのレスポンス ペイロード。

成功すると、レスポンスの本文に次の構造のデータが含まれます。

JSON 表現
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetDisputeInquiryReportResultCode),
  "googleClaimId": string,
  "report": {
    object (PurchaseReport)
  }
}
フィールド
responseHeader

object (ResponseHeader)

必須: すべてのレスポンスに共通するヘッダーです。

result

enum (GetDisputeInquiryReportResultCode)

必須: この呼び出しの結果。

googleClaimId

string

省略可: このお客様の異議申し立てを一意に識別する、Google が生成した文字列。(result が SUCCESS の場合のみ表示されます)

リクエストに existingGoogleClaimId が入力された場合、この値は同じになります。それ以外の場合は、新しく生成された値になります。この値は、同じ顧客間の異議申し立てに含まれている場合に、今後の getDisputeInquiryReport リクエストで指定できます。

report

object (PurchaseReport)

省略可: リクエストに記載されている支払いの異議申し立てに関する詳細。(result が SUCCESS の場合のみ表示されます)

PaymentLookupCriteria

支払いを一意に検索できる条件のコンテナ。メンバー フィールドは 1 つだけ入力する必要があります。

JSON 表現
{

  // Union field criteria can be only one of the following:
  "arnCriteria": {
    object (ArnCriteria)
  },
  "googleTransactionReferenceNumberCriteria": {
    object (GoogleTransactionReferenceNumberCriteria)
  },
  "captureRequestCriteria": {
    object (CaptureRequestCriteria)
  }
  // End of list of possible types for union field criteria.
}
フィールド

共用体フィールド criteria

criteria は次のいずれかになります。

arnCriteria

object (ArnCriteria)

省略可: カード発行会社の参照番号(ARN)に基づく検索。

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

省略可: Google トランザクション参照番号に基づいて検索します。

captureRequestCriteria

object (CaptureRequestCriteria)

省略可: キャプチャ リクエスト ID に基づいて検索します。

ArnCriteria

カード発行会社の参照番号(ARN)に基づく支払いの検索条件。

JSON 表現
{
  "acquirerReferenceNumber": string,
  "authorizationCode": string
}
フィールド
acquirerReferenceNumber

string

必須: お支払いを一意に識別するカード発行会社の参照番号(ARN)。23 桁で指定してください。

authorizationCode

string

必須: 取引の認証コード。

GoogleTransactionReferenceNumberCriteria

Google が生成した取引参照番号に基づく支払いのルックアップ条件。

JSON 表現
{
  "googleTransactionReferenceNumber": string,
  "authorizationCode": string
}
フィールド
googleTransactionReferenceNumber

string

必須: お支払いを一意に識別する、Google が生成する取引参照番号。

authorizationCode

string

必須: 取引の認証コード。

キャプチャ リクエスト条件

元のキャプチャ リクエストに基づく支払いのルックアップ条件。

JSON 表現
{
  "captureRequestId": string
}
フィールド
captureRequestId

string

必須: この取引の一意の識別子。これは、検索されている capture 呼び出し中に Google によって生成された requestId です。

リクエスト元

このリクエスト送信元の組織または組織サブグループに関する情報(省略可)。これにより、Google は paymentIntegratorAccountId よりも細かいレベルで問題や不正使用を特定し、制御を実装できます。これは、呼び出し元が複数の外部クライアントからのリクエストを提供する中間サービス プロバイダである場合に特に重要です。

JSON 表現
{
  "organizationId": string,
  "organizationDescription": string,
  "agentId": string
}
フィールド
organizationId

string

必須: このリクエストが行われた会社、組織、または組織のグループの識別子。paymentIntegratorAccountId 内で一意にする必要があります。

organizationDescription

string

必須: 人が読める形式の組織の名前または説明。Google の社員と組織に関するインテグレーターとの円滑な連絡に使用できます。

agentId

string

省略可: このリクエストの送信元である organizationId で識別される組織の特定のエージェント(従業員)の一意の識別子。organizationId 内で一意にする必要があります。

GetDisputeInquiryReportResultCode

getDisputeInquiryReport メソッド呼び出しの結果。

列挙型
UNKNOWN_RESULT このデフォルト値を設定しないでください。
SUCCESS お支払いが検出され、レポートが提供されます。
PAYMENT_NOT_FOUND リクエストされた支払いが見つかりませんでした。
PAYMENT_TOO_OLD リクエストされた支払いが見つかりましたが、支払い年数が経過したためレポートが提供されませんでした。
ORDER_CANNOT_BE_RETURNED リクエストされた支払いは既存の注文に属していますが、返品することはできません。理由には、所有者のリクエストに応じて注文が削除されたケースなどがあります。
NO_ADDITIONAL_DETAILS リクエストされた支払いが見つかりましたが、レポートを利用できません。

購入レポート

リクエストされた支払いに関連付けられた購入に関する詳細を含むレポート。

JSON 表現
{
  "customerAccount": {
    object (CustomerAccount)
  },
  "order": {
    object (Order)
  },
  "payment": {
    object (Payment)
  }
}
フィールド
customerAccount

object (CustomerAccount)

必須: お客様とアカウントに関する情報。

order

object (Order)

必須: 支払いが行われた注文に関する情報。

payment

object (Payment)

省略可: 支払いに関する情報。注: 1 回の注文で複数の支払いを行うことはできますが、これには最初のリクエストで特定された支払いに関する情報のみが含まれます。注文の種類によってはご利用いただけない場合があります。

顧客アカウント

お客様のアカウントに関する情報

JSON 表現
{
  "customerEmail": string,
  "customerName": string
}
フィールド
customerEmail

string

必須: お客様の Google アカウントに関連付けられているメールアドレス。

customerName

string

必須: お客様の名前。

注文

注文に関する情報。

JSON 表現
{
  "timestamp": string,
  "orderId": string,
  "currencyCode": string,
  "subTotalAmount": string,
  "totalAmount": string,
  "shippingAddress": {
    object (Address)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "taxes": [
    {
      object (Tax)
    }
  ]
}
フィールド
timestamp

string (int64 format)

省略可: 注文が行われたときのタイムスタンプ(エポックからの時間、ミリ秒単位)。注文の種類によってはご利用いただけない場合があります。

orderId

string

省略可: この注文を一意に識別する文字列。注文の種類によってはご利用いただけない場合があります。

currencyCode

string

省略可: この注文内のすべての金額に適用される 3 文字の ISO 4217 通貨コード。注文の種類によってはご利用いただけない場合があります。

subTotalAmount

string (Int64Value format)

省略可: 注文の合計額(税抜き)。order.currencyCode で指定された通貨のマイクロで表されます。これは SUM(items.totalPrice) と同じです。注文の種類によってはご利用いただけない場合があります。

totalAmount

string (Int64Value format)

省略可: 注文の合計額(税金を含む)。order.currencyCode で指定された通貨のマイクロで表されます。これは subTotalAmount + SUM(taxes.amount) と同じです。注文の種類によってはご利用いただけない場合があります。

shippingAddress

object (Address)

省略可: この注文の物理的な商品アイテムの配送先住所。

items[]

object (Item)

必須: この注文に含まれていた商品アイテムのリスト。

taxes[]

object (Tax)

必須: この注文に含まれていた商品アイテムのリスト。このリストは空です。

住所

住所に関する情報を保持する構造。

JSON 表現
{
  "name": string,
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string
}
フィールド
name

string

省略可: お客様の氏名

addressLine[]

string

省略可: 構造化されていない住所のテキストが保持されます。

localityName

string

省略可: これはあいまいな用語ですが、通常は住所の市区町村を表します。地域区分が明確に定義されていない地域や、この体系が当てはまらない地域(日本や中国など)では、localityName は空白のままにして addressLine を使用してください。

例: 米国の都市、イタリアのコムーネ、英国の郵便町。

administrativeAreaName

string

省略可: この国の最上位の行政区域(例: 米国の州、イタリアの地域、CN の州、日本の都道府県)

postalCodeNumber

string

省略可: postalCodeNumber の値は英数字ですが、多くの場合英数字です。例: 「94043」、「SW1W」、「SW1W 9TQ」。

countryCode

string

省略可: お客様の住所の国コード(ISO-3166-1 Alpha-2 を前提)。

アイテム

注文に含まれるアイテムに関する情報。

JSON 表現
{
  "description": string,
  "merchant": string,
  "quantity": string,
  "totalPrice": string,
  "googleProductName": string
}
フィールド
description

string

省略可: 購入された商品の説明。注文の種類によってはご利用いただけない場合があります。

merchant

string

必須: 商品の販売者、アーティスト、またはメーカー。

quantity

string (Int64Value format)

省略可: この商品アイテムの注文数。

商品に整数の数値が該当しない場合、このフィールドは省略されます(たとえば、従量制の商品には小数が含まれることもあります)。

totalPrice

string (Int64Value format)

省略可: この商品アイテムの合計価格。order.currencyCode で指定された通貨のマイクロで表されます。quantity にデータが入力されている場合、数量全体の合計金額が反映されます。注文の種類によってはご利用いただけない場合があります。

googleProductName

string

必須: 商品アイテムの Google プロダクト サービスの名前。

税金

この注文に適用される税金に関する情報。

JSON 表現
{
  "description": string,
  "amount": string
}
フィールド
description

string

必須: 税金の説明。

amount

string (Int64Value format)

必須: order.currencyCode で指定された通貨のマイクロで表される税額。

お支払い

お支払いに関する情報。

JSON 表現
{
  "billingAddress": {
    object (Address)
  },
  "amount": string,
  "refunds": [
    {
      object (Refund)
    }
  ],

  // Union field fopDetails can be only one of the following:
  "cardDetails": {
    object (PaymentCardDetails)
  }
  // End of list of possible types for union field fopDetails.
}
フィールド
billingAddress

object (Address)

必須: このお支払いの請求先住所。

amount

string (Int64Value format)

必須: この支払いの金額。order.currencyCode で指定された通貨のマイクロで表されます。注: 注文が複数の支払いによって支払われている場合、order.totalAmount は一致しないことがあります。

refunds[]

object (Refund)

必須: このお支払いに対して行われた払い戻しのリスト。このリストは空です。

共用体フィールド fopDetails

fopDetails は次のいずれかになります。

cardDetails

object (PaymentCardDetails)

省略可: クレジット カードとデビットカードのお支払い方法固有のお支払いに関する詳細。

払い戻し

お支払いの払い戻しに関する情報。

JSON 表現
{
  "amount": string,
  "initiatedTimestamp": string
}
フィールド
amount

string (Int64Value format)

必須: 払い戻し額(order.currencyCode で指定された通貨の正のマイクロ数)。

initiatedTimestamp

string (int64 format)

必須: 払い戻しが開始された時点のタイムスタンプ(エポックからの時間、ミリ秒単位)。

PaymentCardDetails

クレジット カードとデビットカード固有の支払い情報。

JSON 表現
{
  "authResult": enum (AuthResult)
}
フィールド
authResult

enum (AuthResult)

必須: 支払い承認の結果。

AuthResult

お支払いの認証結果。

列挙型
UNKNOWN_RESULT このデフォルト値を設定しないでください。
APPROVED 承認済み
DENIED 認証が拒否されました。
NOT_ATTEMPTED 認証できませんでした。