Production API live

In just hours.

HMAC-signed Real-time webhooks Same-day settlement
POST /api/payments/initiate
// Initiate a payment, auto-pick the best rail
curl https://api.digiisente.com/api/payments/initiate \
-H "Authorization: Bearer $DIGII_SECRET" \
-H "X-Partner-Id: dp_383021" \
-H "X-Signature: $HMAC_SHA256" \
-d '{
"amount": 25000,
"currency": "UGX",
"customer": "+256700123456",
"method": "auto",
"reference": "order_4711"
}'
Quickstart

Live in sandbox today. Live to production this week.

The flow is the same in sandbox and production. Pass the production checklist, swap the base URL, ship.

Step 01

Sign up + verify

Create an account, verify email, request approval. Usually under 24 hours.

Step 02

Get sandbox keys

Sandbox publishable + secret keys appear on your dashboard the moment you are approved.

Step 03

Plug + test

Initialise a charge, accept the customer PIN approval, receive the signed webhook.

Step 04

Go live

Pass the production checklist, get LIVE keys, switch the base URL. Same code paths.

Webhooks

Signed payloads. Idempotent retries. Replay protection.

Every webhook is HMAC-SHA256 signed with your endpoint secret and includes a timestamp + idempotency key. Verify in three lines of code.

payment.completed / failed / refunded - inbound collections
payout.completed / pending / failed / reversed - outbound sends
Automatic retries with exponential backoff (5x, 7-day window)
Per-endpoint secret + IP-pinned delivery
Replay-protected: 5-min timestamp tolerance
Webhook docs
node . verify a webhook
import { createHmac } from 'crypto';
export function verify(req, secret) {
const sig = req.headers['x-digii-signature'];
const ts = req.headers['x-digii-timestamp'];
const computed = createHmac('sha256', secret)
.update(`${ts}.${JSON.stringify(req.body)}`)
.digest('hex');
return computed === sig;
}
Security

Production-grade defaults.

HMAC-signed webhooks

Every webhook signed with your endpoint secret. Verify before processing.

2FA on live keys

Production key access requires TOTP + backup codes. No exceptions.

IP allowlist

Lock your LIVE keys to specific server IPs. Block everything else.

Pricing

Same flat fee as the main wallet.

No per-API-call cost. No platform fee. You pay the wallet/MoMo fee your customer already pays.

0%
Platform fee
UGX 100+
Per transfer
Same-day
Settlement
Ready to build

Plug into Uganda's payment rails today.

Sandbox keys in minutes. No card, no commitment.