Skip to content
sys · torupaydhaka
free for bangladeshi merchants

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
payment links invoices signed webhooks bkash nagad rocket upay cellfin multi-phone routing daily limit aware balance-chain check bn and en checkout order lookup refund records unclaimed payment inbox payment links invoices signed webhooks bkash nagad rocket upay cellfin multi-phone routing daily limit aware balance-chain check bn and en checkout order lookup refund records unclaimed payment inbox
the 11 pm problem

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.
features

Everything a paid gateway sells you. Included.

/01

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.

/02

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.

/03

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.

/04

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.

/05

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.

/06

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.

/07

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.

/08

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.

how it works

Three steps. About ten minutes.

  1. 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.

  2. 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.

  3. 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.

pricing

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
compared with licence-priced gateways

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.

FeatureLicence-priced gatewaysToruPay
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
developers

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();
}
Read the full reference
the kronx ecosystem

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.

get the app

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.

  1. 01 Download the APK on the phone that holds your bKash, Nagad or Rocket SIM.
  2. 02 Open it, allow the install, then allow SMS access when the app asks.
  3. 03 In the portal open Devices, press Pair a phone, and scan the QR with the app.

ToruPay for Android

v2.2 · 5.4 MB · android 7+

questions

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.