transfer.status_changed
Sent to the sending business when a transfer it sent moves to a new status, such as completed or failed. The receiving business gets transfer.received instead. Answer with any 2xx within 10 seconds. Anything else, a timeout or a redirect is retried up to 6 times over about a day. Events can arrive out of order, so compare statuses rather than trusting arrival order.
transfer.status_changedWebhookWebhook-IdstringrequiredThe event id. The same event can arrive more than once; use this to ignore repeats.
Webhook-TimestampstringrequiredUnix seconds when this attempt was signed. Reject a delivery older than 5 minutes.
Webhook-Signaturestringrequiredv1, then a comma, then the base64 HMAC-SHA256 of "{Webhook-Id}.{Webhook-Timestamp}.{raw body}" keyed with your endpoint's signing secret. Compare in constant time.
application/jsonidstringrequiredThe event id, the same as the Webhook-Id header.
typestringrequiredcreatedAtstring<date-time>requiredWhen the change happened.
dataTransferrequiredThe transfer as it stood when the event was sent. The recipient's handle and name are not carried; fetch the transfer by reference when you need them.
Show propertiesHide properties
referencestringrequiredamountstringrequiredA decimal string in major units.
currencystringrequiredstatusstringrequiredWhere the transfer stands: pending, held, completed, declined or failed. Others can appear, so do not treat this list as closed.
recipientHandlestringReturned when you send.
recipientNamestringThe handle's display name, else the recipient's trading name, else registered name, when known.
failureReasonstringWhy a declined or failed transfer did not go through. Left out otherwise.
createdAtstring<date-time>Received. Any 2xx stops retries.