- HTTP request
- Request body
- Response body
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- CaptureRequestCriteria
- RequestOriginator
- GetDisputeInquiryReportResponse
- GetDisputeInquiryReportResult
- SuccessDetails
- PurchaseReport
- CustomerAccount
- Order
- Item
- Tax
- Payment
- Refund
- PaymentCardDetails
- AuthResult
Get a report that provides information to facilitate a customer support conversation with a user regarding a potential dispute of a payment.
Responses to this query may be empty if this method does not return an HTTP 200.
If the echo is successful, the endpoint will return an HTTP 200 and the response will be of type EchoResponse
.
If the endpoint encounters an error while processing the request, the endpoint will return HTTP 4xx or 5xx and the HTTP body will either be of type ErrorResponse
or contain a generic error (e.g. a message similar to "There was an error. Please try again later.").
The generic error is used in situations where an ErrorResponse
with a clear description could be used to help an attacker understand the payment integrator account identifier of other integrators. In these situations, where either the signing key doesn't match, the payment integrator identifier was not found, or the encryption key was unknown, this method will return a generic error. If the request signature could be verified, additional information regarding the error will be returned in an ErrorResponse
.
An example request looks like:
{
"requestHeader": {
"protocolVersion": {
"major": 1
},
"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"
}
}
An example response looks like:
{
"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 request
POST https://vgw.googleapis.com/gsp/carrier-wallets-v1/getDisputeInquiryReport/:PIAID
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "requestHeader": { object (RequestHeader) }, "paymentLookupCriteria": { object ( |
Fields | |
---|---|
request |
REQUIRED: Common header for all requests. |
payment |
REQUIRED: Criteria indicating the payment that is to be looked up for this inquiry. |
existing |
OPTIONAL: A Google-generated string returned by a previous call to If this is not present, a new claim ID will be generated. The caller may provide a The claim ID that is populated here or generated will be returned in the response's It is not valid to provide a |
request |
REQUIRED: Information about the organization or organizational sub-group that originated this request. |
Response body
This method supports multiple return types. For additional information about what 4XX or 5XX HTTP status code to return with an ErrorResponse
, consult the ErrorResponse
object and HTTP status codes documentation.
Possible response messages | |
---|---|
HTTP 200 Status |
|
HTTP 4XX / 5XX Status |
|
PaymentLookupCriteria
Container for criteria that can uniquely lookup a payment. One (and only one) member field must be populated.
JSON representation |
---|
{ // Union field |
Fields | |
---|---|
Union field
|
|
arn |
OPTIONAL: Lookup based on Acquirer Reference Number (ARN). |
google |
OPTIONAL: Lookup based on the Google Transaction Reference Number. |
capture |
OPTIONAL: Lookup based on the original capture request. |
ArnCriteria
Payment lookup criteria based on Acquirer Reference Number (ARN).
JSON representation |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
Fields | |
---|---|
acquirer |
REQUIRED: The Acquirer Reference Number (ARN) that uniquely identifies the payment. Must be 23 digits long. |
authorization |
REQUIRED: The Authorization Code for the transaction. |
GoogleTransactionReferenceNumberCriteria
Payment lookup criteria based on the Google-generated Transaction Reference Number.
JSON representation |
---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
Fields | |
---|---|
google |
REQUIRED: The Google-generated Transaction Reference Number that uniquely identifies the payment. |
authorization |
REQUIRED: The Authorization Code for the transaction. |
CaptureRequestCriteria
Payment lookup criteria based on the original capture request.
JSON representation |
---|
{ "captureRequestId": string } |
Fields | |
---|---|
capture |
REQUIRED: A unique identifier for this transaction. This is the |
RequestOriginator
Information about the organization or organizational sub-group, and optionally the employee, from which this request originated. This allows Google to identify issues or abuse and implement controls at a finer-grained level than the paymentIntegratorAccountId
. It is especially valuable when the called is an intermediary service provider that sources request from multiple external clients.
JSON representation |
---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
Fields | |
---|---|
organization |
REQUIRED: An identifier of the company, organization, or organizational group from which this request originated. Must be unique within this |
organization |
REQUIRED: A human-readable name or description of the organization that can be used to ease communication between employees of Google and the integrator regarding that organization. |
agent |
OPTIONAL: A unique identifier for the specific agent (employee) of the organization identified by |
GetDisputeInquiryReportResponse
Response payload for the getDisputeInquiryReport
method.
JSON representation |
---|
{
"responseHeader": {
object (ResponseHeader)
},
"result": {
object ( |
Fields | |
---|---|
response |
REQUIRED: Common header for all responses. |
result |
REQUIRED: Result of this call. |
GetDisputeInquiryReportResult
JSON representation |
---|
{ // Union field |
Fields | |
---|---|
Union field
|
|
success |
The payment was found and a report is provided. |
payment |
The requested payment was not found. |
payment |
The requested payment was found, but a report was not provided due to the age of the payment. |
order |
The requested payment belongs to an order that exists, but cannot be returned. Reasons include cases where the order was removed at the request of its owner. |
no |
The requested payment was found, but a report is not available. |
SuccessDetails
JSON representation |
---|
{
"googleClaimId": string,
"report": {
object ( |
Fields | |
---|---|
google |
REQUIRED: A Google-generated string that uniquely identifies this customer dispute. If |
report |
REQUIRED: Details relevant to the dispute of the payment identified in the request. |
PurchaseReport
A report containing relevant details of the purchase associated with the requested payment.
JSON representation |
---|
{ "customerAccount": { object ( |
Fields | |
---|---|
customer |
REQUIRED: Information regarding the customer and their account. |
order |
OPTIONAL: Information regarding the order on which the payment was made. Not available for all purchase reports. |
payment |
REQUIRED: Information regarding the payment. Note: Multiple payments are possible on a single order, but this will only contain info for the payment that was identified in the original request. |
CustomerAccount
Information about the customer's account.
JSON representation |
---|
{ "customerEmail": string, "customerName": string } |
Fields | |
---|---|
customer |
OPTIONAL: The email address associated with the customer's Google account. |
customer |
REQUIRED: The customer's name. |
Order
Information about the order.
JSON representation |
---|
{ "timestamp": { object (Timestamp) }, "orderId": string, "subTotalAmount": { object (Amount) }, "totalAmount": { object (Amount) }, "shippingAddress": { object (Address) }, "items": [ { object ( |
Fields | |
---|---|
timestamp |
REQUIRED: Timestamp of when the order was made. |
order |
REQUIRED: A string uniquely identifying this order. |
sub |
REQUIRED: Total amount of this order before tax. |
total |
REQUIRED: Total amount of this order including tax. |
shipping |
OPTIONAL: Shipping address for the physical items in this order. |
items[] |
REQUIRED: List of items that were part of this order. |
taxes[] |
REQUIRED: List of taxes that were part of this order. This list may be empty. |
Item
Information about an item in the order.
JSON representation |
---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": { object (Amount) }, "googleProductName": string } |
Fields | |
---|---|
description |
REQUIRED: A description of the item that was purchased. |
merchant |
REQUIRED: The seller, artist, or maker of the item. |
quantity |
OPTIONAL: The quantity that were ordered of this item. This field will be omitted if integer quantities are not applicable to the product (metered products may have fractional quantities for example). |
total |
REQUIRED: The total price of this item. |
google |
REQUIRED: Name of the Google product service for the item. |
Tax
Information about a tax that applies to this order.
JSON representation |
---|
{ "description": string, "amount": { object (Amount) } } |
Fields | |
---|---|
description |
REQUIRED: A description of the tax. |
amount |
REQUIRED: The amount of the tax. |
Payment
Information about the payment.
JSON representation |
---|
{ "billingAddress": { object (Address) }, "amount": { object (Amount) }, "refunds": [ { object ( |
Fields | |
---|---|
billing |
REQUIRED: Billing address for this payment. |
amount |
REQUIRED: Amount of this payment. |
refunds[] |
REQUIRED: List of refunds made to this payment. This list may be empty. |
Union field
|
|
card |
OPTIONAL: Payment details specific to credit & debit card FoPs. |
Refund
Information about a refund made on a payment.
JSON representation |
---|
{ "amount": { object (Amount) }, "initiatedTimestamp": { object (Timestamp) } } |
Fields | |
---|---|
amount |
REQUIRED: The amount refunded. |
initiated |
REQUIRED: Timestamp of when the refund was initiated. |
PaymentCardDetails
Payment details specific to credit & debit cards.
JSON representation |
---|
{
"authResult": enum ( |
Fields | |
---|---|
auth |
REQUIRED: Result of payment auth. |
AuthResult
Payment auth results.
Enums | |
---|---|
UNKNOWN_RESULT |
Do not ever set this default value. |
APPROVED |
Auth approved. |
DENIED |
Auth denied. |
NOT_ATTEMPTED |
Auth not attempted. |