Intent flow is a push payment flow in which the customer initiates a payment to the merchant through his UPI Payer app.
When the customer approves the transaction, Incoming Money to Merchant - Pay callback is triggered to notify the merchant on the transaction status.
There is a possibility of customers paying to the merchant directly by typing in the merchant VPA in their payer app outside of the Merchant app, leading to Merchant receiving the credit without any reference to an order. This results in reconciliation and refund issues. To prevent direct pay transactions, Merchant should call the PSP with Register Intent API with orderId as merchantRequestId and in the response merchant receives an orderId and transactionId (TR - Transaction Reference, TID - Transaction ID) which should be used for Intent - URI construction.
PSP Validates all incoming transactions and allows only transactions with registered orderid to pass through while rejecting other transactions.
Merchant can also trigger Transaction Status API to get a realtime status of the transaction after initiating successful Register Intent API call.