Reembolsa una parte o la totalidad de la transacción iniciada a través de capture
. La combinación de requestId
dentro del encabezado y paymentIntegratorAccountId
es la clave de idempotencia, que identifica de forma única esta transacción.
Si el extremo encuentra un error mientras se procesa la solicitud, el cuerpo de la respuesta de este extremo debe ser del tipo
.ErrorResponse
Una solicitud de ejemplo se ve de la siguiente manera:
{
"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 |
OBLIGATORIO: Es un 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 relacionadas con esta transacción. |
captureRequestId |
OBLIGATORIO: Es un identificador único para esta transacción. Este es el |
currencyCode |
OBLIGATORIO: Código de moneda ISO 4217 de 3 letras |
refundAmount |
OBLIGATORIO: Es 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 |
OBLIGATORIO: Es el encabezado común para todas las respuestas. |
paymentIntegratorRefundId |
OPCIONAL: Este identificador es específico del integrador y lo genera el integrador. Es el identificador por el cual el integrador conoce este reembolso. Para mayor comodidad, este identificador se incluye en los detalles de la remesa |
result |
OBLIGATORIO: Resultado de este reembolso. |
rawResult |
OPCIONAL: Resultado sin procesar de este reembolso. Se usa para ayudar a informar el motor de riesgos y las estadísticas de Google. En situaciones de rechazo del código, es posible que se pierdan datos. El integrador puede optar por darle a Google un código sin procesar. Por ejemplo, una puerta de enlace de tarjetas de crédito (el integrador) puede utilizar este campo para comunicar a Google el código de rechazo exacto que se recibió de la red VISA. En ese caso, el Este valor es obligatorio si |
Código de reembolso
Se reembolsan los códigos de resultado únicos.
Enumeradores | |
---|---|
UNKNOWN_RESULT |
No establezcas este valor predeterminado. |
SUCCESS |
El reembolso se realizó correctamente. |
NO_MONEY_LEFT_ON_TRANSACTION |
No se pudo realizar el reembolso v1.Ya no queda dinero en la transacción. Por lo general, esto representa un error entre el integrador y Google. Google no debe solicitar un reembolso de un importe superior al de la captura original. |
ACCOUNT_CLOSED |
Se cerró la cuenta que tiene el integrador. Mostrar este valor hará que se cierre el instrumento de pago con Google. El usuario se verá obligado a agregar un instrumento nuevo nuevamente a través del flujo de asociación. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Se cerró la cuenta del usuario que tiene el integrador y se sospecha que la cuenta tomó el control. Mostrar este valor hará que se cierre el instrumento de pago con Google. El usuario se verá obligado a agregar un instrumento nuevo nuevamente a través del flujo de asociación. |
ACCOUNT_CLOSED_FRAUD |
Se cerró la cuenta del usuario que tenía el integrador debido a un fraude. Mostrar este valor hará que se cierre el instrumento de pago con Google. El usuario se verá obligado a agregar un instrumento nuevo nuevamente a través del flujo de asociación. |
ACCOUNT_ON_HOLD |
Actualmente, la cuenta del usuario está suspendida y no se puede aceptar el reembolso, pero es posible que la cuenta del usuario pueda aceptar el reembolso más tarde. Es posible que Google solicite otro reembolso en el futuro, pero lo hará con un requestId nuevo, por lo que se debe considerar como finalizada. |
REFUND_EXCEEDS_MAXIMUM_BALANCE |
No se puede procesar el reembolso en este momento, ya que esto provocaría que el saldo del usuario supere el importe máximo permitido. Es posible que Google solicite otro reembolso en el futuro, pero lo hará con un requestId nuevo, por lo que se debe considerar como finalizada. |
REFUND_WINDOW_EXCEEDED |
No se puede procesar el reembolso porque la solicitud está fuera del período de reembolso permitido. |