Skip to main content
A mandate lets Ladder debit one of your NGN settlement accounts without a payment step per request. It is a NIBSS e-mandate taken through Ladder’s bank partner and approved once by the signatory of the account.
1

Create the mandate

POST /mandates with the settlement account and the maximum amount per debit. The response is pending and tells the signatory exactly what to do:
Request
Response
2

The signatory activates it

The signatory makes the token payment named in activation from the mandated account. The bank confirms, the mandate becomes active, activation becomes null, and you receive mandate.activated.activated_at is the moment the bank token becomes usable, typically about a minute after approval. A debit requested before it returns 409 mandate_not_yet_active with activated_at in details; retry then.
3

Fund by direct debit

POST /wallets/NGN/fund with "method": "flutterwave_direct_debit". Amounts above limit_amount are refused (400 mandate_limit_exceeded). The request settles from the bank’s confirmation like any other funding request and fires wallet.funded; the wallet is credited with the requested amount, never with any fee the bank adds on top.
4

Revoke when done

POST /mandates/{id}/revoke ends it; the token is deleted at the bank partner and no further debit is possible (409 mandate_required). A revoked mandate stays revoked even if a late approval arrives from the bank.

Rules

  • One pending or active mandate per settlement account (409 mandate_exists).
  • A failed mandate carries the bank partner’s reason in failure_reason and does not block a new attempt.
  • The settlement account needs a bank_code; add it when you register the account.
  • Sandbox mandates are active immediately and debits settle through the sandbox endpoint.

Status flow