Integrate our payment verification system into your application
Create payment links and check order status. No API key required for status checks.
Standard payment page with clean design
Parameters
| Parameter | Required | Description | Example |
|---|---|---|---|
store_key |
Required | Your store key | C9065B5327F0 |
amount |
Required | Payment amount in BDT | 100.00 |
success_url |
Required | URL to redirect on success | https://site.com/success |
error_url |
Required | URL to redirect on error | https://site.com/error |
reference |
Optional | Store reference/note (returned in callback) | Payment for Order #123 |
reference_id |
Optional | Your internal order/invoice ID (returned in callback) | ORD-2026-001 |
customer_name |
Optional | Customer's full name (returned in callback) | John Doe |
customer_email |
Optional | Customer's email (returned in callback) | john@example.com |
customer_phone |
Optional | Customer's phone number (returned in callback) | 01712345678 |
Note: order_id is automatically generated (max 15 chars, starts with "EBPAY"). Use reference_id to track your own orders.
Example cURL Request
✅ Success Response:
{
"status": "success",
"payment_url": "https://epay.corp.com.bd/pay/EBPAY7XK9M2Q",
"order_id": "EBPAY7XK9M2Q",
"reference_id": "ORD-2026-001",
"amount": 100.00,
"store_name": "My Store",
"currency": "BDT"
}
📨 Callback Response (POST to your success_url):
{
"status": "success",
"order_id": "EBPAY7XK9M2Q",
"reference": "Payment for Order #123",
"reference_id": "ORD-2026-001",
"amount": 100.00,
"trxid": "DG340IXYFY",
"store_name": "My Store",
"customer_name": "John Doe",
"customer_email": "john@example.com",
"customer_phone": "01712345678",
"timestamp": "2026-01-15 14:30:00",
"signature": "sha256_hmac_signature"
}
Enhanced payment page with product list, discount, charge, and modern design
🌟 Super Theme Parameters
| Parameter | Required | Description | Example |
|---|---|---|---|
store_key |
Required | Your store key | C9065B5327F0 |
amount |
Required | Payment amount in BDT | 100.00 |
success_url |
Required | URL to redirect on success | https://site.com/success |
error_url |
Required | URL to redirect on error | https://site.com/error |
products |
Optional | Product list as JSON array. See product fields below. | [{"name":"VIP","price":250,"quantity":1,"icon":"fa-gem"}] |
discount |
Optional | Discount amount in BDT (subtracted from subtotal) | 50.00 |
charge |
Optional | Extra charge/gateway fee in BDT (added to subtotal) | 10.00 |
reference |
Optional | Store reference/note (returned in callback) | Payment for Order #123 |
reference_id |
Optional | Your internal order/invoice ID (returned in callback) | ORD-2026-001 |
customer_name |
Optional | Customer's full name (returned in callback) | John Doe |
customer_email |
Optional | Customer's email (returned in callback) | john@example.com |
customer_phone |
Optional | Customer's phone number (returned in callback) | 01712345678 |
📦 Product Fields (Inside products JSON Array)
name *Required
Product name
"VIP Membership"
price *Required
Product price in BDT
250.00
quantity Optional
Quantity (default: 1)
2
icon Optional
Font Awesome icon or URL logo
"fa-gem" or "https://site.com/logo.png"
Just amount with discount and charge
One product with Font Awesome icon
One product with image URL as logo
Multiple products with mix of Font Awesome icons and URL logos
🌟 Super Theme Success Response:
{
"status": "success",
"payment_url": "https://epay.corp.com.bd/payment/EBPAY7XK9M2Q",
"order_id": "EBPAY7XK9M2Q",
"reference_id": "ORD-2026-001",
"amount": 610.00,
"discount": 50.00,
"charge": 10.00,
"products": [
{"name":"VIP Membership","price":250,"quantity":1,"icon":"fa-gem"},
{"name":"Cloud Storage 100GB","price":150,"quantity":2,"icon":"https://epay.corp.com.bd/assets/images/cloud.png"},
{"name":"Premium Support","price":100,"quantity":1,"icon":"fa-headset"}
],
"store_name": "My Store",
"currency": "BDT"
}
📨 Callback Response (POST to your success_url):
{
"status": "success",
"order_id": "EBPAY7XK9M2Q",
"reference_id": "ORD-2026-001",
"amount": 610.00,
"trxid": "DG340IXYFY",
"customer_name": "John Doe",
"customer_email": "john@example.com",
"customer_phone": "01712345678",
"timestamp": "2026-01-15 14:30:00",
"signature": "..."
}
🌟 Super Theme Features:
Check payment status using order ID
Parameters
| Parameter | Required | Description |
|---|---|---|
order_id |
Required | Your system-generated order ID (starts with EBPAY) |
Example cURL Request
✅ Paid Response:
{
"status": "success",
"order_id": "EBPAY7XK9M2Q",
"reference_id": "ORD-2026-001",
"amount": 100.00,
"order_status": "paid",
"trxid": "DG340IXYFY",
"paid": true,
"message": "Payment verified successfully"
}
⏳ Pending Response:
{
"status": "pending",
"order_id": "EBPAY7XK9M2Q",
"reference_id": "ORD-2026-001",
"amount": 100.00,
"order_status": "pending",
"paid": false,
"message": "Payment not yet verified"
}
Verify payments by providing your API key, MFS gateway, amount, and transaction ID.
All parameters are sent as query string (GET) or POST data
| Parameter | Required | Description | Example |
|---|---|---|---|
api_key |
Required | Your API key (get from developer center) | a1b2c3d4e5f6... |
mfs |
Required | Gateway keyword (see reference table below) | bkash |
bdt |
Required | Payment amount in BDT | 100.00 |
trxid |
Required | Transaction ID from the payment SMS | DG340IXYFY |
type |
Optional | Transaction type: sendmoney, payment, cashout | sendmoney |
reference_id |
Optional | Your internal order ID for tracking | ORD-2026-001 |
Type Parameter: If omitted, matches any type. If provided, strictly matches that type. For BanglaQR, type is auto-detected.
Verify a payment by providing your API key, MFS gateway, amount, and transaction ID
Example cURL Requests
✅ Success Response:
{
"status": "success",
"message": "Payment verified successfully",
"amount": 100.00,
"trxid": "DG340IXYFY",
"sender": "bKash",
"mfs": "bkash",
"type": "sendmoney",
"is_banglaqr": false,
"verification_time": "2026-01-07 12:05:00"
}
❌ Error Response:
{
"status": "error",
"message": "Transaction not found or already used",
"code": "TRANSACTION_NOT_FOUND"
}
mfs values
| Gateway | mfs (Keyword) | Available Types | Type Required? |
|---|---|---|---|
| bKash MFS |
bkash
|
sendmoney
payment
cashout
|
Optional
If omitted, matches any type
|
| DGePay BanglaQR BanglaQR |
dgepay
|
- (auto-detected) |
Not required
auto uses
type=banglaqr |
| InternationalCard MFS |
ecard
|
sendmoney
payment
cashout
|
Optional
If omitted, matches any type
|
| MTB Bank BanglaQR |
mtb
|
- (auto-detected) |
Not required
auto uses
type=banglaqr |
| Nagad MFS |
nagad
|
sendmoney
payment
cashout
|
Optional
If omitted, matches any type
|
| PathaoPay BanglaQR |
pathaopay
|
- (auto-detected) |
Not required
auto uses
type=banglaqr |
| Paystation MFS |
paystation
|
sendmoney
payment
cashout
|
Optional
If omitted, matches any type
|
| Pubali Bank BanglaQR |
pubalibank
|
- (auto-detected) |
Not required
auto uses
type=banglaqr |
| Rocket MFS |
rocket
|
sendmoney
payment
cashout
|
Optional
If omitted, matches any type
|
| TallyPay BanglaQR |
tallypay
|
- (auto-detected) |
Not required
auto uses
type=banglaqr |
| Upay MFS |
upay
|
sendmoney
payment
cashout
|
Optional
If omitted, matches any type
|
Get instant payment notifications via webhooks
payment.success
Triggered when a payment is successfully verified
payment.pending
Triggered when a payment is waiting for verification
payment.failed
Triggered when a payment verification fails
{
"event": "payment.success",
"timestamp": "2026-01-07 12:05:00",
"timestamp_unix": 1736172300,
"data": {
"order_id": "EBPAY7XK9M2Q",
"reference": "Payment for Order #123",
"reference_id": "ORD-2026-001",
"amount": 100.00,
"currency": "BDT",
"status": "paid",
"trxid": "DG340IXYFY",
"type": "sendmoney",
"store_name": "My Store",
"customer_name": "John Doe",
"customer_email": "john@example.com",
"customer_phone": "01712345678",
"paid_at": "2026-01-07 12:05:00"
},
"signature": "sha256_hmac_signature"
}
Security: Always verify the signature using your webhook secret key
Secured by Payment Gateway System • Powered by EcomBangla
API Version 1.0 • Last Updated: August 11, 2026