A transaction ID is the unique code that a bank, payment app, or gateway assigns to a single payment so that one transfer can be told apart from every other. It is often called a Txn ID, and it acts like a digital fingerprint: no two are the same, it is generated automatically the moment a payment starts, and it links back to the date, amount, sender, and receiver of that transfer. When a payment fails, gets stuck, or needs a receipt, the transaction ID is the reference you quote to trace it.
For most people the ID is a string of 12 to 22 characters on a UPI receipt or bank statement. For a business that needs to receive money from abroad, the picture is a little different, because a cross-border payment carries a separate SWIFT-level identifier that a domestic transaction ID does not. This guide covers both: what a transaction ID is, what it looks like, where to find it, how it differs from a reference number, a UTR, and a UETR, and how to use it to track a payment while it is still moving.
What is a transaction ID?
A transaction ID is a unique alphanumeric code generated for each financial transaction. Banks, UPI apps such as Google Pay, PhonePe, and Paytm, card networks, and payment gateways each create one automatically when a payment is initiated or completed. Because it is unique, it lets everyone in the payment chain point to the same transfer without confusion.
The ID does not hold your money and it is not sensitive on its own in the way a card number or OTP is. What it does is act as a lookup key. Give it to your bank, the payment app, or the merchant, and they can pull up the full record: the amount, the timestamp, the rails used, and the current status. That is why a transaction ID matters most at three moments: confirming a payment went through, raising a dispute when it did not, and reconciling receipts against your books.
A transaction ID is generated by the system, not typed in by a person. This is the difference between it and a plain reference note. The system ensures the ID is unique; a human-entered reference is only as unique as the person made it.
What does a transaction ID look like?
There is no single global format. The length and pattern depend on the rail that carried the payment. A few examples you will actually see in India:
- UPI transaction ID: Usually a 12-digit number, for example
4XXXXXXXXXXX. Google Pay shows it as "UPI transaction ID", PhonePe labels it "Transaction ID", and Paytm shows both an "Order ID" and a "UPI Ref No" on the same receipt. - Bank reference on NEFT or IMPS: A longer alphanumeric string on your statement, often the UTR. On an SBI statement it appears under "Ref No / Cheque No", while HDFC Bank and ICICI Bank netbanking label it "UTR Number".
- RTGS UTR: A 22-character code that encodes the bank and the date, for example
HDFCR52026090300XXXXXX. - Gateway payment ID: A prefixed string such as
pay_XXXXXXXXXXXXfrom a payment gateway like Razorpay or Cashfree.
An RTGS reference is a good one to decode, because its parts are readable once you know the pattern:
H D F C R 5 2026 09 03 0001 2345 │─────│ │ │──────────│ │────────│ Bank Rail Date Sequence code type YYYYMMDD number
Read that way, the identifier tells you the originating bank, the rail, the date the transfer was booked, and a running sequence number for that day. Not every ID is this structured, but the principle holds: a transaction ID is built to be unique and traceable, not random.
If you are ever asked "how many digits is a transaction ID", the honest answer is that it varies by rail. UPI IDs run to 12 digits, an IMPS or NEFT UTR is often 12 or 16 characters, and an RTGS UTR is 22 characters. There is no fixed universal length.
Where to find your transaction ID
The transaction ID sits wherever the payment was recorded. Where you look depends on how you paid, so the steps below cover each channel.
- In a UPI app (Google Pay, PhonePe, Paytm): Every UPI payment carries a 12-digit UPI transaction ID alongside a Retrieval Reference Number. Open the app, find the payment in your history, and the ID is in the payment details.
- Google Pay: Tap your profile picture or "Manage your money", open "See transaction history", tap the payment, and read the value shown as "UPI transaction ID".
- PhonePe: Open the History tab, tap the relevant transaction, and the "Transaction ID" appears in the payment summary along with the UTR.
- Paytm: Open Passbook or Balance and History, select the payment, and the transaction ID shows under the payment details, next to the Order ID and the UPI Ref No.
- On your bank statement or netbanking: Electronic transfers such as an imps transfer, NEFT, or RTGS show a reference against each line, usually the UTR. SBI labels it "Ref No / Cheque No", while HDFC Bank and ICICI Bank label it "UTR Number".
- On a card or gateway receipt: A card payment records a transaction ID and an RRN at the moment it is authorised. A gateway payment adds its own payment ID, such as pay_XXXXXXXXXXXX, separate from the merchant's order ID.
- On a confirmation SMS or email: The bank, merchant, or gateway includes the transaction ID on the success message.
For a business, the same ID should flow into your accounting tool so that a receipt can be matched to an invoice later. If you receive international payments, the identifier you need to trace an inbound transfer is not the one printed on a domestic receipt, which brings us to the part most guides skip.
Transaction ID vs reference number, UTR, UETR, order ID, RRN, and payment ID
These terms get used loosely, so people assume they are the same thing. They are not. Each one is created by a different party at a different point in the payment chain. Here is how they line up.
| Identifier | What it is | Where it applies | Typical format | When it appears |
|---|---|---|---|---|
| Transaction ID (Txn ID) | The umbrella code for one payment | Any rail (UPI, card, bank, gateway) | 12 to 22+ alphanumeric | At initiation or completion |
| Reference number | A label the sender or invoice attaches, or a bank's internal note | Any | Freeform text | Set by the sender before or during payment |
| UTR | Unique Transaction Reference for Indian domestic transfers | NEFT, RTGS, IMPS, UPI | 12, 16, or 22 characters | After the transfer clears on Indian rails |
| UETR | A 36-character SWIFT end-to-end reference for cross-border wires | Global SWIFT network | 36-character UUID | At initiation, stays constant across banks |
| Order ID | The merchant or platform's own ID for the order, separate from the payment | E-commerce, platforms | Varies by platform | At checkout, before payment |
| RRN | Retrieval Reference Number used to trace card and UPI transactions | Card and UPI | 12 digits | At authorisation |
| Payment ID | A gateway's identifier for the payment attempt | Gateway payments | Prefixed alphanumeric | When the payment is processed |
Two clarifications settle most of the "are these the same" questions. First, a reference number is not always unique, because a person or a system can reuse it, whereas a transaction ID is unique by design. Second, an order ID belongs to the shop, while the transaction ID belongs to the payment. One order can, in a retry, carry more than one payment attempt, each with its own transaction ID.
If you want to go deeper on any single identifier, each has its own detailed explainer: the utr number, the rrn retrieval reference number, and, for wires, the swift mt103 message that carries the UETR.
How to check or verify a payment using a transaction ID
You cannot usually "look up" a stranger's transaction ID on a public website, and you should be wary of any tool that claims you can, because payment records are private to the parties involved. What you can do is check your own transaction:
- In the app or netbanking that made the payment: Search your history for the transaction ID or the amount and date. The status shown there is the authoritative one.
- With the receiving party: Share the transaction ID with the merchant or biller so they can confirm the credit against their record.
- With your bank's support: If money left your account but did not reach the other side, quote the transaction ID or UTR to your bank so they can trace the leg that failed.
A common real scenario: you send ₹4,000 by IMPS from your SBI account to a supplier's ICICI account, your account is debited, but the supplier says nothing arrived. You open your bank record, note the UTR against that ₹4,000 line, and quote it to the bank. The UTR is what the branch or netbanking support uses to find where the money is. Under the RBI's turnaround-time rules for failed transactions, most such cases resolve as an auto-reversal within a few working days once the reference is traced. The ID is the thread that lets the bank pull the whole transaction back into view.
What a transaction ID means in banking, UPI, and card payments
The same term behaves slightly differently depending on how you paid. Knowing which identifier your channel actually shows saves a lot of guesswork when you need to trace something.
In bank transfers (NEFT, RTGS, IMPS): The transaction ID you see on a statement is usually the UTR, and the rail behind it, whether you weigh imps vs neft or use RTGS, changes only the format. Your bank generates it when the transfer is processed, and it is the reference to quote when you ask a branch or netbanking support to trace a transfer. An RTGS UTR is 22 characters and encodes the bank and date; NEFT and IMPS references are shorter. This is the "transaction ID in bank" people search for, and in practice it is the UTR.
In UPI payments (Google Pay, PhonePe, Paytm): Each UPI payment gets a 12-digit UPI transaction ID and, alongside it, a Retrieval Reference Number. Together they identify the payment across the sender's bank, the receiver's bank, and the UPI switch. You find both in the app by opening the specific payment in your history. When someone asks what the transaction ID in PhonePe, GPay, or Paytm is, this 12-digit code is the answer.
In card payments: The card network and acquiring bank assign a transaction ID and an RRN at the moment the payment is authorised. For a RuPay, Visa, or Mastercard payment in India, the merchant separately records an order ID and, if a gateway is involved, a payment ID. For a refund or chargeback, it is the RRN or transaction ID that the bank uses to locate the original charge, which is why keeping the receipt matters.
In online payments through a gateway: A gateway issues its own payment ID, often with a prefix, that is distinct from the merchant's order ID. A Razorpay payment ID, for example, looks like pay_XXXXXXXXXXXX, and its order ID like order_XXXXXXXXXXXX. When you reconcile online sales, match on the gateway's transaction or payment ID rather than the order ID, because a single order can carry more than one payment attempt. This is the root of most "is order ID the same as transaction ID" confusion; they are created by different systems for different purposes.
The thread running through all four is the same. One payment, one system-generated unique code, used to confirm, dispute, or reconcile that specific transfer.
Transaction IDs for international payments
This is where a domestic mental model breaks. When a client abroad sends you an international bank transfer, there is no single thing called "the transaction ID" in the way there is for a UPI payment. A cross-border wire moves over the SWIFT network, where every bank on the route is identified by its own SWIFT/BIC code, and three different identifiers travel with the payment itself. You can look up any bank's code with a swift code finder. Knowing which identifier is which is the difference between tracking a payment and waiting blind.
UETR, the real transaction ID for a wire: Since 2020, every SWIFT wire moving under SWIFT gpi carries a UETR, a Unique End-to-end Transaction Reference. It is a 36-character code, generated the moment the sending bank releases the payment, and it stays the same across every bank the money passes through until it lands in your account. This is the closest thing to a true transaction ID for an international payment, and it is what a swift gpi tracker uses to show progress. If you receive money from abroad, this is the identifier to ask your client for.
MT103, the message, not the ID: The MT103 is the SWIFT payment message itself, the instruction that confirms the wire was sent. It contains the sender, receiver, amount, currency, the routing banks identified by their bank swift codes, and charges, and the UETR lives inside it. An MT103 is proof that a transfer was initiated, not proof that it has been credited. It is useful evidence, but you track with the UETR, not the message.
UTR, only after the money reaches India: A UTR is an Indian domestic concept. When the incoming foreign currency is converted to INR and credited to your account over NEFT, RTGS, or IMPS, an Indian bank or your payment partner generates a UTR for that final domestic leg. It only exists once the money has already arrived in India, so it cannot help you while the wire is still in transit internationally.
Reference number, the vaguest of the set: On a cross-border payment this can mean your client's own invoice reference, the sending bank's internal reference in SWIFT field 20, the account's IBAN in some corridors that you can confirm with an iban checker, or your bank's reference for the inward remittance. None of these are globally trackable on their own; they are bank-specific labels.
Here is how it plays out for a real Indian entity. A Bengaluru-based IT services company invoices a US client USD 5,000. The client's US bank releases a SWIFT wire and shares a 36-character UETR such as f47ac10b-58cc-4372-a567-0e02b2c3XXXX. The company hands that UETR to its own bank, which traces the wire across the intermediary banks over two to three days. Only once the dollars are converted to rupees at the usd to inr rate and credited to the company's HDFC Bank current account does an Indian UTR appear on the statement, against that single INR credit. The UETR tracked the money in transit; the UTR marks its arrival.
The practical rule for an Indian services exporter is simple. Right after your overseas client sends the wire, ask them or their bank for the SWIFT UETR, a 36-character code most banks show on the transfer confirmation. Give that to your own bank, and it becomes the single reference that follows the payment across the whole journey. If you want to confirm the routing banks yourself, you can look up swift codes by country.
Receive international payments without chasing wire references
How a receiving platform simplifies cross-border identifiers
If your inbound payments run through a bank wire, whether you receive money from usa to india or from any other corridor, you are left stitching UETR, MT103, and UTR together yourself. A licensed cross-border receiving platform can abstract that away. On collect international payments, a client sends money to a receiving account issued in your name, and you see one clear status and one settlement reference on the dashboard, mapped to the underlying SWIFT and domestic legs behind the scenes.
Xflow is one such platform, built for India's services exporters. It holds a final Payment Aggregator – Cross Border (PA-CB) authorisation from the Reserve Bank of India for both exports and imports, granted in February 2026, and it settles to your Indian bank account on a next business day (T+1) basis. It is ISO 27001 and SOC 2 certified, and the receiving account is a ring-fenced routing account used only for booking the FX, not an account Xflow owns your money in. The point for this discussion is narrow: instead of three identifiers you reconcile by hand, you get one tracking reference and an automatically issued electronic Foreign Inward Remittance Advice, or eFIRA, for your records. Whether you use a platform or a bank, the identifier logic above is the same; a platform just collapses it into one view.
Why the transaction ID matters for your records
For a business, a transaction ID is not trivia. It is the reference that ties a payment to the paperwork around it.
- Reconciliation: Matching a receipt to an invoice in your accounting tool relies on a unique per-payment reference. The transaction ID is that key.
- Disputes and refunds: A chargeback, a duplicate charge, or a failed payment is investigated by transaction ID. Without it, support cannot find the transfer.
- Compliance for exporters: For inbound international payments, the transaction reference underpins your fira and, downstream, your export documentation. For an Indian software or services exporter, that reference ties the remittance to the SOFTEX filing and the electronic Bank Realisation Certificate (eBRC), and it supports the export-turnover claim in a GST refund under a Letter of Undertaking. The identifier links the money to the proof that it was a genuine export receipt.
None of this changes the fact that the ID itself is harmless to share with the parties to the transaction. It is a lookup key, not a credential. Treat it like an order number: useful to quote, safe to reference, worth keeping.
Common transaction ID problems and what to do
"Money debited, no transaction ID or receipt." Wait a few minutes and refresh the app history; the ID usually appears once the transfer is confirmed or reversed. If it never appears and the money is gone, the amount was likely not captured and will auto-reverse. Quote the amount, date, and time to your bank.
"Is this transaction ID real or fake?" You cannot verify someone else's transaction ID on a public site. A common scam in India is a buyer sending a fake PhonePe or Google Pay "payment successful" screenshot with a transaction ID to a shopkeeper. Do not treat the screenshot as confirmation. Check your own bank SMS, your UPI app history, or your payment platform's dashboard for the actual credit before releasing goods or services. A screenshot of a transaction ID is not the same as money received.
"I have the transaction ID but no payment details." The party who generated the ID can pull the details. For a UPI payment that is the app; for a bank transfer, your bank; for a card or gateway payment, the merchant or gateway. The ID alone does not expose details to anyone outside the transaction, which is by design.
Understanding the identifier is half the job. The other half, for anyone receiving money across borders, is choosing a route where the tracking and the compliance are handled for you rather than pieced together after the fact.
Get paid by overseas clients with one clear reference and auto eFIRA
20
000+ businesses
Mid-market FX rates
ISO 27001 & SOC 2
Frequently asked questions
A transaction ID is the unique code a bank, app, or gateway assigns to one payment. It acts as a reference to confirm, trace, or dispute that specific transfer. No two are the same.
It varies by rail. A UPI transaction ID is usually 12 digits, an IMPS or NEFT UTR is often 12 to 16 characters, and an RTGS UTR is 22 characters. There is no fixed universal length.
Not always. A transaction ID is generated by the system and is unique by design. A reference number can be a label the sender or bank attaches, and it is not always unique.
For an Indian domestic transfer, the UTR often is the transaction ID on your statement. For an international wire, the tracking identifier is the SWIFT UETR, and a UTR appears only after the money is credited in India.
Open the app or netbanking that made the payment, go to your history, and tap the specific transaction. UPI apps and bank statements list the transaction ID or UTR in the payment details.
It is the SWIFT UETR, a 36-character code generated when the wire is sent that stays constant across every bank until the money lands. Ask your overseas client for it to track the payment.
You can check your own transaction in the app, netbanking, or platform that recorded it. You cannot look up someone else's transaction ID on a public site, and a screenshot is not proof of payment.