Listening for webhooks to update settlement status
We covered how to create a webhook listener in getting setup guide. If you haven't done this already, go back to this step to get ready to receive webhooks.
If you usewalletID
in the request that produces the webhook, note that you will also receive this field in the webhook response. In this case, you can ignoremerchantID
, since merchantId will be discontinued soon.
In the payout workflow you should expect to receive the following webhooks:
Event | Description |
---|---|
statusChanged | The payout has transitioned to a new state. |
{
"source": "payment",
"event": "statusChanged",
"data": {
"uuid": "0e135a7e-82e5-4b59-8682-d6e7db362c1d",
"merchantId": "9a57c17a-1eef-48ff-83d0-b5892c99f767",
"dateCreated": 1633010474797,
"expiryDate": 1633014067303,
"reference": "af1f5c35-a818-4493-957b-8678f6b90ff6",
"type": "OUT",
"status": "PROCESSING",
"displayCurrency": {
"currency": "JPY",
"amount": 5000,
"actual": 5000
},
"walletCurrency": {
"currency": "EUR",
"amount": 38.59,
"actual": 38.59
},
"paidCurrency": {
"currency": null,
"amount": 0,
"actual": 0
},
"feeCurrency": {
"currency": "EUR",
"amount": 0.38,
"actual": 0.38
},
"displayRate": {
"base": "EUR",
"counter": "JPY",
"rate": 129.567245400362788287
},
"exchangeRate": {
"base": "USDT",
"counter": "EUR",
"rate": 0.545751261991275176
},
"address": {
"protocol": null,
"address": "THr6oYBp7mgUHiLoxYcqKtoKneKvEhyE22",
"tag": "[]"
},
"redirectUrl": null,
"returnUrl": "https://yourwebsitename.com",
"transactions": [
{
"dateCreated": 1633010478635,
"dateConfirmed": null,
"hash": null,
"amount": 21.0605412,
"risk": "UNKNOWN",
"networkFeeCurrency": null,
"networkFeeAmount": null,
"sources": null,
"exchangeRate": {
"base": "USDT",
"counter": "EUR",
"rate": 1.8323365783
},
"displayRate": {
"base": "JPY",
"counter": "USDT",
"rate": 0.007718
}
}
]
}
}
Once you've seen the status transition to COMPLETE
you'll be able to tell your merchant that the funds have settled.
Updated 2 days ago