Start here
Quickstart
Take your first real payment in five steps, from account creation to a completed webhook.
6 min read
1. Create a workspace
Register with your name, email and password. The first user is the workspace owner and receives an admin role on the default brand.
Every workspace includes sample data. You can remove it later from Settings → Workspace.
2. Add a gateway
Go to Gateways and add the MFS account you collect into. Select the provider, account type and the number that receives the SMS. Enable pending payments if you want to accept TrxIDs while a device is offline.
- bKash / Nagad / Rocket numbers are formatted with the country code.
- Balance verification requires the previous balance from the last matched SMS. The first payment on a new gateway is verified by TrxID only.
- Bangla QR and bank transfer gateways collect proof instead of an SMS.
3. Pair a device
Open Devices, create a device and copy its token into the NaklaPay forwarder app on the Android phone that holds the SIM. The device reports a heartbeat every 15 minutes; the dashboard shows last-seen time and flags the device offline after 12.
On the phone, grant SMS access and notification access. The forwarder reads both the raw SMS broadcast and payment notifications, so a message filtered out of the inbox is still captured. Dual-SIM phones tag every message with its SIM slot.
On the device card, Smart verify controls whether a unique 85+ confidence match may complete a payment without a verified balance. Leave it off for strict balance-only matching, or turn it on for shops where the payer's number is reliable.
A device can serve several gateways if the SIM receives messages for all of them.
4. Create a charge
The simplest test is a payment link. Create one for ৳10 and open it on your phone.
curl -X POST https://your-domain.com/api/charge \
-H "RT-TAKAFLOW-API-KEY: tf_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"full_name": "Test Customer",
"amount": 10,
"metadata": { "order_id": "TEST-1" }
}'5. Confirm the loop
Pay the amount to the gateway number from another phone, submit the TrxID at checkout, and watch the SMS arrive in your workspace. The payment should move to COMPLETED within a few seconds, and the webhook (if configured) should be delivered.
If the SMS arrives late, the payment stays pending and the automation loop reconciles it: an approved SMS with the same amount, provider and sender is matched inside a three-hour window, and late messages are reprocessed for 24 hours. A payment is only auto-completed at 85/100 confidence or higher; anything from 55 is suggested to your team with its evidence.
If nothing matches, check the device last-seen time and the SMS log on the SMS data page. Every raw message is stored with its parse result and rejection reason.