Remittance Status Webhook Version 1.2#
SHIFT provides a webhook callback service to notify Send Agents when a remittance status changes to a final state:
PaidoutCanceledRefunded
When a status update occurs, SHIFT sends an HTTP POST request to the partner’s registered webhook URL.
Webhook Endpoint#
Partners must expose an HTTPS endpoint to receive webhook notifications.
Requirements#
- HTTPS is mandatory
- Endpoint must accept JSON payloads
- Webhook calls are secured using a secret token in the request header:
The tokens for Demo & Production environments will be provided by API Support team.
X-Shift-Token Handling#
The partner must:
- Read the
X-Shift-Tokenheader - Validate it against the stored secret token
- Reject the request if the token is invalid
Recommended Responses#
| Scenario | Response |
|---|---|
| Valid request | 200 OK |
| Invalid token | 401 Unauthorized or 403 Forbidden |
Webhook Payload#
SHIFT sends a JSON payload in the request body.
Fields Description#
| Field | Type / Format | Description |
|---|---|---|
| eventId | String | Unique identifier for the webhook event |
| reference | String | Remittance tracking code (agent reference if provided) |
| shiftReference | Integer (int64) | SHIFT remittance number (11–14 digits) |
| currentStatus | String | Current transfer status |
| attempt | Integer | Webhook delivery attempt number |
| description | String | Only for Canceled status (reason) |
| updatedAt | dd/MM/yyyy hh:mm:ss a |
Datetime when webhook was sent |
| statusDate | dd/MM/yyyy hh:mm:ss a |
Datetime when status changed |
Retry Policy#
SHIFT retries delivery if the webhook endpoint either:
- Does not return HTTP 200 OK
- Times out
- Is unreachable
Retry Schedule#
| Attempt | Delay |
|---|---|
| 1st failure | After 1 minute |
| 2nd failure | After 5 minutes |
| 3rd failure | After 30 minutes |
| 4th failure | After 1 hour |
| 5th failure | After 2 hours |
Additional Rules#
- Each retry increments the
attemptfield - Maximum retry attempts: 5
- After 5 failures → webhook marked as FAILED
- Email notification is sent after final failure
Tip
Ensure your webhook endpoint responds within 5 seconds to avoid retries.
Email notification#
After final failure, SHIFT sends an email alert to the partner.
Important Notes#
- SHIFT logs all webhook delivery attempts for audit and troubleshooting purposes.
- Webhooks are delivered at least once
- Delivery order is not guaranteed
- Partner should handle duplicate events safely
