Method: getDisputeInquiryReport

支払いに関する異議申し立ての可能性について、お客様とカスタマー サポートの会話を円滑に進めるための情報が記載されたレポートを取得します。

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

このメソッドが HTTP 200 を返さない場合、このクエリに対するレスポンスは空になる可能性があります。明確な説明の ErrorResponse を使用して攻撃者が他のインテグレータの決済インテグレータ アカウント ID を把握できるようにする場合は、レスポンスの本文が空になります。署名鍵が一致しない、決済インテグレータ ID が見つからなかった、暗号鍵が不明ななどの状況の場合、このメソッドは空の本文を含む 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 または生成された申し立て 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 の場合にのみ存在します)。

RequestHeader

サーバーに送信されるすべてのリクエストに定義されるヘッダー オブジェクト。

JSON 表現
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
フィールド
requestId

string

必須: このリクエストの一意の識別子。

これは、最大長が 100 文字で、「a ~ z」、「A ~ Z」、「0 ~ 9」、「:」、「-」、「_」のみを含む文字列です。

requestTimestamp

string (int64 format)

必須: エポックからのミリ秒単位で表されるこのリクエストのタイムスタンプ。受信者は、このタイムスタンプが「現在」の ± 60 秒であることを確認する必要があります。このリクエストのタイムスタンプは、再試行時にべき等ではありません。

userLocale
(deprecated)

string

非推奨: 2 文字または 3 文字の ISO 639-2 Alpha-3 言語コード。必要に応じてハイフンと ISO 3166-1 Alpha-2 国コード(「pt」、「pt-BR」、「fil」、「fil-PH」など)が続きます。レスポンスの userMessage フィールドの処理に役立ちます。

protocolVersion

object (Version)

必須: このリクエストのバージョン。

バージョン

従来の a.b.c バージョン構造の構造化されたバージョン オブジェクト。同じ番号のメジャー バージョンは互換性が保証されています。マイナーおよびリビジョンは、予告なく頻繁に変更される場合があります。インテグレータは、同じメジャー バージョンのすべてのリクエストをサポートする必要があります。

JSON 表現
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
フィールド
major

integer

必須: メジャー バージョン。これは、異なるバージョンの互換性リクエストには互換性が保証されていないため、マークされています。

minor

integer

必須: マイナー バージョン。これは、重要なバグ修正を意味します。

revision

integer

必須: マイナー バージョン。マイナーなバグ修正を示します。

PaymentLookupCriteria

支払いを一意に検索できる条件のコンテナ。1 つ(1 つのみ)のメンバー フィールドに値を設定する必要があります。

JSON 表現
{

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

共用体フィールド criteria

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

arnCriteria

object (ArnCriteria)

省略可: カード発行会社参照番号(ARN)に基づいて検索します。

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

省略可: Google 取引参照番号に基づいて検索します。

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

必須: トランザクションの認証コード。

RequestOriginator

このリクエスト送信元の組織または組織のサブグループ、および必要に応じて従業員に関する情報。これにより、Google は paymentIntegratorAccountId よりもきめ細かく問題や不正行為を特定し、コントロールを実装できます。これは、呼び出し元が複数の外部クライアントからのリクエストを取得する中間サービス プロバイダである場合に特に役立ちます。

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

string

必須: このリクエスト送信元の会社、組織、または組織グループの ID。この 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 リクエストされた支払いは見つかりましたが、レポートは利用できません。

PurchaseReport

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

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

object (CustomerAccount)

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

order

object (Order)

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

payment

object (Payment)

省略可: 支払いに関する情報。注: 1 回の注文で複数回のお支払いが可能ですが、これには元のリクエストで特定されたお支払いに関する情報のみが含まれます。一部の注文タイプではご利用いただけません。

CustomerAccount

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

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

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

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 認証を試みませんでした。