Opens the QRPayBD sign-up page

Nagad and Upay Payment Verification for Your Online Shop

A Nagad or Upay Send Money payment usually shows up as an SMS on the receiving phone with the amount, a transaction ID, your balance and the time. To verify it, find that message or the entry in the wallet app and match the amount and the code to the order. This can be automated by reading the SMS. Today the message readers for Nagad and Upay have been verified on real payments.

How Nagad and Upay payments usually appear

When a customer sends money to your wallet number, two things usually happen. Your wallet app lists the payment in its history, and your phone receives an SMS. The SMS commonly includes the amount, the sender's number, a TrxID or reference code, your updated balance and the time. Exact wording and layout differ between Nagad and Upay and can change when the provider updates its messages. Look at one real message from each wallet you use.

How to verify a Nagad or Upay payment by hand

  1. Search your SMS inbox, or the wallet app's history, for the TrxID the customer gave you.
  2. Check that the amount equals the order total exactly.
  3. Check the time against when the order was placed.
  4. Check that it was received on your wallet number, and that your balance rose by that amount.
  5. Check that the code has not been used for another order.
  6. Write the code next to the order, then mark it paid.

Do not accept a screenshot as the only evidence. It can be edited or reused.

A tip: use the Reference field if the app has one

The Send Money screen in a wallet app may have a Ref or Reference field. If yours does, ask customers to type a short, unique order reference there, such as the order number. It then often appears in the payment message, so you can match payment to order without relying on a TrxID the customer types. This depends on the app version and how the provider words its SMS, so test it with a small payment first.

A Upay caveat about two different TrxIDs

In one real Upay payment made through a Bangla QR, the TrxID the payer saw in their own app was not the same as the TrxID in the SMS the merchant received. It was one observation, so we do not know how often it occurs. If a customer's code does not match anything on your side, ask for the exact amount and time and search by those instead of assuming the payment is fake.

How automatic confirmation works for Nagad and Upay

QRPayBD does not log in to Nagad or Upay and does not hold money. It reads the payment SMS that arrives on the shop's Android phone, using the free Collector app. Your store creates an order through the REST API or the WooCommerce and Elementor plugin, and the customer is shown a payment page with your wallet number, the exact amount and an order reference.

Honest status for each wallet

Provider status in QRPayBD as of 8 October 2026.
WalletStatusWhat it means
UpayVerifiedThe reader has been verified on real Upay payments.
NagadVerifiedThe reader has been verified on real Nagad payments. A payment that does not match goes to the Unmatched inbox for a manual match.
bKashVerifiedThe reader has been verified on real bKash payments.
Rocket and banksPlannedNot built yet.

Verified does not mean perfect. Messages can be reworded, so a new format may need an update before it is recognised.

When a Nagad or Upay payment does not match

Some payments will not match automatically, and that is by design. The goal is to avoid marking the wrong order paid.

Limits to keep in mind

This is not an official Nagad or Upay API. SMS can be delayed, missed, reworded or forged. The shop phone must be on and online. Check your balance in the wallet app for large payments before you ship. Providers may also restrict business use of personal accounts, so read their current terms. QRPayBD is not affiliated with Nagad or Upay, and official merchant API support is planned but not available.

Read: what a TrxID is

To test it with your own Upay or Nagad number, an account is free during early access.

Create a free QRPayBD account