# Notificaciones
Cómo verificar notificaciones.
Una vez que el banco confirme el payout, transfersmile enviará una notificación a la URL de notificación del merchant informándole del resultado de la transacción. Esta URL se define al enviar el payout, mediante el parámetro notify_url para cada solicitud de payout. La notificación se volverá a intentar 6 veces cuando se haya producido un error en el procesamiento.
# Post
$notify_url which defined when submitting the payout transaction.
# Notifcation
Notification Parameters
# Parameters
# Header
Content-Type* | string | application/json; chartset=UTF-8 |
Authorization* | string | SHA256($sorted_params + $app_key) |
# Body
payoutId* | string | ID de transacción de transfersmile |
custom_code* | string | merchant custom_code |
status* | string | PAID or REJECTED |
msg | string | Mensaje success o rejected |
timestamp* | string | unix timestamp |
# Responses
200 | Merchant process the callback, and response "success" |
success
# Verificación de Autorización
Obtén parámetros de body del callback, y ordene ascendentemente.
Concatenar sorted_params con app_key.
Use sha256(sorted_params + app_key) para generar App Authorization.
Obtén transfersmile Authorization desde el encabezado del callback.
Verifica si transfersmile Authorization concuerda con App Authorization.
TIP
Al ordenar los parámetros, elimine los que no tienen valor.
# Notificación de Eventos
PAID
REJECTED
REFUNDED
TIP
Hasta ahora, SPEI & transfersmile Wallet permite la notificación REFUNDED.
# Ejemplo de Notificación
curl --location --request POST $your_notify_url \
--header 'Authorization: $transfersmile_authorization' \
--header 'Content-Type: application/json' \
--data-raw '{
"payoutId": "TS202202071548044sGt3ADbmpGsPB",
"custom_code": "custom_code_test",
"status": "PAID",
"msg": "success",
"timestamp": 1628564650
}'
# Reintentos de notificación
transfersmile enviará notificaciones con el siguiente cronograma de reintentos y tiempos de espera de confirmación. Debe devolver un HTTP STATUS 200 (OK) con el data response "success" antes de que expire el tiempo correspondiente. De lo contrario, se asumirá que no lo recibió correctamente y se le notificará nuevamente.
Se recomienda que responda a la notificación antes de ejecutar business logic o antes de acceder a los recursos externos para no exceder los tiempos de respuesta estimados.
Esta comunicación es exclusivamente entre los servidores de transfersmile y su servidor, por lo que no habrá un usuario físico viendo ningún tipo de resultado.
Evento | Tiempo luego del primer envío |
---|---|
Envío | -- |
1st intento | 10 minutos |
2nd intento | 30 minutos |
3rd intento | 60 minutos |
4th intento | 120 minutos |
5th intento | 360 minutos |
6th intento | 840 minutos |
# Lista IP de Notificaciones
- 13.52.172.128
- 54.151.3.172
- 104.233.212.11 (Sandbox)
- 52.9.118.255
- 54.151.20.116
- 107.148.232.114 (Sandbox)
TIP
Nuestras notificaciones se enviarán desde estas direcciones IP, por favor agréguelas a su whitelist.