# Notification

How to verify our notifications.

Once the payout is confirmed by the bank, transfersmile will send a notification to the merchant notification URL informing you of the result of the transaction. This URL is defined when submitting the payout transaction, by using the notify_url parameter for each payout request. Notification will retry 6 times when your processing failed.

# Post

$notify_url which defined when submitting the payout transaction.

# Notifcation

Notification Parameters

# Parameters

Content-Type* string application/json; chartset=UTF-8
Authorization* string SHA256($sorted_params + $app_key)

# Body

payoutId* string transfersmile transaction id
custom_code* string merchant custom_code
status* string PAID or REJECTED
msg string success or rejected message
timestamp* string unix timestamp

# Responses

200 Merchant process the callback, and response "success"
success

# Authorization Check

  • Get callback's body parameters, and sort them ascendingly.

  • Concatenate sorted_params with app_key.

  • Use sha256(sorted_params + app_key) to generate App Authorization.

  • Get transfersmile Authorization from callback's Header.

  • Verify if transfersmile Authorization matches with App Authorization.

TIP

When sorting parameters, strip the ones with no value.

# Notification Events

  • PAID

  • REJECTED

  • REFUNDED

TIP

By now, both SPEI & transfersmile Wallet supported _REFUNDED_notification .

# Notification Example

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
}'

# Notification Retries

transfersmile will send notifications with the following schedule of retries and confirmation awaiting times. You must return an HTTP STATUS 200 (OK) with response data "success" before the corresponding time expires. If not, it will be assumed that you did not receive it correctly and you will be notified again.

It is recommended that you respond to the notification before executing business logic or prior to accessing external resources so as not to exceed the estimated response times.

This communication is exclusively between the servers of transfersmile and your server, so there will not be a physical user seeing any type of result.

Event Time after first dispatch
Dispatch --
1st retry 10 minutes
2nd retry 30 minutes
3rd retry 60 minutes
4th retry 120 minutes
5th retry 360 minutes
6th retry 840 minutes

TIP

Our notifications will be sent from these IP addresses, please add them to your whitelist.