- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- CaptureRequestCriteria
- RequestOriginator
- GetDisputeInquiryReportResultCode
- PurchaseReport
- CustomerAccount
- Pedido
- Dirección
- Elemento
- Impuestos
- Pago
- Reembolso
- PaymentCardDetails
- AuthResult
Obtén un informe que brinde información para facilitar una conversación de asistencia al cliente con un usuario en relación con una posible disputa por un pago.
Si el extremo encuentra un error mientras procesa la solicitud, la respuesta de este extremo será del tipo .ErrorResponse
Es posible que las respuestas de esta consulta estén vacías si este método no muestra un HTTP 200. El cuerpo de la respuesta estará vacío en situaciones en las que se pueda usar una con una descripción clara para ayudar a un atacante a comprender el identificador de cuenta del integrador de pagos de otros integradores. En estas situaciones, en las que la clave de firma no coincide, no se encontró el identificador del integrador de pagos o se desconocía la clave de encriptación, este método mostrará un error HTTP 404 con un cuerpo vacío. Si se puede verificar la firma de la solicitud, se devolverá información adicional sobre el error en el cuerpo de la respuesta.ErrorResponse
A continuación, se muestra una solicitud de ejemplo:
{
"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"
}
}
Una respuesta de ejemplo se ve de la siguiente manera:
{
"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"
}
}
}
}
Solicitud HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getDisputeInquiryReport/:PIAID
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
| Representación JSON |
|---|
{ "requestHeader": { object ( |
| Campos | |
|---|---|
requestHeader |
REQUIRED: Encabezado común para todas las solicitudes |
paymentIntegratorAccountId |
OBLIGATORIO: Es el identificador de la cuenta del integrador de pagos que identifica al emisor y las restricciones contractuales asociadas para esta interacción. |
paymentLookupCriteria |
OBLIGATORIO: Son los criterios que indican el pago que se debe buscar para la consulta. |
existingGoogleClaimId |
OPCIONAL: Cadena generada por Google que se muestra en una llamada anterior a Si no aparece, se generará un nuevo ID de reclamo. El llamador puede proporcionar un El ID de reclamo que se propaga aquí o que se genera se mostrará en el campo No es válido proporcionar un |
requestOriginator |
OBLIGATORIO: Incluye información sobre la organización o el subgrupo de la organización que originó esta solicitud. |
Cuerpo de la respuesta
Carga útil de respuesta para el método getDisputeInquiryReport.
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
| Representación JSON |
|---|
{ "responseHeader": { object ( |
| Campos | |
|---|---|
responseHeader |
REQUIRED: Encabezado común para todas las respuestas |
result |
OBLIGATORIO: Es el resultado de esta llamada. |
googleClaimId |
OPCIONAL: Es una cadena generada por Google que identifica de manera única la disputa del cliente. (Presente solo si Si se propagó |
report |
OPCIONAL: Son los detalles relevantes para la disputa por el pago identificado en la solicitud. (Presente solo si |
PaymentLookupCriteria
Contenedor de criterios que pueden buscar un pago de manera única. Se debe completar un campo de miembro (y solo uno).
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión
|
|
arnCriteria |
OPCIONAL: Búsqueda basada en el número de referencia del adquiriente (ARN). |
googleTransactionReferenceNumberCriteria |
OPCIONAL: Permite buscar según el número de referencia de transacción de Google. |
captureRequestCriteria |
OPCIONAL: Busca a partir del ID de solicitud de captura. |
ArnCriteria
Criterios de búsqueda de pagos basados en el número de referencia del adquirente (ARN).
| Representación JSON |
|---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
| Campos | |
|---|---|
acquirerReferenceNumber |
OBLIGATORIO: El número de referencia del adquirente (ARN) que identifica el pago de forma inequívoca. Debe tener 23 dígitos. |
authorizationCode |
OBLIGATORIO: Es el código de autorización de la transacción. |
GoogleTransactionReferenceNumberCriteria
Criterios de búsqueda de pagos basados en el número de referencia de transacción generado por Google.
| Representación JSON |
|---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
| Campos | |
|---|---|
googleTransactionReferenceNumber |
OBLIGATORIO: El número de referencia de transacción generado por Google que identifica el pago de forma inequívoca. |
authorizationCode |
OBLIGATORIO: Es el código de autorización de la transacción. |
CaptureRequestCriteria
Criterios de búsqueda de pagos basados en la solicitud de captura original.
| Representación JSON |
|---|
{ "captureRequestId": string } |
| Campos | |
|---|---|
captureRequestId |
REQUIRED: Es un identificador único para esta transacción. Este es el |
RequestOriginator
Información sobre la organización o el subgrupo de la organización y, opcionalmente, el empleado, del cual se originó esta solicitud. Esto permite que Google identifique problemas o abusos, además de implementar controles a un nivel más detallado que paymentIntegratorAccountId. Resulta muy valioso cuando el emisor es un proveedor de servicios intermediario que obtiene solicitudes de varios clientes externos.
| Representación JSON |
|---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
| Campos | |
|---|---|
organizationId |
OBLIGATORIO: Es un identificador de la empresa, la organización o el grupo organizativo donde se originó esta solicitud. Debe ser único en este |
organizationDescription |
OBLIGATORIO: Un nombre o una descripción legible por humanos de la organización que pueda usarse para facilitar la comunicación entre los empleados de Google y el integrador en relación con esa organización. |
agentId |
OPCIONAL: Un identificador único para el agente específico (empleado) de la organización, identificado por |
GetDisputeInquiryReportResultCode
Es el resultado de la llamada de método getDisputeInquiryReport.
| Enumeraciones | |
|---|---|
UNKNOWN_RESULT |
No establezcas nunca este valor predeterminado. |
SUCCESS |
Se encontró el pago y se proporcionó un informe. |
PAYMENT_NOT_FOUND |
No se encontró el pago solicitado. |
PAYMENT_TOO_OLD |
Se encontró el pago solicitado, pero no se proporcionó un informe debido a la antigüedad del pago. |
ORDER_CANNOT_BE_RETURNED |
El pago solicitado pertenece a un pedido que ya existe, pero no se puede devolver. Entre los motivos, se incluyen los casos en los que el pedido se eliminó a pedido del propietario. |
NO_ADDITIONAL_DETAILS |
Se encontró el pago solicitado, pero no hay un informe disponible. |
PurchaseReport
Un informe que contiene detalles relevantes de la compra asociada con el pago solicitado.
| Representación JSON |
|---|
{ "customerAccount": { object ( |
| Campos | |
|---|---|
customerAccount |
OBLIGATORIO: Incluye información sobre el cliente y su cuenta. |
order |
OBLIGATORIO: Incluye información sobre el pedido en el que se realizó el pago. |
payment |
OPCIONAL: Incluye información relacionada con el pago. Nota: Se pueden realizar varios pagos en un único pedido, pero este solo incluirá la información del pago que se identificó en la solicitud original. No está disponible para todos los tipos de pedido. |
CustomerAccount
Información sobre la cuenta del cliente
| Representación JSON |
|---|
{ "customerEmail": string, "customerName": string } |
| Campos | |
|---|---|
customerEmail |
OBLIGATORIO: La dirección de correo electrónico asociada con la Cuenta de Google del cliente. |
customerName |
OBLIGATORIO: El nombre del cliente. |
Pedido
Información sobre el pedido.
| Representación JSON |
|---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "shippingAddress": { object ( |
| Campos | |
|---|---|
timestamp |
OPCIONAL: Marca de tiempo del momento en que se realizó el pedido, representada como milisegundos desde el ciclo de entrenamiento. No está disponible para todos los tipos de pedido. |
orderId |
OPCIONAL: Es una cadena que identifica este pedido de forma inequívoca. No está disponible para todos los tipos de pedido. |
currencyCode |
OPCIONAL: Código de moneda ISO 4217 de 3 letras para todos los importes de este pedido. No está disponible para todos los tipos de pedido. |
subTotalAmount |
OPCIONAL: Es el importe total de este pedido sin impuestos, representado como micros de la moneda especificada en |
totalAmount |
OPCIONAL: Es el importe total de este pedido con impuestos incluidos, representado como micros de la moneda especificada en |
shippingAddress |
OPCIONAL: Dirección de envío para los artículos físicos de este pedido. |
items[] |
OBLIGATORIO: Lista de artículos que formaban parte de este pedido. |
taxes[] |
OBLIGATORIO: Lista de artículos que formaban parte de este pedido. Es posible que esta lista esté vacía. |
Dirección
Estructura que contiene información sobre una dirección.
| Representación JSON |
|---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
| Campos | |
|---|---|
name |
OPCIONAL: Nombre completo del cliente. |
addressLine[] |
OPCIONAL: Contiene texto no estructurado de Address. |
localityName |
OPCIONAL: Es un término aproximado, pero generalmente hace referencia a la parte de una dirección que corresponde a la ciudad o el pueblo. En regiones del mundo donde las localidades no están bien definidas o no se ajustan bien a esta estructura (por ejemplo, Japón y China), deja localityName vacío y usa addressLine. Ejemplos: ciudad de EE.UU., comuna de Italia o ciudad postal en el Reino Unido. |
administrativeAreaName |
OPCIONAL: Subdivisión administrativa de nivel superior de este país Ejemplos: Estado de EE.UU., región de TI, provincia de CN, prefectura de Japón”. |
postalCodeNumber |
OPTIONAL: A pesar del nombre, los valores postalCodeNumber suelen ser alfanuméricos. Ejemplos: “94043”, “SW1W” o “SW1W 9TQ”. |
countryCode |
OPCIONAL: Es el código de país de la dirección del cliente, que se espera que sea ISO-3166-1 Alfa-2. |
Elemento
Es la información sobre un artículo del pedido.
| Representación JSON |
|---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
| Campos | |
|---|---|
description |
OPCIONAL: Descripción del artículo que se compró. No está disponible para todos los tipos de pedido. |
merchant |
OBLIGATORIO: Indica el vendedor, el artista o el fabricante del artículo. |
quantity |
OPCIONAL: Indica la cantidad de pedido de este artículo. Este campo se omitirá si las cantidades de números enteros no se aplican al producto (por ejemplo, los productos de uso medido pueden tener cantidades fraccionarias). |
totalPrice |
OPCIONAL: Es el precio total de este elemento, representado como micros de la moneda especificada en |
googleProductName |
OBLIGATORIO: Indica el nombre del servicio de producto de Google para el artículo. |
Impuesto
Información sobre un impuesto que se aplica a este pedido.
| Representación JSON |
|---|
{ "description": string, "amount": string } |
| Campos | |
|---|---|
description |
OBLIGATORIO: Incluye una descripción del impuesto. |
amount |
REQUIRED: Es el importe del impuesto, representado como micros de la moneda especificada en |
Pago
Información sobre el pago.
| Representación JSON |
|---|
{ "billingAddress": { object ( |
| Campos | |
|---|---|
billingAddress |
OBLIGATORIO: Indica la dirección de facturación de este pago. |
amount |
OBLIGATORIO: Es el importe de este pago, representado como micros de la moneda especificada en |
refunds[] |
OBLIGATORIO: Lista de reembolsos realizados a este pago. Es posible que esta lista esté vacía. |
Campo de unión
|
|
cardDetails |
OPCIONAL: Detalles del pago específicos de las cuentas de crédito y FoP de las tarjetas de débito. |
Reembolso
Información sobre un reembolso realizado en un pago.
| Representación JSON |
|---|
{ "amount": string, "initiatedTimestamp": string } |
| Campos | |
|---|---|
amount |
OBLIGATORIO: Es el importe reembolsado, que es una cantidad positiva de micros de la moneda especificada en |
initiatedTimestamp |
REQUIRED: Marca de tiempo del momento en que se inició el reembolso, representada como milisegundos desde el ciclo de entrenamiento. |
PaymentCardDetails
Detalles del pago específicos de las cuentas de crédito y tarjetas de débito.
| Representación JSON |
|---|
{
"authResult": enum ( |
| Campos | |
|---|---|
authResult |
OBLIGATORIO: Es el resultado de la autenticación del pago. |
AuthResult
Resultados de autenticación de pago
| Enumeraciones | |
|---|---|
UNKNOWN_RESULT |
No establezcas nunca este valor predeterminado. |
APPROVED |
Se aprobó la autorización. |
DENIED |
Se rechazó la autenticación. |
NOT_ATTEMPTED |
No se intentó realizar la autenticación. |