- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- RefundResultCode
- RefundResultNotificationResultCode
Notifica a Google el resultado de un reembolso después de que se haya realizado una llamada al método refund.
Los reembolsos se deben administrar de forma síncrona durante la llamada al método refund, pero este método le proporciona a Google una señal de copia de seguridad rápida en caso de que la llamada síncrona falle después de realizar la acción, pero antes de que pueda mostrar un resultado. Esto evita el retraso que genera Google cuando programa un reintento para un momento futuro.
El valor refundResult es idempotente para este refundRequestId, por lo que su valor no se puede cambiar con una llamada posterior a este método.
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": "1481855928301"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
"paymentIntegratorRefundId": "invisi/Id::xx__1243",
"refundResult": "SUCCESS"
}
Una respuesta de ejemplo se ve de la siguiente manera:
{
"responseHeader": {
"responseTimestamp": "1481855928376"
},
"result": "SUCCESS"
}
Solicitud HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/refundResultNotification/: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 en el que se realizó el reembolso. |
refundRequestId |
OBLIGATORIO: Es el identificador único de este reembolso, establecido por el campo |
refundResult |
OBLIGATORIO: Es el resultado de este reembolso. |
paymentIntegratorRefundId |
REQUIRED: Este identificador es específico del integrador y lo genera este. Este es el identificador con el que el integrador conoce este reembolso. Para mayor comodidad, este identificador se incluye en los detalles de la remesa. |
Cuerpo de la respuesta
Objeto de respuesta para el método refundResultNotification
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. |
RefundResultCode
Los reembolsos de los códigos de resultado únicos
| Enumeraciones | |
|---|---|
UNKNOWN_RESULT |
No establezcas nunca este valor predeterminado. |
SUCCESS |
El reembolso se realizó correctamente. |
NO_MONEY_LEFT_ON_TRANSACTION |
No se pudo realizar el reembolso. No queda dinero en la transacción. Por lo general, representa un error entre el integrador y Google. Google no debe solicitar un reembolso por un importe superior al de la captura original. |
ACCOUNT_CLOSED |
Se cerró la cuenta retenida con el integrador. Devolver este valor hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un nuevo instrumento siguiendo el flujo de asociación nuevamente. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Se cerró la cuenta del usuario con el integrador, por lo que se sospecha que se realizó una apropiación de la cuenta. Devolver este valor hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un nuevo instrumento siguiendo el flujo de asociación nuevamente. |
ACCOUNT_CLOSED_FRAUD |
La cuenta del usuario que se retuvo con el integrador se cerró debido a un fraude. Devolver este valor hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un nuevo instrumento siguiendo el flujo de asociación nuevamente. |
ACCOUNT_ON_HOLD |
Actualmente, la cuenta del usuario está suspendida y no puede aceptar el reembolso, pero es posible que la cuenta del usuario más adelante pueda aceptar el reembolso. Es posible que Google solicite otro reembolso en el futuro, pero lo hará con un nuevo requestId, por lo que esta solicitud debe considerarse finalizada. |
REFUND_EXCEEDS_MAXIMUM_BALANCE |
No se puede procesar el reembolso en este momento porque, si lo hiciera, el saldo del usuario excedería el importe máximo permitido. Es posible que Google solicite otro reembolso en el futuro, pero lo hará con un nuevo requestId, por lo que esta solicitud debe considerarse finalizada. |
REFUND_WINDOW_EXCEEDED |
No se puede procesar el reembolso porque la solicitud está fuera del período de reembolso permitido. |
RefundResultNotificationResultCode
Códigos de resultado para el método refundResultNotification
| Enumeraciones | |
|---|---|
UNKNOWN_RESULT |
No establezcas nunca este valor predeterminado. |
SUCCESS |
La notificación del resultado del reembolso se realizó correctamente. |