Skip to content
iSmartPay Developers
Esc
↑↓navigate↵open⌘Jpreview

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.

POSTtransfer.status_changedWebhook
Header parameters
Webhook-Idstringrequired

The event id. The same event can arrive more than once; use this to ignore repeats.

Webhook-Timestampstringrequired

Unix seconds when this attempt was signed. Reject a delivery older than 5 minutes.

Webhook-Signaturestringrequired

v1, 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.

Request body
requiredapplication/json
idstringrequired

The event id, the same as the Webhook-Id header.

typestringrequired
createdAtstring<date-time>required

When the change happened.

dataTransferrequired

The 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 properties
referencestringrequired
amountstringrequired

A decimal string in major units.

currencystringrequired
statusstringrequired

Where the transfer stands: pending, held, completed, declined or failed. Others can appear, so do not treat this list as closed.

recipientHandlestring

Returned when you send.

recipientNamestring

The handle's display name, else the recipient's trading name, else registered name, when known.

failureReasonstring

Why a declined or failed transfer did not go through. Left out otherwise.

createdAtstring<date-time>
Responses
2XX

Received. Any 2xx stops retries.

Payload
{
  "id": "string",
  "type": "transfer.status_changed",
  "createdAt": "2019-08-24T14:15:22Z",
  "data": {
    "reference": "string",
    "amount": "25.00",
    "currency": "GHS",
    "status": "string",
    "recipientHandle": "string",
    "recipientName": "string",
    "failureReason": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  }
}
Response
Received. Any 2xx stops retries.