Your subscriptions should renew without manual follow-up.
Most Kenyan businesses still chase renewals over M-Pesa, spreadsheets, and one-off payment links. TAPA fixes that with hosted checkout for the first payment, bank Direct Debit for what follows, and billing automation your finance team can reconcile in KES.
KES settlement · local bank rails · onboarding support included
Acme Platform
Pro plan · monthly
KES 24,500.00
Recurring · monthly- Pro plan
- 22,000.00
- Add-on seats
- 2,500.00
- Total due
- KES 24,500.00
Payment method
Secured by TAPA
The problems TAPA is built to remove from recurring billing
- Manual renewal reminders
- Unreconciled STK pushes
- Failed standing orders
- Surprise bank debits
- Spreadsheet billing
- Churn from payment friction
Platform
Three problems. One billing stack.
Fragmented tools force teams to glue M-Pesa STK, bank mandates, and renewal reminders together by hand. TAPA unifies checkout, mandates, and subscription billing on a single payer record in KES.
First payment friction kills conversion
Payers abandon when checkout feels unfamiliar. TAPA leads with M-Pesa on hosted pages so the first subscription payment clears on a channel they already use.
Amount due
KES 24,500.00
Opaque debits erode payer trust
Surprise bank pulls drive cancellations. TAPA mandates show debit caps, frequency, and cancellation terms before authorization — including OTP, paper, and hybrid sign-off.
Learn more→Failed renewals become silent churn
One missed debit should not end the relationship. TAPA retries on a sensible schedule and falls back to M-Pesa when bank collection fails.
Learn more→Global card stacks were not built for Kenyan recurring billing
Subscription businesses here need KES-native amounts, bank-grade debit authority, and honest verification timelines. TAPA is designed around those constraints — not imported assumptions.
- M-Pesa
- first payment & recovery when bank debit fails
- Local banks
- Direct Debit through Kenyan partner banks
- KES-native
- minor-unit amounts, exports & ledger references
- T+4 days
- typical bank mandate verification — status shown live
Developers
Your billing system should not own bank integration complexity.
Engineering teams lose weeks wiring mandate creation, status polling, and debit submission. TAPA exposes a merchant API at /api/v1/dd so your product team ships billing features, not payment plumbing.
POST /api/v1/dd/mandates
X-TZD-API-Key: tzdk_...
{
"customerReference": "sub-001",
"payerName": "Jane Wanjiku",
"amountLimitMinor": 3000000,
"currency": "KES",
"paymentType": "recurring"
}Recurring revenue should not depend on manual follow-up
Share your billing model — monthly, annual, or usage-based — and we will scope a TAPA pilot around your collection workflow.
See pricing
Volume-based pilot plans for recurring billing — priced in KES, no FX surprises.
Pricing details →Start building
Merchant API reference, Postman UAT collection, and mandate status polling — ship your first debit in days.
Integration options →