Karibu — payments infrastructure for East Africa
One gateway.
Every way to pay.
M-Pesa, Tigo Pesa, Airtel Money, HaloPesa, cards and bank transfers — live in Tanzania today, with SafarisPay built to serve businesses across East Africa.
- Salama. Bank-grade encryption on every transaction.
- Haraka. Money confirmed and settled in seconds.
- Rahisi. No code to start — or plug straight into our API.
Your dashboard, at a glance
Every charge, every channel, reconciled automatically.
TZS 1,113,500
Settled this week
5
Transactions, last 7 days
3/5
Settled — 2 pending
| Date | Customer | Method | Amount | Status |
|---|---|---|---|---|
| Aug 2 | A. Mwakalinga | M-Pesa | TZS 45,000 | Settled |
| Aug 2 | Zanzibar Coffee Co. | Card | TZS 128,500 | Settled |
| Aug 1 | J. Kimaro | Tigo Pesa | TZS 12,000 | Pending |
| Aug 1 | Mlimani Hardware | Bank transfer | TZS 940,000 | Settled |
| Jul 31 | F. Ndosi | Airtel Money | TZS 8,500 | Pending |
Settlements · last 7 days
How it works
-
1
Customer pays
They enter their phone number or card at your checkout and confirm on their device.
-
2
SafarisPay routes and confirms
We talk to the mobile network or card scheme, confirm the charge, and fire a webhook to your server.
-
3
Merchant is settled
Funds land in your settlement account on schedule. No manual reconciliation.
Ways to pay
Every way your customers can pay you.
M-Pesa
Customer confirms on their phone. Charge is direct to a Vodacom M-Pesa wallet.
Tigo Pesa
Direct to a Mixx by Yas wallet, confirmed on the customer's phone.
Airtel Money
Direct to an Airtel Money wallet, confirmed on the customer's phone.
HaloPesa
Direct to a HaloPesa (Halotel) wallet, confirmed on the customer's phone.
Visa
Hosted, PCI-DSS Level 1 checkout page — card details never touch our servers.
Mastercard
Same hosted checkout page as Visa, PCI-DSS Level 1 certified.
Bank transfer
Direct debit from CRDB or NMB — customer generates a one-time USSD code, enters it at checkout.
Bitcoin
Customer pays in BTC; settles to your account in TZS at the prevailing rate.
USDT
TRC20 and ERC20 accepted; settles to your account in TZS at the prevailing rate.
Built for
- Retail shops
- Wholesalers
- Tour operators
- Schools
- Churches & NGOs
- Freelancers
- Online sellers
Built for developers
Send a request, get a webhook. That's the whole integration.
# create a charge
curl -X POST https://api.safarispay.com/v1/charges \
-H "Authorization: Bearer sk_live_8fA2c9..." \
-H "Idempotency-Key: 7c9e-4b3a-2e11" \
-d amount=250000 \
-d currency=TZS \
-d method=mpesa \
-d phone=+255712345678
# create a charge
import safarispay
client = safarispay.Client("sk_live_8fA2c9...")
charge = client.charges.create(
amount=250000,
currency="TZS",
method="mpesa",
phone="+255712345678",
idempotency_key="7c9e-4b3a-2e11",
)
// create a charge
$client = new SafarisPay\Client("sk_live_8fA2c9...");
$charge = $client->charges->create([
"amount" => 250000,
"currency" => "TZS",
"method" => "mpesa",
"phone" => "+255712345678",
"idempotency_key" => "7c9e-4b3a-2e11",
]);
// create a charge
const safarispay = require("safarispay")("sk_live_8fA2c9...");
const charge = await safarispay.charges.create({
amount: 250000,
currency: "TZS",
method: "mpesa",
phone: "+255712345678",
idempotencyKey: "7c9e-4b3a-2e11",
});
Webhook — charge.settled
{
"event": "charge.settled",
"id": "ch_8f2ad61c",
"amount": 250000,
"currency": "TZS",
"status": "settled",
"settled_at": "2026-08-02T14:31:09Z"
}
Pricing
You only pay when a charge succeeds. No setup fee, no monthly fee, no surprises.
Starter
For new businesses testing the waters.
2.9% + TZS 200
- M-Pesa, Tigo Pesa, Airtel Money, HaloPesa
- Visa & Mastercard
- Test and live API keys
- Email support
Growth
For merchants with steady monthly volume.
2.5% + TZS 150
- Everything in Starter
- Bank transfer settlement
- Webhook retries and delivery logs
- Priority support
Scale
For platforms processing at volume.
Custom
- Everything in Growth
- Volume-based pricing
- Dedicated settlement account manager
- SLA-backed uptime
Salama
Built to be trusted
Settlement timing
Our settlement target is the next business day, tracked line by line in your dashboard.
Uptime
We haven't published measured uptime numbers yet. A public status page is planned — this section will be updated with real figures once it's live.
Encryption
TLS 1.3 in transit, AES-256 at rest. Secrets are hashed, never stored or logged in plain text.
PCI-DSS
Card details are collected on our payment processor's own hosted, PCI-DSS Level 1 certified checkout page — SafarisPay's servers never receive or store raw card numbers.
Bank of Tanzania
Payments are processed through a licensed payment service provider regulated by the Bank of Tanzania under the National Payment Systems Act. Merchant funds are held in regulated settlement accounts.
Frequently asked questions
What payment methods can I accept with SafarisPay?
M-Pesa, Tigo Pesa, Airtel Money, HaloPesa, Visa and Mastercard, direct bank transfer via CRDB and NMB, plus Bitcoin and USDT (TRC20 and ERC20), settled to your account in TZS.
How fast do I get paid?
Our settlement target is the next business day. This is a target, not a contractual SLA, unless you are on the Scale plan.
How much does SafarisPay cost?
Starter is 2.9% + TZS 200 per successful charge with no setup or monthly fee. Growth is 2.5% + TZS 150 for merchants with steady volume. Scale is custom pricing for platforms processing at volume.
Is my customers' card data safe?
Card details are collected on our payment processor's own hosted, PCI-DSS Level 1 certified checkout page. SafarisPay's servers never receive or store raw card numbers.
Do I need to be a developer to use SafarisPay?
No. You can accept payments through your dashboard with no code. If you want to integrate charges into your own website or app, an API is available.
Is SafarisPay regulated?
Payments are processed through a licensed payment service provider regulated by the Bank of Tanzania under the National Payment Systems Act. Merchant funds are held in regulated settlement accounts.
Which countries can I sign up from?
Live payment processing is available in Tanzania today. Merchants in Kenya, Uganda, Rwanda, Burundi and South Sudan can create an account now and will be notified when processing launches in their country.
Start accepting payments today
Get sandbox keys in minutes. No paperwork until you're ready to go live.





