Get paid on bKash and Nagad. ▍On your own number.
ToruPay turns the wallet numbers you already have into a payment gateway. Your customer pays to your bKash, Nagad, Rocket, Upay or Cellfin number. A phone you own reads the SMS, the payment matches by TrxID, and your site gets a signed webhook.
- no merchant account needed
- personal, agent and merchant numbers
- money never touches us
You are still matching TrxIDs by hand.
A customer sends ৳1,450 and a screenshot. You open the wallet app, scroll, compare the last four digits, reply, then update the order. Forty times a night.
by hand
- Screenshots in the inbox. Some of them edited.
- The same TrxID sent to two of your staff.
- Orders shipped against money that never arrived.
- A spreadsheet that is wrong by Friday.
with torupay
- The phone reads the wallet SMS and signs it before upload.
- One TrxID can be claimed once. The database enforces it.
- Each SMS must continue the wallet balance from the last one. A forged SMS breaks the chain.
- Your order system hears about it through a signed webhook.
Everything a paid gateway sells you. Included.
Payment links
Fixed price, customer-entered or a list of options. Share on WhatsApp or Messenger, print the QR, cap the uses, set an expiry. No website needed.
Invoices
Line items, discount, delivery charge, due date. Your customer pays in full or in part from one link, and the invoice keeps the balance.
Many phones, many numbers
Pair as many phones as you run. Set a daily limit per number. Checkout shows the number with the most room left and skips a phone that has gone quiet.
Balance-chain verification
Previous balance plus amount minus fee must equal the new balance in the SMS. Turn on strict mode and anything that does not fit waits for your approval.
Signed webhooks
HMAC-SHA256 over the exact bytes we send. Retried with backoff until your server answers 2xx. Every attempt is in your delivery log.
Your brand on checkout
Logo, accent colour, dark or light, Bangla or English, your own instructions per wallet. Run several brands from one account, each with its own keys.
Unclaimed payment inbox
Money that arrived with no order attached lands here. Attach it to an order, an invoice or a customer in two clicks.
Built for developers
One POST opens a checkout. Look up sessions by your own order id. Record refunds. Idempotent on order_id, so a retry never opens a second session.
Three steps. About ten minutes.
- 01
Install the app and scan the QR
Put ToruPay for Android on the phone that holds your wallet SIM. Scan the pairing code from your dashboard. The phone creates its own signing key and keeps it.
- 02
Share a link or call the API
Send a payment link in chat, email an invoice, or open a checkout from your own site with one API call.
- 03
Get paid, get the webhook
Your customer pays your number and types the TrxID. The match takes seconds. Your dashboard updates and your server receives the signed callback.
Free. The money goes straight to you.
Customers pay your own wallet number, so there is no settlement delay and nothing for us to hold. Every feature on this page is included, with no limit on phones, brands or links.
৳0
There is no platform fee today.
- Unlimited payment links and invoices
- Unlimited phones, numbers and brands
- API, webhooks, order lookup, refunds
- Bangla and English hosted checkout
What you usually pay ৳10 to ৳4,999 a month for.
Licence-priced tools of this kind charge by tier or sell a one-time licence, and limit brands, devices or domains by plan.
| Feature | Licence-priced gateways | ToruPay |
|---|---|---|
| Monthly licence | ৳10 to ৳4,999 by tier | None |
| Brands and devices | Limited by plan | Unlimited |
| Webhook signature | API key echoed, or unsigned | HMAC-SHA256 over the raw body |
| Find a payment by your order id | Only by their invoice id | GET /checkout/sessions?order_id= |
| Retry-safe checkout creation | Not documented | Idempotent on order_id |
| Delivery-fee or partial prepayment | Needs another plugin | Built in: full, delivery, partial, balance |
| Refund records with a webhook | Rare | Yes |
One POST opens a checkout. One HMAC proves the callback.
Server to server, no SDK required. The signature covers the exact bytes we send, so verify before you parse.
open a checkout
curl -X POST "$KRONX_BASE_URL/api/v1/checkout/initialize" \
-H "authorization: Bearer $KRONX_API_KEY" \
-H "content-type: application/json" \
-d '{
"amount": "1450.00",
"order_id": "ORD-1042",
"webhook_url": "https://yourshop.example/webhooks/kronx",
"metadata": { "cart": "8841" },
"locale": "bn"
}'
# 200 { checkout_url, session_id, payment_id, trid, expires_at }verify the webhook
import crypto from 'node:crypto';
// req.rawBody must be the exact bytes ToruPay sent.
export function handleKronxWebhook(req, res) {
const expected = crypto
.createHmac('sha256', process.env.KRONX_CALLBACK_SECRET)
.update(req.rawBody)
.digest('hex');
const a = Buffer.from(expected, 'hex');
const b = Buffer.from(req.headers['x-kronx-signature'] ?? '', 'hex');
if (a.length !== b.length || !crypto.timingSafeEqual(a, b)) {
return res.status(401).end();
}
const event = JSON.parse(req.rawBody);
// Deliveries are at-least-once: key your own work on the event id.
applyOnce(req.headers['x-kronx-event-id'], event.order_id, event.trx_id);
res.status(200).end();
}One sign-in. Three products that talk to each other.
ToruPay
Takes the payment on your own wallet numbers and tells your systems.
TORI
Your online store. Checkout, delivery-fee prepayment and plan billing run on ToruPay.
Tanet Chat
Your AI sales agent on Messenger and WhatsApp. It sends a ToruPay link when the order is agreed.
One Android phone reads the payment SMS.
ToruPay for Android forwards wallet SMS from your own SIM, signed on the phone. It installs from this site, because Google Play does not list apps that read SMS.
- 01 Download the APK on the phone that holds your bKash, Nagad or Rocket SIM.
- 02 Open it, allow the install, then allow SMS access when the app asks.
- 03 In the portal open Devices, press Pair a phone, and scan the QR with the app.
Asked before signing up.
/01Do I need a merchant account with bKash or Nagad?
No. A personal, agent or merchant number all work. Checkout shows the right steps for each: Send Money, Cash Out or Payment.
/02Does ToruPay hold my money?
Never. Your customer pays your number directly. ToruPay only reads the confirmation SMS on your own phone and matches it to the order.
/03What stops someone typing a fake TrxID?
A TrxID only counts if your phone received the matching wallet SMS for that exact amount. Each TrxID can be used once. With balance-chain verification on, the SMS must also continue your wallet balance correctly.
/04Why is the Android app not on Google Play?
Google Play does not list apps that read SMS unless they are the default SMS app. You install the signed APK from our download page and can check its SHA-256 there.
/05What happens if the phone is off?
Payments wait. The app queues every SMS on the phone and uploads when it is back online. Your dashboard shows when a phone has gone quiet.
/06Can I use it without a website?
Yes. Payment links and invoices need no code. Share the link in chat and watch the payment land in your dashboard.
/07Is it really free?
Yes. If a platform fee is introduced, it will be a small percentage that starts only after a free allowance, and this page will show the exact numbers.
Stop checking TrxIDs by hand.
Create an account, pair one phone, send one link. Your first payment can land tonight.