Skip to main content
In many African markets (such as Cameroon, Côte d’Ivoire, and Senegal), automated STK push / USSD prompt delivery from telecom operators can occasionally experience network congestion or operator downtime. To guarantee 100% checkout completion, Pursar provides a Manual USSD Payment & Auto-Reconciliation Engine. Customers can dial the standard telecom merchant USSD code directly from their phone, and Pursar will automatically reconcile the transaction using incoming confirmation SMS messages.

How It Works


1. Dial Codes & Operator Formatting

When a customer selects Manual USSD on your checkout, Pursar generates a dynamic USSD code formatted with your merchant code and transaction amount: Customers on mobile browsers can tap the “Tap to dial” button on the checkout screen to open their phone dialer pre-filled with the USSD code.

2. Inbound SMS Auto-Reconciliation API

If your organization deploys dedicated Android devices (running Android 4.4+ or specialized background daemon apps with SMS permissions), incoming SMS notifications from MTN or Orange can be forwarded automatically to Pursar for real-time order matching.

Endpoint

Request Body

Response

If no matching pending transaction is found immediately (e.g. if the SMS arrives before the customer finishes entering their details), the receipt is buffered in UssdReceipt with status unmatched. When the customer or merchant claims it later, it is instantly settled without delay.

3. Customer Self-Verification API

If the customer is completing checkout on the web, they can submit their Transaction ID directly:

Endpoint

Request Body

Response


4. Double-Spend & Fraud Prevention

Pursar guarantees bank-grade security for manual USSD payments:
  • Strict Uniqueness: Every transaction reference code / hash is stored and checked. If an already-claimed code is reused, Pursar immediately responds with 409 Conflict:
  • Amount Tolerances: When matching buffered receipts against pending charges, the amount must match exactly (tolerance (\le 0.01)).
  • Time Limits: Receipts expire after 2 hours if left unclaimed to prevent historical reuse.