Payout Webhooks

Webhooks provide the most effective method to track the state of payouts. Every time the status of a payout changes, a webhook will be sent to any of the addresses that you have added in the dashboard.


Set up webhooks:
  1. Log into the dashboard
  2. Click “Webhooks” under the API menu
  3. Select “+ Add URL”

Delivery Attempts and Retries

Every webhook that receives a non-200 response will be considered a failure. If there is a delivery failure, we will retry the delivery for up to 3 hours.


Handling Events

You can identify payout updates from the “event” property in the webhook payload. Payout updates will have "event" :" payout-update”. There may be other webhook events with a different “event” value (i.e "deposit-update”) which are not related to payouts.


Duplicate Events

Every payout has a unique identifier ‘payout_id’. On some occasions, it is possible to receive multiple webhooks for the same payout event.


Order of Events

The “status” property in the event payload can be "pending" "completed" or "failed". The status will always start out as "pending", then it will change to "completed" or "failed". On some occasions a "completed" payout may change to "failed".


Amounts

Two amounts may be included in status updates:

  • “verified_amount”: this is the amount that is verified by our system.
  • “amount”: this is the amount which is posted to the ‘stat deposit’ endpoint.

It is very unlikely that the amounts will be different; however, please only use ‘verified_amount’ for your records when a payout status is updated to 'completed'.


Validation

When adding a webhook URL in the dashboard, it is recommended to include a secret. This will be used to create a hash signature with each payload that is passed with each request under the 'X-Nitro-Signature' header. The hash signature is calculated using HMAC with SHA256 algorithm, with your webhook secret set as the key and the webhook request body as the message.

A set of IP addresses will be provided that you can whitelist.