Reembolsa una parte o la totalidad de la transacción iniciada a través de capture
. La combinación de requestId
en el encabezado y paymentIntegratorAccountId
es la clave de idempotencia, que identifica de forma exclusiva esta transacción.
Si el extremo encuentra un error mientras procesa la solicitud, el cuerpo de la respuesta de este extremo debe ser del tipo
.ErrorResponse
A continuación, se muestra una solicitud de ejemplo:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "liUrreQY233839dfFFb24gaQM",
"requestTimestamp": "1502220434778"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"currencyCode": "INR",
"refundAmount": "208000000"
}
Una respuesta de ejemplo se ve de la siguiente manera:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}
Solicitud HTTP
POST https://www.integratorhost.example.com/v1/refund
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: Este es el ID de la cuenta del integrador de pagos que define las restricciones contractuales en torno a esta transacción. |
captureRequestId |
REQUIRED: Es un identificador único para esta transacción. Este es el |
currencyCode |
OBLIGATORIO: Código de moneda ISO 4217 de 3 letras |
refundAmount |
OBLIGATORIO: El importe del reembolso, una cantidad positiva de micros de la unidad de moneda. |
Cuerpo de la respuesta
Objeto de respuesta para el método de reembolso.
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 |
paymentIntegratorRefundId |
OPCIONAL: 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. |
result |
OBLIGATORIO: Es el resultado de este reembolso. |
rawResult |
OPCIONAL: Es el resultado sin procesar de este reembolso. Se usa para ayudar a fundamentar el motor de riesgos y las estadísticas de Google. En situaciones en las que se genera una asignación de código de rechazo, a veces se pierden los datos. El integrador puede optar por darle a Google un código sin procesar. Por ejemplo, una puerta de enlace de tarjeta de crédito (el integrador) puede usar este campo para comunicar a Google el código de rechazo exacto que se recibió de la red VISA. En ese caso, la Este valor es obligatorio si |
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 |
v1.refund falló, 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. |