This cluster aims to document all the knowledge base for UPI transaction. Implementation of most of the UPI flows are different than normal transactions.
There are broadly 2 types of UPI transactions, Collect and Intent(Pure Intent/In App).
For collect transactions, we inform PG to trigger a transaction to the app linked to the provided VPA, which asks user for approval.
For intent transaction we delegate the transaction process to an external app like BHIM, Google Pay etc, which lets user transfer money to a VPA specified by us. After that we use the PG (related to specified VPA) for verification. We have a pre-configured VPA (distinct on PG-Merchant level) on which app makes user to pay the amount.
Implementation details of following are documented separately, available at same location as this document.