- HTTP リクエスト
- リクエストの本文
- レスポンスの本文
- RequestHeader
- タイムスタンプ
- バージョン
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- CaptureRequestCriteria
- RequestOriginator
- GetDisputeInquiryReportResponse:
- ResponseHeader
- GetDisputeInquiryReportResult
- SuccessDetails
- PurchaseReport
- CustomerAccount
- Order(注文)
- 金額
- 住所
- 項目
- 税金
- お支払い
- Refund(払い戻し)
- PaymentCardDetails
- AuthResult
- なし
- ErrorResponse
- ErrorResponseResult
- InvalidApiVersion
- InvalidPayloadSignature
- InvalidPayloadEncryption
- RequestTimestampOutOfRange
- InvalidIdentifier
- IdempotencyViolation
- InvalidFieldValue
- MissingRequiredField
- PreconditionViolation
- UserActionInProgress
- InvalidDecryptedRequest
- 禁止
支払いに関する異議申し立ての可能性について、お客様とカスタマー サポートの会話を円滑に進めるための情報が記載されたレポートを取得します。
このメソッドが HTTP 200 を返さない場合、このクエリに対するレスポンスは空になる可能性があります。
リクエストの処理中にエンドポイントでエラーが発生した場合、このエンドポイントからのレスポンスは
タイプになります。ErrorResponse
このメソッドが HTTP 200 を返さない場合、このクエリに対するレスポンスは空になる可能性があります。明確な説明の
を使用して攻撃者が他のインテグレータの決済インテグレータ アカウント ID を把握できるようにする場合は、レスポンスの本文が空になります。署名鍵が一致しない、決済インテグレータ ID が見つからなかった、暗号鍵が不明ななどの状況の場合、このメソッドは空の本文を含む HTTP 404 を返します。リクエストの署名を検証できた場合は、レスポンスの本文でエラーに関する追加情報が返されます。ErrorResponse
リクエストの例を次に示します。
{
"requestHeader": {
"protocolVersion": {
"major": 3
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": {
"epochMillis": "1519996751331"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD"
},
"paymentLookupCriteria": {
"googleTransactionReferenceNumberCriteria": {
"googleTransactionReferenceNumber": "714545417102363157911822",
"authorizationCode": "111111"
}
},
"existingGoogleClaimId": "138431383281",
"requestOriginator": {
"organizationId": "ISSUER_256",
"organizationDescription": "Community Bank of Some City",
"agentId": "982749"
}
}
レスポンスの例を次に示します。
{
"responseHeader": {
"responseTimestamp": {
"epochMillis": "1519996752221"
}
},
"result": {
"success": {
"googleClaimId": "138431383281",
"report": {
"customerAccount": {
"customerEmail": "example@gmail.com",
"customerName" : "Example Customer"
},
"order": {
"timestamp": {
"epochMillis": "1517992525972"
},
"orderId": "SOP.8976-1234-1234-123456..99",
"subTotalAmount": {
"amountMicros": "206990000",
"currencyCode": "USD"
},
"totalAmount": {
"amountMicros": "212990000",
"currencyCode": "USD"
},
"shippingAddress": {
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"taxes": [
{
"description": "Colorado Sales Tax",
"amount": {
"amountMicros": "6000000",
"currencyCode": "USD"
}
}
],
"items": [
{
"description": "Super cool gizmo",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "2",
"totalPrice": {
"amountMicros": "198000000",
"currencyCode": "USD"
}
},
{
"description": "Gizmo charger",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "1",
"totalPrice": {
"amountMicros": "8990000",
"currencyCode": "USD"
}
}
]
},
"payment": {
"billingAddress" : {
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"amount": {
"amountMicros": "100000000",
"currencyCode": "USD"
},
"refunds": [
{
"amount": {
"amountMicros": "9250000",
"currencyCode": "USD"
},
"initiatedTimestamp": {
"epochMillis": "1518811245384"
}
}
],
"cardDetails": {
"authResult": "APPROVED"
}
}
}
}
}
}
HTTP リクエスト
POST https://vgw.googleapis.com/secure-serving/gsp/v3/getDisputeInquiryReport/:PIAID
リクエスト本文
リクエストの本文には、次の構造のデータが含まれます。
JSON 表現 |
---|
{ "requestHeader": { object ( |
フィールド | |
---|---|
requestHeader |
必須: すべてのリクエストに共通のヘッダー。 |
paymentLookupCriteria |
必須: この照会で照合するお支払いを示す条件。 |
existingGoogleClaimId |
省略可: 前回の このフィールドが存在しない場合は、新しい申し立て ID が生成されます。顧客からの異議申し立てが継続している場合は、呼び出し元は前回の ここで入力された申し立て ID または生成された申し立て ID は、レスポンスの 前回の |
requestOriginator |
必須: このリクエスト送信元の組織または組織のサブグループに関する情報。 |
レスポンスの本文
このメソッドは複数の戻り値の型をサポートしています。ErrorResponse
で返す 4XX または 5XX HTTP ステータス コードについて詳しくは、ErrorResponse
オブジェクトと HTTP ステータス コードのドキュメントをご覧ください。
このメソッドは複数の戻り値の型をサポートしています。ErrorResponse
で返す 4XX または 5XX HTTP ステータス コードについて詳しくは、ErrorResponse
オブジェクトと HTTP ステータス コードのドキュメントをご覧ください。
成功すると、レスポンスの本文に次の構造のデータが含まれます。
可能性のあるレスポンス メッセージ | |
---|---|
HTTP 200 ステータス |
|
HTTP 4XX / 5XX ステータス |
|
RequestHeader
サーバーに送信されるすべてのリクエストに定義されるヘッダー オブジェクト。
JSON 表現 |
---|
{ "requestId": string, "requestTimestamp": { object ( |
フィールド | |
---|---|
requestId |
必須: このリクエストの一意の識別子。 これは、最大長が 100 文字で、「a ~ z」、「A ~ Z」、「0 ~ 9」、「:」、「-」、「_」のみを含む文字列です。 |
requestTimestamp |
必須: このリクエストのタイムスタンプ。受信者は、このタイムスタンプが「現在」の ± 60 秒であることを確認し、そうでない場合はリクエストを拒否する必要があります。このリクエストのタイムスタンプは、再試行時にべき等ではありません。 |
protocolVersion |
必須: このリクエストのバージョン。 |
paymentIntegratorAccountId |
必須: 契約上の制約がある一意のアカウントを識別します。 |
タイムスタンプ
ISO タイムライン上のポイントを表すタイムスタンプ オブジェクト。Unix エポックからの経過ミリ秒数です。
JSON 表現 |
---|
{ "epochMillis": string } |
フィールド | |
---|---|
epochMillis |
必須: Unix エポックからのミリ秒数 |
バージョン
バージョン オブジェクトには、API のメジャー バージョンが含まれます。同じメジャー バージョンのバージョンは互換性が保証されています。インテグレータは、同じメジャー バージョンのすべてのリクエストをサポートする必要があります。
JSON 表現 |
---|
{ "major": integer } |
フィールド | |
---|---|
major |
必須: メジャー バージョン。これは、異なるバージョンの互換性リクエストには互換性が保証されていないため、マークされています。 |
PaymentLookupCriteria
支払いを一意に検索できる条件のコンテナ。1 つ(1 つのみ)のメンバー フィールドに値を設定する必要があります。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド
|
|
arnCriteria |
省略可: カード発行会社参照番号(ARN)に基づいて検索します。 |
googleTransactionReferenceNumberCriteria |
省略可: Google 取引参照番号に基づいて検索します。 |
captureRequestCriteria |
省略可: 元のキャプチャ リクエストに基づいて検索します。 |
ArnCriteria
カード発行会社参照番号(ARN)に基づく支払いルックアップ条件。
JSON 表現 |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
フィールド | |
---|---|
acquirerReferenceNumber |
必須: 支払いを一意に識別するカード発行会社参照番号(ARN)。23 桁で入力してください。 |
authorizationCode |
必須: トランザクションの認証コード。 |
GoogleTransactionReferenceNumberCriteria
Google が生成した取引参照番号に基づく支払い検索条件。
JSON 表現 |
---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
フィールド | |
---|---|
googleTransactionReferenceNumber |
必須: お支払いを一意に識別する、Google が生成した取引参照番号。 |
authorizationCode |
必須: トランザクションの認証コード。 |
CaptureRequestCriteria
元のキャプチャ リクエストに基づく支払いルックアップ条件。
JSON 表現 |
---|
{ "captureRequestId": string } |
フィールド | |
---|---|
captureRequestId |
必須: この取引の一意の識別子。これは、検索中の |
RequestOriginator
このリクエスト送信元の組織または組織のサブグループ、および必要に応じて従業員に関する情報。これにより、Google は paymentIntegratorAccountId
よりもきめ細かく問題や不正行為を特定し、コントロールを実装できます。複数の外部クライアントからリクエストのソースとなる中間サービス プロバイダが呼び出し先の場合、これは特に有益です。
JSON 表現 |
---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
フィールド | |
---|---|
organizationId |
必須: このリクエスト送信元の会社、組織、または組織グループの ID。この |
organizationDescription |
必須: 人が読める形式の組織の名前または説明。Google の従業員とインテグレーターの間でその組織に関するコミュニケーションを円滑にするために使用できます。 |
agentId |
省略可: このリクエスト送信元である |
GetDisputeInquiryReportResponse
getDisputeInquiryReport
メソッドのレスポンス ペイロード。
JSON 表現 |
---|
{ "responseHeader": { object ( |
フィールド | |
---|---|
responseHeader |
必須: すべてのレスポンスに共通のヘッダー。 |
result |
必須: この呼び出しの結果。 |
ResponseHeader
サーバーから送信されるすべてのレスポンスに定義されるヘッダー オブジェクト。
JSON 表現 |
---|
{
"responseTimestamp": {
object ( |
フィールド | |
---|---|
responseTimestamp |
必須: このレスポンスのタイムスタンプ。受信者は、このタイムスタンプが「現在」の ± 60 秒であることを確認し、そうでない場合はレスポンスを拒否する必要があります。 |
GetDisputeInquiryReportResult
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド
|
|
success |
支払いが検出され、レポートが提供されます。 |
paymentNotFound |
リクエストされた支払いが見つかりませんでした。 |
paymentTooOld |
リクエストされたお支払いは見つかりましたが、お支払いの対象期間を過ぎているため、レポートは提供されていません。 |
orderCannotBeReturned |
リクエストされた支払いは存在する注文に含まれていますが、返品できません。理由には、所有者のリクエストにより注文が削除されたケースなどがあります。 |
noAdditionalDetails |
リクエストされた支払いは見つかりましたが、レポートは利用できません。 |
SuccessDetails
JSON 表現 |
---|
{
"googleClaimId": string,
"report": {
object ( |
フィールド | |
---|---|
googleClaimId |
必須: この顧客の異議申し立てを一意に識別する Google 生成の文字列。 リクエストで |
report |
必須: リクエストに記載されているお支払いの異議申し立てに関する詳細情報。 |
PurchaseReport
リクエストされた支払いに関連する購入の関連詳細を含むレポート。
JSON 表現 |
---|
{ "customerAccount": { object ( |
フィールド | |
---|---|
customerAccount |
必須: お客様とお客様のアカウントに関する情報。 |
order |
省略可: 支払いが行われた注文に関する情報。一部の購入レポートではご利用いただけません。 |
payment |
必須: 支払いに関する情報。注: 1 回の注文で複数回のお支払いが可能ですが、これには元のリクエストで特定されたお支払いに関する情報のみが含まれます。 |
CustomerAccount
お客様のアカウントに関する情報。
JSON 表現 |
---|
{ "customerEmail": string, "customerName": string } |
フィールド | |
---|---|
customerEmail |
省略可: お客様の Google アカウントに関連付けられているメールアドレスです。 |
customerName |
必須: お客様の名前。 |
注文
注文に関する情報。
JSON 表現 |
---|
{ "timestamp": { object ( |
フィールド | |
---|---|
timestamp |
必須: 注文が行われたときのタイムスタンプ。 |
orderId |
必須: この注文を一意に識別する文字列。 |
subTotalAmount |
必須: この注文の合計金額(税抜き)。 |
totalAmount |
必須: 税込みの注文の合計金額。 |
shippingAddress |
省略可: この注文に含まれる実際の商品アイテムの配送先住所です。 |
items[] |
必須: この注文に含まれていた商品アイテムのリスト。 |
taxes[] |
必須: この注文に含まれていた税金のリスト。このリストは空である可能性があります。 |
金額
マイクロ単位で金額を通貨コードに関連付けます。
JSON 表現 |
---|
{ "amountMicros": string, "currencyCode": string } |
フィールド | |
---|---|
amountMicros |
必須: マイクロ単位の数値。 |
currencyCode |
必須: 3 文字の ISO 4217 通貨コード |
住所
住所に関する情報を保持する構造。
JSON 表現 |
---|
{ "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
フィールド | |
---|---|
addressLine[] |
省略可: 構造化されていない住所テキストが含まれます。 |
localityName |
省略可: ファジーな用語ですが、通常は住所の都市や町の部分を指します。地域区分が明確に定義されていない、またはこの構造にうまく当てはまらない地域(日本や中国など)では、localityName を空にして addressLine を使用します。 例: 米国の市、イタリアのコミューン、英国の郵便区域 |
administrativeAreaName |
省略可: この国の最上位の行政区域。例: 米国の州、イタリアの地域、中国の州、日本の都道府県 |
postalCodeNumber |
省略可: 名前にかかわらず、postalCodeNumber 値は多くの場合英数字です。例: 「94043」、「SW1W」、「SW1W 9TQ」。 |
countryCode |
省略可: お客様の住所の国コード。ISO-3166-1 Alpha-2 である必要があります。 |
項目
注文に含まれる商品アイテムに関する情報。
JSON 表現 |
---|
{
"description": string,
"merchant": string,
"quantity": string,
"totalPrice": {
object ( |
フィールド | |
---|---|
description |
必須: 購入された商品アイテムの説明。 |
merchant |
必須: 商品アイテムの販売者、アーティスト、またはメーカー。 |
quantity |
省略可: この商品アイテムの注文数量。 商品に整数の数量が適用できない場合(たとえば、従量制の商品の場合は数量が小数になるなど)、このフィールドは省略されます。 |
totalPrice |
必須: 商品アイテムの合計金額。 |
googleProductName |
必須: 商品アイテムの Google 商品サービスの名前。 |
税
この注文に適用される税金に関する情報。
JSON 表現 |
---|
{
"description": string,
"amount": {
object ( |
フィールド | |
---|---|
description |
必須: 税金の説明。 |
amount |
必須: 税金の金額。 |
支払い
お支払いに関する情報。
JSON 表現 |
---|
{ "billingAddress": { object ( |
フィールド | |
---|---|
billingAddress |
必須: このお支払いの請求先住所。 |
amount |
必須: このお支払いの金額。 |
refunds[] |
必須: このお支払いに対して行われた払い戻しのリスト。このリストは空である可能性があります。 |
共用体フィールド
|
|
cardDetails |
省略可: クレジット カードとデビットカードのお支払い方法に固有のお支払い詳細。 |
払い戻し
お支払いに対する払い戻しに関する情報。
JSON 表現 |
---|
{ "amount": { object ( |
フィールド | |
---|---|
amount |
必須: 払い戻し額。 |
initiatedTimestamp |
必須: 払い戻しが開始されたときのタイムスタンプ。 |
PaymentCardDetails
クレジット カードとデビットカードに固有のお支払い詳細。
JSON 表現 |
---|
{
"authResult": enum ( |
フィールド | |
---|---|
authResult |
必須: 支払いの承認の結果。 |
AuthResult
支払い認証の結果。
列挙型 | |
---|---|
UNKNOWN_RESULT |
このデフォルト値は設定しないでください。 |
APPROVED |
承認されました。 |
DENIED |
認証が拒否されました。 |
NOT_ATTEMPTED |
認証を試みませんでした。 |
空白
このタイプにはフィールドがありません。
このオブジェクトは、ブール値と列挙型は追加データを使用して拡張する必要があることが多いため、拡張性のために使用されます。実装者はこれを使用して、プレゼンスを判断します。これが表す列挙型は、今後のバージョンでデータを格納するように拡張される可能性があります。
Empty
の JSON 表現は、空の JSON オブジェクト {}
です。
ErrorResponse
すべてのメソッドのエラー レスポンス オブジェクト。
JSON 表現 |
---|
{ "responseHeader": { object ( |
フィールド | |
---|---|
responseHeader |
必須: すべてのレスポンスに共通のヘッダー。 |
errorDescription |
省略可: サポート担当者がエラーをデバッグできるように、このステータスの説明を入力します。ユーザーに対しては表示されません。デバッグに役立ち、機密情報を含まないテキストを含めることができます。errorResponseCode の一部の値は、このフィールドに追加の詳細を指定する必要があることに注意してください。警告: パブリックとして定義されていない限り、このメッセージにトークンを含めないでください。 |
paymentIntegratorErrorIdentifier |
省略可: この識別子はインテグレータに固有で、インテグレータによって生成されます。この呼び出しを特定するためだけに、デバッグ目的で使用されます。これは、インテグレータがこの呼び出しを認識するための識別子です。 |
errorResponseResult |
省略可: 発生したエラーの種類をキャプチャするコード。 |
ErrorResponseResult
エラーコード
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド
|
|
invalidApiVersion |
リクエストの API バージョンがサポートされていない場合に使用されます。通知される HTTP コード: 400 |
invalidPayloadSignature |
不明なキーまたは無効なキーでペイロードが署名された場合に使用されます。通知される HTTP コード: 401 |
invalidPayloadEncryption |
不明なキーまたは無効なキーでペイロードが暗号化された場合に使用されます。通知される HTTP コード: 400 |
requestTimestampOutOfRange |
requestTimestamp が現在から ± 60 秒でない場合に使用します。通知される HTTP コード: 400 |
invalidIdentifier |
リクエストで送信された ID が無効か、不明な場合に使用されます。これには、PIAID、CaptureRequestId、Google Payment Token などが含まれることがあります。通知される HTTP コード: 404 |
idempotencyViolation |
リクエストがべき等性の要件に違反している場合に使用されます。通知される HTTP コード: 412 |
invalidFieldValue |
サポートされている値のセットにない値がリクエストのフィールドに含まれている場合に使用されます。通知される HTTP コード: 400 |
missingRequiredField |
リクエストで必須フィールドが未設定の場合に使用されます。通知される HTTP コード: 400 |
preconditionViolation |
オペレーションの制約に違反した場合(払い戻し額のリクエストがトランザクションの残額を超えた場合など)に使用されます。通知される HTTP コード: 400 |
userActionInProgress |
システムロックとして機能するプロセス中のユーザー操作が中断されるため、現時点でリクエストを処理できない場合に使用されます。実装固有の内部同時実行エラーによる障害を示すために、このコードを使用しないでください。通知される HTTP コード: 423 |
invalidDecryptedRequest |
リクエスト ペイロードは復号できたが、メッセージを解析できない場合に使用されます。通知される HTTP コード: 400 |
forbidden |
リクエストされたリソースへのアクセスは禁止されています。通知される HTTP コード: 403 |
InvalidApiVersion
JSON 表現 |
---|
{ "requestVersion": { object ( |
フィールド | |
---|---|
requestVersion |
必須: リクエスト時に指定された無効なバージョン。 |
expectedVersion |
必須: 想定されるバージョン。 |
InvalidPayloadSignature
このタイプにはフィールドがありません。
このメッセージは今、意図的に空になっています。今後、新しいフィールドが追加される可能性があります。
InvalidPayloadEncryption
このタイプにはフィールドがありません。
このメッセージは今、意図的に空になっています。今後、新しいフィールドが追加される可能性があります。
RequestTimestampOutOfRange
JSON 表現 |
---|
{ "requestTimestamp": { object ( |
フィールド | |
---|---|
requestTimestamp |
必須: リクエストで指定されたタイムスタンプ |
serverTimestampAtReceipt |
必須: 比較に使用する、受信時のサーバー時間 |
InvalidIdentifier
JSON 表現 |
---|
{ "invalidIdentifierType": string } |
フィールド | |
---|---|
invalidIdentifierType |
必須: 無効な識別子のタイプ(PIAID、 captureRequestId など)。 |
IdempotencyViolation
このタイプにはフィールドがありません。
このメッセージは今、意図的に空になっています。今後、新しいフィールドが追加される可能性があります。
InvalidFieldValue
JSON 表現 |
---|
{ "invalidFieldName": string } |
フィールド | |
---|---|
invalidFieldName |
必須: 無効であることが判明したフィールドの名前。 |
MissingRequiredField
JSON 表現 |
---|
{ "missingFieldNames": [ string ] } |
フィールド | |
---|---|
missingFieldNames[] |
必須: 欠落しているフィールドの名前。 |
PreconditionViolation
このタイプにはフィールドがありません。
このメッセージは今、意図的に空になっています。今後、新しいフィールドが追加される可能性があります。
UserActionInProgress
このタイプにはフィールドがありません。
このメッセージは今、意図的に空になっています。今後、新しいフィールドが追加される可能性があります。
InvalidDecryptedRequest
このタイプにはフィールドがありません。
このメッセージは今、意図的に空になっています。今後、新しいフィールドが追加される可能性があります。
Forbidden
このタイプにはフィールドがありません。
このメッセージは今、意図的に空になっています。今後、新しいフィールドが追加される可能性があります。