Fetch Transaction by RRN
Fetches transaction details by Retrieval Reference Number (RRN). The RRN is a unique identifier assigned to each UPI transaction by NPCI. Useful for looking up specific transactions for support or reconciliation.
Request Body
application/json
Device and SIM information required for UPI API authentication and tracking
Retrieval Reference Number (12-digit NPCI transaction reference)
Response Body
application/json
curl -X POST "https://sandbox-upi-api.m2pfintech.com/upi/v1/wrapper/transaction/fetchByRrn" \ -H "Content-Type: application/json" \ -d '{ "deviceInfo": { "deviceId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "simId": "8991101200003204510", "deviceType": "MOB", "os": "Android", "telecom": "Airtel", "geoCode": "13.0827,80.2707", "appId": "v2.0", "ipAddress": "192.168.1.50", "location": "Mumbai", "mobile": "919876501234" }, "channelCode": "HDFC0001234", "seqNo": "505", "rrn": "603012345678" }'{
"status": "SUCCESS",
"exception": null,
"seqNo": "505",
"result": {
"txnId": "TXN20260301123456ABCD",
"rrn": "603012345678",
"npciResponseCode": "00",
"txnStatus": "SUCCESS",
"amount": "250.00",
"payerVpa": "amit.patel@indie",
"payeeVpa": "merchant@upi",
"payeeName": "Coffee Shop",
"txnDate": "2026-03-01T14:30:00Z",
"txnType": "PAY",
"remarks": "Coffee payment"
}
}Collect Request Authorization (Accept or Decline) POST
Authorizes (accepts) or declines a pending collect request. When accepting, the encrypted UPI PIN block is required for payment authentication. Declining a collect request does not require a PIN. NPCI has deprecated collect-based UPI payments for Android devices effective February 28, 2026.
Initiate Payment Request (Pay) POST
Initiates a UPI payment (debit from payer, credit to payee). This is the primary API for sending money. Supports P2P (person to person) and P2M (person to merchant) payments. The encrypted UPI PIN block is required for authentication. This is an asynchronous API - use reqPayRes with the callbackRef to get the final payment status. The txnId must be unique for idempotency. Amount is always a string with 2 decimal places. The v2 endpoint supports enhanced features including international payments and MCC-based limits.
