Stop rebuilding bank Direct Debit in every billing release
The problem is not your product — it is the integration surface. TAPA exposes server-to-server APIs at /api/v1/dd for mandate creation, bank status polling, and debit submission. API key or JWT auth; amounts in KES minor units.
Current endpoints
| Method | Path | Note |
|---|---|---|
| POST | /api/v1/dd/mandates | Create mandate |
| POST | /api/v1/dd/mandates/{id}/status/refresh | Refresh mandate status |
| POST | /api/v1/dd/mandates/{id}/debits | Submit collection |
| GET | /api/v1/dd/debits/{id} | Debit status |
Postman UAT collection
End-to-end flows for mandate create, bank status refresh, and debit submission — ready for your team's UAT sign-off.
Read docs →Implementation docs
Request shapes, error codes, env setup, and reconciliation patterns for subscription billing and recurring debits.
Read docs →Quick start
curl -X POST https://api.example.com/api/v1/dd/mandates \
-H "X-TZD-API-Key: tzdk_..." \
-H "Content-Type: application/json" \
-d '{"customerReference":"001","payerName":"Jane W.","currency":"KES",...}'