Mandate Webhook
For general webhook mechanics (response requirements, security, IP whitelisting, troubleshooting), see Webhooks - Async Updates. This page covers the webhook events fired for Mandate (direct debit ).
For general webhook mechanics (response requirements, security, IP whitelisting, troubleshooting),
see Webhooks - Async Updates or Webhook Security
Event: MandateStatusChanged
MandateStatusChangedFired on any status transition of a mandate.
Payload fields
user, mandateId, flow, context, psuId, psuCorporateId, accountNumber (BBAN), previousStatus, currentStatus, validUntil, lastActionDate.
{
"timestamp": "2021-03-04T12:26:32.212913+00:00",
"event": "MandateStatusChanged",
"payload": {
"user": "user-00112233",
"mandateId": "7fh64-fjue749-fn378hr004",
"psuId": "222222222",
"psuCorporateId": "519999999",
"accountNumber": "10-123-1234567",
"context": "tx-20250113001",
"previousStatus": "received",
"currentStatus": "valid",
"validUntil": "null",
"lastActionDate": "2025-03-04T12:26:32.212913+00:00"
}
}Event: MandateDataChanged
MandateDataChangedSame payload as MandateStatusChanged, plus data and updatedData. Fired when the mandate's underlying data (amount, frequency, etc.) changes.
Event: MandateAboutToExpire
MandateAboutToExpireFired up to 30 days before a mandate's validUntil.
Payload: user, mandateId, flow, context, currentStatus, validUntil, lastActionDate, data.
Mandate statuses
| Status | Meaning |
|---|---|
received | Request received by the bank |
valid | Active — can be charged |
rejected | Rejected |
partiallyAuthorized | Partially approved — needs further approval (joint account holders / bank) |
expired | Reached validUntil |
suspended | Suspended (by bank or user) |
terminatedByTpp | Terminated by you (the client) |
revokedByPsu | Revoked by the end user |
revokedByAspsp | Revoked by the bank |
Testing (Mock Bank)
- Create a Mandate link without a debtor account in the JWT.
- Choose MockBank on the Feezback screens.
- Enter a 5-digit account number:
12345. - Use one of these test IDs (
psuId) to trigger a specific outcome:
| Test ID | Result |
|---|---|
200200202 | Mandate valid |
669029530 | Valid with a 15-second delay |
222822538 | Rejected |
200200301 | partiallyAuthorized |
200200707 | partiallyAuthorized → valid after 5 minutes |
Updated 7 days ago