A UPI payment app is the app on your phone that sends money from your bank account to someone else's bank account within seconds, over UPI. You can pay by scanning a QR code, by typing a phone number, or by typing a UPI ID, an address such as name@bank. For most Indians, this is now the usual way to pay.
Here is a typical case. You buy vegetables worth ₹140 from a vendor at a weekly market in Coimbatore. You scan the UPI QR code hanging from his stall. The QR code holds the vendor's UPI ID. You type ₹140 and your UPI PIN, a 4- or 6-digit number that you set for your bank account. The app sends the payment request to UPI, the public system that NPCI runs. NPCI asks your bank to debit ₹140 from your account. Then it asks the vendor's bank to credit ₹140 to the vendor's account. Each bank receives these requests through its own UPI switch. A small speaker beside the vendor then announces the payment aloud. All of this takes a few seconds.
The app does not hold your money. Your money stays in your account at your bank. The app only lets you instruct your bank to move it. This is the main difference from a digital wallet, which can hold a balance of its own. It is also why you can link any bank account to any UPI app.
Some UPI apps are made by banks. But most UPI payments in India go through a few apps made by companies that are not banks, such as PhonePe and Paytm. A company that is not a bank must connect to UPI through a partner bank.
UPI payments are free for customers. So UPI apps earn very little from the payments themselves. To earn money, they add other products to the same app. You can pay your electricity bill through a bill payment platform, buy insurance or shares, or take a loan. You can also pay from a credit line on UPI, which is money you borrow from a bank, spent through the same QR code.