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=

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