SadadSD is Sudan's national interoperability layer for digital merchant payments. Accept payments from any mobile banking app — e-commerce, POS, or mobile — with a single API.
Stop integrating with each bank separately. SadadSD gives you one secure, standardized API that works across Sudan's mobile banking ecosystem.
Integrate once. Instantly reach customers on mbok, O-cash, Fawri, and every participating mobile banking app in Sudan.
Poll for status or receive instant webhook notifications. Know the moment a payment succeeds or fails.
Every QR is cryptographically signed with HMAC-SHA256 and expires automatically. Tampered codes are rejected.
Track transactions, view analytics, manage bank accounts, endpoints, operators, and webhooks from one portal.
Register a webhook URL for push notifications, or poll /payment_status. Both are supported simultaneously.
Payers see seller amount, SadadSD fee, and total payable — clearly and separately — on the bank app confirmation screen.
Choose your role to see the integration flow.
Create your merchant account in the portal. Add your bank settlement account and submit for review. Once approved, create an API endpoint to receive your credentials.
Call POST /api/merchant/create_payment with the seller amount. Receive a signed qr_data string, expiry time, and full amount breakdown.
Encode qr_data into a QR code and show it at checkout. For in-app payments, pass it as a deep-link to the banking app.
Poll GET /payment_status or receive a signed webhook event (transaction.success / transaction.failed) when the bank processes the payment.
Always call POST /cancel_payment when the QR is no longer visible — page change, timeout, or explicit cancel. This is required to prevent stale transactions.
A customer opens your mobile banking app and scans a SadadSD QR code at a merchant checkout (online, POS, or printed).
Your backend calls POST /api/bank/resolve with the raw QR data. SadadSD verifies the signature, marks the transaction as scanned, and returns merchant name, amounts, and purpose.
Display seller amount, SadadSD fee, and total payable clearly on the confirmation screen. The customer approves.
Execute the debit and inter-bank transfer on your side. SadadSD does not move funds — you control the banking transaction.
Call POST /api/bank/result with status: "success" or "failed" and your bank_reference. SadadSD notifies the merchant instantly.
SadadSD works across all merchant acceptance channels with the same single API integration.
Embed dynamic QR at checkout. Customers scan with their banking app. Your server receives a webhook on success.
POS device talks to SadadSD. Cashier system connects locally via Bluetooth. Only the POS calls the API — standardized and certified.
Your merchant app creates a payment and deep-links directly into the customer's banking app. No QR scan required.
Generate a dynamic QR per transaction and print it for counter or table-service payment scenarios.
Want to join as a bank or wallet partner? Contact our partnerships team →
Get your merchant account approved, generate API credentials, and go live today.
Register your business, manage endpoints, view transactions, and configure webhooks.
Open PortalFull API reference, integration guides, and code examples for banks and merchants.
Read the Docs