Home Features Pricing API Docs Sign in Open free account
Now live in Uganda

One API for
payments in Uganda

Your customer approves on their own phone. You get a signed webhook and money on a double-entry ledger. Live today in Kampala shops and vending machines. More rails on the way.

Open free account View API docs
$ curl https://api.samsoftpay.com/v1/charges     -H "Authorization: Bearer sk_test_..."     -d amount=5000 -d channel=mtn_momo     -d phone=256700000000

# response
{
  "status": "authorized",
  "mode": "test",
  "amount": 5000
}
Approve on your phone
Your customer gets the prompt and enters their Mobile Money PIN on their own phone, never on a website.
Payment confirmed
MTN MoMo Crypto Bill Collection Airtel Money (soon) Visa / MC (soon)
1.5%
Collection fee
UGX 0
Monthly fee
48h
Webhook retry window
60s
To get API keys
Platform

Everything you need

Collections, payouts, subscriptions, bill collection, gift cards. Production-ready for East Africa.

Mobile Money

Live today on MTN — customers receive a prompt on their phone and approve with their PIN. No app needed. Airtel Money is coming next.

Vending & Machines

Scan-to-pay for vending machines and kiosks: QR on the machine, payment on the customer phone, automatic dispense on success.

Crypto Payments

Accept BTC, ETH, USDT via ChangeNow. Instant UGX conversion. We never hold volatile assets.

Bill Collection

Issue bills with account references. Customers look up by ID and pay on mobile.

Subscriptions

Weekly, monthly or yearly billing plans. Subscribe once, charged automatically.

Payment Links

Share one URL on TikTok or WhatsApp. Customer scans or taps and pays. No code.

In production

Real products run on these rails

These are live systems taking real payments on Samsoftpay today.

A customer taps a product on the machine, scans the QR with their own phone, approves the payment prompt, and the machine dispenses automatically. Payment, dispense confirmation and refund-safety all run through this API.
Vending machines
Scan-to-pay, Kampala
Wallet deposits, withdrawals and batch payouts for a multi-merchant POS platform. Reconciled daily against the Samsoftpay balance API, with webhook-driven settlement into merchant wallets.
Point of sale
KarlPOS retail platform
Every ordinary test number succeeds deterministically; documented test numbers trigger exact failures on demand. Build against test keys, switch to live keys, nothing else changes.
Your integration
Sandbox first, then flip
How money is kept safe

A double-entry ledger, reconciled hourly

The guarantees a partner's compliance review asks about first. All live in production today.

Double-entry, zero-sum

Every transaction posts to a double-entry ledger that must sum to exactly zero. Money cannot be minted or lost by a bug going unnoticed.

Reconciled against the network

Every hour we check our own books against the record the mobile money network itself holds for each payment.

Signed webhooks, retried 48h

Every event is HMAC-signed with your own secret and retried with backoff for 48 hours. You can verify every byte we send you.

Test money is not real money

Sandbox and live run on physically separate ledgers. No amount of integration testing can ever move a withdrawable balance.

Pricing

Simple, honest fees

No setup costs. No monthly charges. Pay only when you transact.

Collections
1.5%
per transaction
Min UGX 200 · cap UGX 5,000. Example: customer pays UGX 10,000 → fee UGX 200 → UGX 9,800 lands in your balance, withdrawable after the 24-hour settlement hold.
Platform fee
UGX 0
every month, forever
No setup fee. No minimum volume. Sandbox is always free. Go live when you are ready.
Payouts
1.5%
per payout · min UGX 200, cap UGX 5,000
Same rate as collections — no flat fee. Fully refunded if the payout fails. No charges beyond URA taxation.

Start accepting payments today

Free API keys in 60 seconds. Sandbox always free. No approval needed to start building.

Open free account