Method: refundResultNotification

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 controlar 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 presenta Google al programar un reintento para un futuro.

El valor refundResult es idempotente para este refundRequestId, por lo que no se puede cambiar en una llamada posterior a este método.

Si el extremo encuentra un error mientras se procesa la solicitud, la respuesta de este extremo será del tipo ErrorResponse.

Es posible que las respuestas a esta consulta estén vacías si este método no muestra un HTTP 200. El cuerpo de la respuesta está vacío en los casos en que se pueda usar un elemento ErrorResponse con una descripción clara para ayudar a un atacante a comprender el identificador de la cuenta del integrador de pagos de otros integradores. En estos casos, en los que la clave de firma no coincide, no se encontró el identificador del integrador de pago o la clave de encriptación es desconocida, este método mostrará un HTTP 404 con un cuerpo vacío. Si se pudo verificar la firma de la solicitud, se mostrará información adicional sobre el error en el cuerpo de la respuesta.

Una solicitud de ejemplo se ve de la siguiente manera:


{
  "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 (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
Campos
requestHeader

object (RequestHeader)

OBLIGATORIO: Es un encabezado común para todas las solicitudes.

paymentIntegratorAccountId

string

OBLIGATORIO: Es el identificador de la cuenta del integrador de pagos en el que se realizó el reembolso.

refundRequestId

string

OBLIGATORIO: Es un identificador único para este reembolso, establecido por el campo requestId cuando se llama al método refund.

refundResult

enum (RefundResultCode)

OBLIGATORIO: Resultado de este reembolso.

paymentIntegratorRefundId

string

OBLIGATORIO: 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

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 (ResponseHeader)
  },
  "result": enum (RefundResultNotificationResultCode)
}
Campos
responseHeader

object (ResponseHeader)

OBLIGATORIO: Es el encabezado común para todas las respuestas.

result

enum (RefundResultNotificationResultCode)

OBLIGATORIO: Resultado de esta llamada.

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 y 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.

RefundResultNotificationResultCode.

Códigos de resultado para el método refundResultNotification

Enumeradores
UNKNOWN_RESULT No establezcas este valor predeterminado.
SUCCESS La notificación de resultado del reembolso se realizó correctamente.