Search pages in the SMS Pay documentation.
SMS Pay lets Bangladeshi merchants accept mobile wallet payments and confirm them from trusted provider SMS messages. Your backend creates a payment intent, the customer pays to your merchant wallet number, the Android SMS Agent forwards the provider SMS, and the gateway reconciles the SMS against the pending payment.
The system is hosted. You integrate with APIs, webhooks, the hosted checkout page, and the dashboard. You do not run the matching engine, SMS parser, expiry worker, or webhook dispatcher yourself.
Core concepts:
| Concept | Meaning |
|---|---|
| Payment Intent | A short-lived payment request with amount, currency, receiver wallet, unique reference, status, and checkout URL. |
| SMS confirmation | The gateway parses trusted wallet SMS messages and uses them as payment evidence. |
| Android SMS Agent | A merchant-controlled Android device app that forwards captured provider SMS events to the API. |
| Reconciliation | Matching an SMS event to a payment intent automatically or routing it to manual review. |
| Webhook | A signed server-to-server notification such as payment.paid or payment.review_required. |
checkoutUrl.payment.paid.Create a sandbox payment intent from your backend:
const response = await fetch("https://api.smspaybd.com/v1/payments/intents", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Api-Key": process.env.SMS_PAY_SANDBOX_KEY!,
},
body: JSON.stringify({
amount: 500,
currency: "BDT",
customerReference: "ORDER-10045",
idempotencyKey: "order_10045_create_intent",
ttlSeconds: 300
}),
});
const intent = await response.json();
console.log(intent.checkoutUrl);
POST /v1/payments/intents
X-Api-Key: sk_test_xxxxxxxxxxxxxxxxx
Content-Type: application/json
{
"amount": 500,
"currency": "BDT",
"customerReference": "ORDER-10045",
"idempotencyKey": "order_10045_create_intent",
"ttlSeconds": 300
}
{
"id": "b5012f33-207e-4999-bf8d-5a1ebb10988e",
"environment": "SANDBOX",
"amount": "500",
"currency": "BDT",
"status": "PENDING",
"customerReference": "ORDER-10045",
"receiverMsisdn": "01700000001",
"checkoutUrl": "https://smspaybd.com/checkout/b5012f33-207e-4999-bf8d-5a1ebb10988e",
"expiresAt": "2026-05-05T10:05:00.000Z"
}