- HTTP request
- Request body
- Response body
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- CaptureRequestCriteria
- RequestOriginator
- GetDisputeInquiryReportResponse
- GetDisputeInquiryReportResultCode
- 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.
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,
"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"
}
}
An example response looks like:
{
"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 request
POST https://vgw.googleapis.com/gsp/e-wallets-v1/getDisputeInquiryReport/:PIAID
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "requestHeader": { object (RequestHeader) }, "paymentIntegratorAccountId": string, "paymentLookupCriteria": { object ( |
Fields | |
---|---|
request |
REQUIRED: Common header for all requests. |
payment |
REQUIRED: The payment integrator account identifier that identifies the caller and associated contractual constraints for this interaction. |
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 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 Capture Request ID. |
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 Capture Request ID
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 caller is an intermediary service provider that sources requests 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": enum ( |
Fields | |
---|---|
response |
REQUIRED: Common header for all responses. |
result |
REQUIRED: Result of this call. |
google |
OPTIONAL: A Google-generated string that uniquely identifies this customer dispute. (Present if and only if If |
report |
OPTIONAL: Details relevant to the dispute of the payment identified in the request. (Present if and only if |
GetDisputeInquiryReportResultCode
The result of the getDisputeInquiryReport
method call.
Enums | |
---|---|
UNKNOWN_RESULT |
Do not ever set this default value! |
SUCCESS |
The payment was found and a report is provided. |
PAYMENT_NOT_FOUND |
The requested payment was not found. |
PAYMENT_TOO_OLD |
The requested payment was found, but a report was not provided due to the age of the payment. |
ORDER_CANNOT_BE_RETURNED |
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_ADDITIONAL_DETAILS |
The requested payment was found, but a report is not available. |
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 |
REQUIRED: Information regarding the order on which the payment was made. |
payment |
OPTIONAL: 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. Not available for all order types. |
CustomerAccount
Information about the customer's account
JSON representation |
---|
{ "customerEmail": string, "customerName": string } |
Fields | |
---|---|
customer |
REQUIRED: The email address associated with the customer’s Google account. |
customer |
REQUIRED: The customer’s name. |
Order
Information about the order.
JSON representation |
---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "shippingAddress": { object (Address) }, "items": [ { object ( |
Fields | |
---|---|
timestamp |
OPTIONAL: Timestamp of when the order was made, represented as milliseconds since epoch. Not available for all order types. |
order |
OPTIONAL: A string uniquely identifying this order. Not available for all order types. |
currency |
OPTIONAL: ISO 4217 3-letter currency code for all amounts in this order. Not available for all order types. |
sub |
OPTIONAL: Total amount of this order before tax, represented as micros of the currency specified in |
total |
OPTIONAL: Total amount of this order including tax, represented as micros of the currency specified in |
shipping |
OPTIONAL: Shipping address for physical items in this order. |
items[] |
REQUIRED: List of items that were part of this order. |
taxes[] |
REQUIRED: List of items 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": string, "googleProductName": string } |
Fields | |
---|---|
description |
OPTIONAL: A description of the item that was purchased. Not available for all order types. |
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 |
OPTIONAL: The total price of this item, represented as micros of the currency specified in |
google |
REQUIRED: Name of Google product service for the item. |
Tax
Information about a tax that applies to this order.
JSON representation |
---|
{ "description": string, "amount": string } |
Fields | |
---|---|
description |
REQUIRED: A description of the tax. |
amount |
REQUIRED: The amount of the tax, represented as micros of the currency specified in |
Payment
Information about the payment.
JSON representation |
---|
{ "billingAddress": { object (Address) }, "amount": string, "refunds": [ { object ( |
Fields | |
---|---|
billing |
REQUIRED: Billing address for this payment. |
amount |
REQUIRED: Amount of this payment, represented as micros of the currency specified in |
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": string, "initiatedTimestamp": string } |
Fields | |
---|---|
amount |
REQUIRED: The amount refunded, a positive number of micros of the currency specified in |
initiated |
REQUIRED: Timestamp of when the refund was initiated, represented as milliseconds since epoch. |
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. |