Proceso de Notificación

Notificación

Una notificación será enviada cada vez que cambie el status de un retiro.

Por razones de seguridad no enviamos el estado del retiro en la notificación. Una vez que enviamos la notificación, puede ser sacada utilizando el Endpoint de Estado de Retiro.

Las notificaciones serán enviadas a la notification_url en el request, o por de default en la "URL de Retiros" que está configurada en su panel vía POST protocolo en el formato x-www-form-urlencoded.

Testing en Staging

En el entorno STG, puede forzar que se envíe una notificación a su URL de notificación desde el Panel de Comerciantes de STG yendo a la página Transacciones -> Retiros, abriendo la transacción de retiro y haciendo clic en una de las opciones que aparecerán al hacer clic en el botón de tres puntos en la parte superior derecha de la pantalla. Esas opciones cambiarán el estado del retiro y enviarán la notificación respectiva después de unos minutos.

Respuesta de la notificación

    date=2020-03-12%2020%3A26%3A11
    &bank_reference_id=
    &comments=
    &external_id=cashoutV35381
    &control=A4CFF64E78C4BD01F8BFCA4AFF04632EC4A33CC61BD6BBD156BA1289897892EB
    &cashout_id=60067
    &status_reason=

Campo

Formato

Descripción

date

Fecha. Formato: YYYY-MM-DD HH:MM:SS (GMT)

Fecha que el retiro cambio su estado

bank_reference_id

string

(max length 50)

Id de referencia del banco (si aplica)

comments

string

(max length 200)

Comentarios (si aplica)

external_id

string

(max length 100)

ID del retiro que enviaron al crearlo

control

string

Control signature de la notificacion

cashout_id

number

ID del retiro de nuestro lado

status_reason

string

Razon del estado (si aplica)

El control string de las notificaciones está compuesto por caracteres aleatorios al principio y al fin del request, y la external_id recibido en el medio.

El control string debería ser generado utilizando su secret key (API Signature) y debe estar en mayúsculas.

Asegurarse de convertir el mensaje a hash en formato UTF-8 para prevenir errores.

Ejemplos:

public static void main(String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeyException {
      String external_id = "cashoutID1234";
      String message = "Be4" + external_id + "Bo7";
      String apiSignature = "your_deposits_api_signature";

      Mac hasher = Mac.getInstance("HmacSHA256");
      hasher.init(new SecretKeySpec(apiSignature.getBytes(StandardCharsets.UTF_8), "HmacSHA256"));
      byte[] result = hasher.doFinal(message.getBytes(StandardCharsets.UTF_8));

      System.out.println(StringUtils.upperCase(DatatypeConverter.printHexBinary(result)));
}

Lógica de Reintentos y Reenvió de Notificaciones

Cada vez que el estado del retiro cambie, enviaremos una notificación con este cambio.

En caso de que su servidor no pueda recibir la notificación, y fue devuelto un código HTTP code diferente a 2XX, se reintentará enviar la notificación 5 veces o hasta que un código HTTP 2XX sea presente, lo que pase primero.

En caso de errores, asegúrense de que la notificación enviada sea distinta a una con código HTTP 2XX, así se reintenta automáticamente.

Última actualización