AakashPay API Docs
Create payment orders, open hosted bKash/Nagad/Upay checkout, verify Transaction IDs, and connect SMS Reader devices through one production-ready API.
https://akashpay-api.axura.workers.dev. Keep API keys and device credentials on trusted backend infrastructure.At a glance
| Environment | Base URL |
|---|---|
| Production | https://akashpay-api.axura.workers.dev |
| Capability | Method | Endpoint | Authentication |
|---|---|---|---|
| Service health | GET |
/v1/health |
None |
| Configured gateways | GET |
/v1/gateways |
X-API-Key |
| Create payment | POST |
/v1/payment/create |
X-API-Key |
| Check payment | GET |
/v1/payment/{orderId} |
X-API-Key |
| Public checkout status | GET |
/v1/public/payment/{orderId} |
Order ID bearer |
| Customer Transaction ID verification | POST |
/v1/public/payment/{orderId}/verify |
Order ID bearer |
| Device registration | POST |
/v1/public/devices/register |
None on initial registration |
| SMS logs | GET |
/v1/public/logs/{clientId} |
X-Device-ID |
| Gateway numbers | GET/PATCH |
/v1/public/settings/{clientId}/numbers |
X-Device-ID |
| API-key management | GET/POST |
/v1/public/settings/{clientId}/apikey… |
X-Device-ID |
| Owner monitoring | GET |
/admin/overview |
X-Admin-Token |
AakashPay currently supports the gateway identifiers bkash, nagad, and upay. An order remains valid for 15 minutes after creation. The payment system uses a Real-time Matching Engine that attempts automatic verification immediately upon SMS ingestion from the configured SMS Reader app.
Overview
AakashPay is designed for applications that collect payments through Bangladeshi mobile-finance gateways. The integrator creates an order from a trusted backend, receives a hosted portalUrl, and gives that URL to the customer. The customer completes payment using the displayed gateway number and follows the branded checkout instructions. The integrator then checks the authenticated order status and fulfils the order only after status becomes paid.
Core payment flow
| Step | Action | Result |
|---|---|---|
| 1 | Install AakashPay Gateway App. | Device registers automatically and generates a Client ID. |
| 2 | Configure gateway numbers in-app. | bKash, Nagad, or Upay becomes available for orders. |
| 3 | Create an order from your backend. | A pending order and hosted portalUrl are returned. |
| 4 | Customer pays to the displayed number. | SMS Reader captures and uploads the payment record in real-time. |
| 5 | Real-time Matching Engine. | The system matches the SMS and changes order status to paid. |
| 6 | Fulfil only after paid. |
Duplicate fulfilment is prevented by your application. |
Quick Start
1. Store your API key securely
Every backend request to the client payment API must include the API key in the X-API-Key header. Keep it in an environment variable and never place it in browser JavaScript or public mobile bundles.
export AAKASHPAY_API_KEY='ak_live_REPLACE_WITH_YOUR_KEY'
2. Create an order
curl -X POST 'https://akashpay-api.axura.workers.dev/v1/payment/create' \
-H 'Content-Type: application/json' \
-H "X-API-Key: $AAKASHPAY_API_KEY" \
-d '{
"amount": 100,
"userId": "member_42",
"gateway": "bkash"
}'
3. Confirm payment from your backend
curl -sS \
-H "X-API-Key: $AAKASHPAY_API_KEY" \
'https://akashpay-api.axura.workers.dev/v1/payment/ord_abc123'
Treat the order as paid only when the returned status is exactly paid.
Merchant Setup and App
AakashPay Gateway App
The AakashPay Gateway Android app is the heart of the SMS-based verification system. It features: * Auto-Registration: No manual login required. The app registers your device on the first run. * Anti-Sleep Technology: Built-in WakeLock and Foreground Service to ensure 24/7 monitoring. * In-App Setup: A "Setup Gateway" button that allows you to configure your bKash/Nagad numbers directly.
Pro Tip: To ensure 100% reliability, disable "Battery Optimization" for the AakashPay app in your phone settings.
Merchant Panel
Access your merchant dashboard at https://akashpay.pages.dev. When opened inside the AakashPay app, it automatically identifies your device and allows real-time number configuration.
SMS Reader Device API
Register a device
POST /v1/public/devices/register
Register an Android SMS Reader device. The AakashPay app performs this automatically.
{
"deviceId": "android-device-123",
"deviceName": "Payment Reader Phone",
"clientId": "client_a1b2c3"
}
Gateway numbers
GET /v1/public/settings/{clientId}/numbers
Authentication: X-Device-ID.
PATCH /v1/public/settings/{clientId}/numbers
Update your receiving numbers.
{
"numbers": {
"bkash": "017XXXXXXXX",
"nagad": "018XXXXXXXX",
"upay": "013XXXXXXXX"
}
}
Admin Monitoring
Owner administration and system monitoring are available at https://akashpay-admin.pages.dev.
Authentication: Requires X-Admin-Token.
© 2026 AakashPay Gateway System. All rights reserved.