A
AakashPayDeveloper Documentation
Production API v1.0

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.

Base URL: akashpay-api.axura.workers.devJSON APIBackend-first security
Live environment: All examples in this guide target 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.