Payments and SMS for any Bangladeshi business.
Take bKash, Nagad, Rocket, Upay and card payments on your website, in your app, by payment link, or by asking Claude. Every payment comes back as a clear success or failed, with the amount, customer and transaction ID, and an SMS receipt goes to your customer.
Runs on your own server with your own gateway accounts. Prefer it hosted? See the hosted version.
Every way Bangladesh pays
Turn on one gateway or all of them. Customers pick how they pay on the checkout page.
| Gateway | Customers pay with | Refunds from the connector |
|---|---|---|
| bKash | bKash | Yes |
| Nagad | Nagad | In the Nagad panel |
| SSLCommerz | Visa, Mastercard, Amex, bKash, Nagad, Rocket, Upay, net banking | Yes |
| shurjoPay | bKash, Nagad, Rocket, Upay, cards, net banking | In the shurjoPay panel |
| aamarPay | bKash, Nagad, Rocket, Upay, cards | In the aamarPay panel |
| BulkSMSBD | SMS receipts to customers and payment alerts to you | |
Rocket and Upay have no open merchant API of their own, so they come through SSLCommerz, shurjoPay or aamarPay. You need your own merchant account with each gateway you use.
From no code to full control
Pick what suits your business. They all use the same payment records, webhooks and SMS.
Payment links
Make a link for any amount in the dashboard and send it by SMS, WhatsApp, Facebook or email. The customer opens it, picks bKash, Nagad or card, and pays.
Pay button on any website
Add a “Pay ৳1,500” button to WordPress, Shopify, Wix, Blogger or plain HTML. Your website needs no server code.
API and webhooks
Start payments from any language (PHP, Laravel, Python, Node.js) and receive every result as a signed webhook. Full OpenAPI description included.
Library
Use it inside your own Node.js app: one object starts payments, confirms them and tells your code when someone paid.
Claude and MCP
Ask Claude to make a payment link, check if an order is paid, list today’s payments or text a customer. Actions that move money ask first.
Dashboard
See money received today and in total, every payment with its status, search by phone or order, and download CSV for your accounts.
One clear result for every payment
A Pay button in two lines
Paste this into a WordPress Custom HTML block, a Shopify Custom Liquid section, Wix Embed Code or any page. It opens your checkout with the amount filled in.
<!-- Your BD Connector address --> <script src="https://pay.your-shop.com/embed.js" defer></script> <!-- Shows "Pay ৳1,500" --> <button data-bd-pay data-amount="1500" data-description="Invoice 42" data-reference="INV-42"></button>
A simple API with signed webhooks
Create a payment, send the customer to paymentUrl, and mark the order paid when the payment.success webhook arrives. Webhooks are signed with HMAC-SHA256.
# Start a payment curl -X POST https://pay.your-shop.com/api/payments \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"provider": "bkash", "amount": 1250, "customer": {"name": "Rahim", "phone": "01712345678"}, "reference": "INV-1001"}' # Your webhook receives { "event": "payment.success", "payment": { "amount": 1250, "status": "success", "transactionId": "BKA7Q2XYZ", "reference": "INV-1001" } }
What you get, free
Checkout and receipts
A mobile-friendly checkout page where customers choose how to pay, and a receipt page with the transaction ID.
SMS receipts and alerts
The customer gets a receipt SMS. You get an SMS for every payment. Write your own text, in Bangla or English.
Checked with the gateway
Results are confirmed with the gateway, never trusted from the browser. A paid amount that doesn’t match the order is never marked as paid.
Accounts and CRM
Download CSV for Excel or your accountant. Send every payment to Google Sheets, or through Zapier, Make or n8n to HubSpot, Zoho, QuickBooks and more.
Refunds
Full or partial refunds for bKash and SSLCommerz, from the API or by asking Claude.
Runs anywhere
Any server with Node.js 20, or Docker. No database needed; payments are saved in a file, or in your own database.
Nothing real happens until you switch it on
Test everything with the gateways’ sandbox systems first.
- Starts in sandbox mode: test gateways only, and no SMS is sent.
- Real money moves only after you set live mode with your own merchant keys.
- Your keys stay on your own server. They are never logged or shown.
- The API and dashboard stay off until you set a key and a password.
- Webhooks and the return redirect are signed, so your system can trust them.
- Open source: anyone can read every line. Independently checked by the M8ven Trust Index, with no concerning findings.
Your first test payment in minutes
You need Node.js 20 or newer and sandbox keys for one gateway. The setup guide walks through every step.
Add your keys
Copy .env.example to .env and fill in your gateway’s sandbox keys.
Start
npm run serve gives you the checkout page, dashboard and API.
Run it yourself, or let us run it
| Open source | Hosted by Flowthera | |
|---|---|---|
| Price | Free | ৳990/month |
| Who runs the server | You | Flowthera |
| All gateways, SMS, dashboard, API | Yes | Yes |
| Setup help and support | Community on GitHub | Yes |
Gateway fees are charged by each gateway under your own merchant account.
Good to know
Is it really free?
Yes. The software is open source under the MIT licence. You run it with your own gateway and SMS accounts, and each gateway charges its own fees.
Do I need a merchant account?
Yes, with each gateway you want to use. Sandbox (test) keys are quick to get; live keys need your trade licence and a merchant agreement with the gateway.
Does it take Rocket, Upay and Visa cards?
Yes, through SSLCommerz, shurjoPay or aamarPay. Turn on any of them to accept cards, Rocket, Upay and net banking.
Can I use it with WordPress or WooCommerce?
Yes, with payment links or the Pay button, which you paste into a Custom HTML block. A dedicated WooCommerce plugin is planned.
How does my system know a payment succeeded?
Through a signed webhook sent to your system, a signed redirect to your own page, the API, or a Google Sheet. The SMS and dashboard also show it.
Where is payment data stored?
On your own server, in a file or in your own database. Flowthera doesn’t see it unless you use the hosted version.
Is Flowthera part of Anthropic?
No. Flowthera is an independent company. Claude is a product of Anthropic, and the connector works with it through the open MCP standard.
Start taking payments
Free and open source, or hosted and supported for ৳990/month.