Zimbabwe Built for EcoCash, OneMoney, ZimSwitch and morePayments SDK

Plug ’n’ play payments infrastructure for banks and platforms.

A ready-to-deploy payments platform: mobile money and cards, subscriptions, split payments and KYC, with merchant and processor dashboards. Deploy on-premise or in your own cloud, fully white-labelled, with complete source code access.

  • Banks
  • Payment providers
  • Marketplaces
  • Platforms
Harbor Street Bakery $12.90
Payment captured
Harbor Street Bakery
$129.00via acq_b
Renewed · Growth$49/mo
POST/v1/payments201

Compose your stack. Switch on only what you sell.

5 of 6 modules active

Merchant API

Payments, refunds, payouts, onboarding and webhooks through one REST surface, scoped per merchant.

POST /v1/payments
POST /v1/subscriptions
GET /v1/payouts
POST /v1/merchants/onboard
LiveKYC reviewOnboarding

Processor console

Portfolio, KYC, pricing plans and acquirer routing for your operations team.

Gross volume · 7 days $48,210

Merchant dashboard

A branded portal for transactions, payouts, disputes and reporting.

Renews 1 Nov

Subscriptions

Plans, proration, metered usage, invoicing and payment recovery.

velocity > 5/min → review

Risk & disputes

Rules engine, review queues and chargeback workflows.

Settlement & payouts

Reconciliation, split funding and scheduled payouts — to every merchant, in every currency you support.

Payout batch sent312 merchants · T+1
thetasdk •••• 4242

Your brand, everywhere

Domains, dashboards, emails, receipts and cards — all carry your name, never ours.

INSIDE THE CODEBASE

A complete codebase. Yours to own and run.

A production-grade TypeScript monorepo — licensed to you, forked by you, deployed wherever your compliance team says, and shipped under your name.

Next.js NestJS TypeScript
mainyour fork
thetasdk/
apps/
merchant-dashboard/Next.js
processor-console/Next.js
services/
gateway/NestJS
payments/NestJS
kyc/NestJS
billing/NestJS
ledger/NestJS
packages/
schema/
THESIS.mdread me first
ui/themeable kit
tests/
unit/ · integration/ · e2e/

Both dashboards, in Next.js

The merchant dashboard and the processor console as two Next.js apps sharing one themeable UI kit. Restyle once, rebrand everywhere.

Modular NestJS services

Gateway, payments, KYC, billing and ledger as separate NestJS modules — replace one without touching the rest.

adapters: [YOUR KYC VENDORS]
  1. Identity
  2. Documents
  3. Screening
  4. Review
  5. Approved

KYC, end to end

One onboarding flow for personal and business customers — document capture, sanctions screening and a manual review queue, with vendor adapters you plug your own providers into.

$ pnpm test
✓ unit
✓ integration
✓ e2e · both dashboards
[COVERAGE %] coverage

Comprehensive test suites

Unit, integration and end-to-end suites ship with the code, so every change you make is checked against the flows that matter.

tooling/contract
$ tooling/contract/run.sh
✓ every public route · fuzzed against openapi.json
✓ 2,122 cases · 0 failures

Contract-tested with Schemathesis

Every public route is fuzzed against the OpenAPI spec, so the API behaves exactly as documented, including on the inputs nobody thought to try.

PAYMENT METHODS

Every way your customers pay. And every way they will.

Mobile wallets

Push-to-approve payments on the wallets your customers already carry. Customers approve with their PIN, right on their phone.

EcoCashOneMoney[MORE WALLETS]

Cards

Card payments with 3-D Secure, tokenization and saved cards, routed to the acquirer you choose.

VisaMastercard3-D Secure

Hosted payment elements

A drop-in checkout your merchants embed or redirect to, themed with your brand and built to keep card data off their servers.

EmbedRedirectYour theme
HBHarbor Street BakeryOrder A-1043
$12.90
You'll get a prompt on your phone to approve with your PIN.
Secured by thetasdk
services/payments/adapters/ecocash.adapter.tsNestJS
@PaymentAdapter('ecocash')
export class EcoCashAdapter implements PaymentProvider {
  async authorize(req: AuthorizeRequest) { … }
  async capture(id: string) { … }
  async refund(id: string, amount: Money) { … }
  async handleWebhook(event: ProviderEvent) { … }
}

Pluggable payment adapters

Every method is an adapter behind one interface. Add a wallet, swap an acquirer or connect a new provider without touching checkout, ledger or dashboards.

ecocashmobile wallet
onemoneymobile wallet
card-acquirercards
[your-provider]write your own
MONEY MOVEMENT

Subscriptions and splits, built for how your market pays.

Recurring billing, even with no card on file.

Mobile money needs the customer present to approve. So renewals arrive as a push prompt on their phone — and if they miss it, a quick payment link follows. Cards still renew quietly in the background.

  1. Renewal dueGrowth plan · $49.00
  2. Push promptSent to the customer's phone
  3. Approved with PINLedger and invoice updated
  4. Missed it?Quick payment link by SMS
EcoCashnow
Approve $49.00 to Harbor Street Bakery?Growth plan renewal · Enter your PIN to confirm.

One checkout. Every merchant paid.

Split a single payment between a merchant and its sub-merchants — each share recorded in the ledger and settled to its own payout account.

Customer pays$100.00Order M-2291
HBHarbor Street Bakery$55.00
NONorthwind Outdoor$30.00
PPPixel & Pine Studio$12.00
Platform fee$3.00
Embedded sub-merchant onboardingMerchants embed onboarding in their own apps, so their sub-merchants sign up without leaving. KYC runs underneath, and each sub-merchant can receive splits the moment they're approved.
  • Business details
  • Owners & ID
  • Payout account
GET STARTED

Launch your payments platform. Without building one.

Explore the full stack in a sandbox, then deploy it on your infrastructure, under your brand, with the source in your hands.

  • Cloud or on-prem
  • Full source licence
  • [ONBOARDING TIMELINE]
Prefer to talk? Reach us on +263 77 892 2542