UPI
UPI (Unified Payments Interface) is a real-time payment system developed by NPCI (National Payments Corporation of India) that enables instant bank-to-bank transfers using a mobile device. Nimbbl supports multiple UPI payment flows — Collect, Intent, and QR — giving customers flexibility in how they authorize payments.
What is UPI
UPI allows customers to send and receive money directly between bank accounts using a Virtual Payment Address (VPA), also known as a UPI ID (e.g., customer@upi). Unlike card payments, UPI does not require the customer to share bank account details or card numbers with the merchant. The customer authenticates the payment in their UPI app using a UPI PIN.
UPI payments in Nimbbl are identified by the payment_mode value UPI in the payment response. Key UPI-specific attributes include:
| Attribute | Description |
|---|---|
upi_id | The customer's VPA (Virtual Payment Address) |
upi_holder | Name of the VPA holder |
upi_app_name | The UPI app used for the payment (e.g., Google Pay, PhonePe) |
upi_flow | The UPI flow used: Intent, Collect, or QR |
upi_instrument | The type of underlying account used (Bank Account, Credit Card, or Prepaid Wallet) |
UPI Payment Flows
Nimbbl supports three distinct UPI payment flows. The available flows depend on the customer's device (mobile vs. desktop) and the checkout configuration.
Collect Flow
The Collect flow is used when the customer provides their VPA (UPI ID) and the merchant sends a collect request to that VPA. The customer then approves the request in their UPI app.
- Customer enters their VPA (e.g.,
customer@okhdfcbank) during checkout - Nimbbl sends a collect request to the customer's UPI app through the payment partner
- The customer receives a payment notification in their UPI app
- The customer opens the notification, reviews the payment details, and enters their UPI PIN to approve
- The payment is processed and the result is returned to Nimbbl
The Collect flow works on both desktop and mobile devices, making it the most universally available UPI flow. It requires the merchant to have the customer's UPI ID before initiating the payment.
Intent Flow
The Intent flow is used on mobile devices where a UPI app is installed. Instead of entering a VPA, the customer selects a UPI app and is redirected to it to complete the payment.
- Customer selects a UPI app from the available options during checkout (e.g., Google Pay, PhonePe, Paytm)
- The checkout opens the selected UPI app via a deep link (intent)
- The UPI app displays the payment details
- The customer enters their UPI PIN to approve
- The payment is processed and the customer is returned to the checkout
The Intent flow provides a faster experience on mobile because the customer does not need to type their VPA or switch between apps manually. It requires the customer to have a UPI app installed on their device.
QR Flow
The QR flow displays a scannable QR code that the customer scans with their UPI app. This flow is particularly useful when the customer is on a desktop and wants to pay using their phone.
- Checkout displays a QR code containing the payment details
- The customer opens any UPI app on their phone and scans the QR code
- The UPI app displays the payment details
- The customer enters their UPI PIN to approve
- The payment is processed and the checkout updates automatically
The QR flow bridges the gap between desktop checkout and mobile-based UPI authentication. No redirect or deep link is required — the payment request is delivered via the scanned QR code.
UPI Apps
UPI payments are processed through payment partner apps that connect to the customer's bank account. Common UPI apps include:
- Google Pay (GPay)
- PhonePe
- Paytm
- BHIM
- Amazon Pay
- CRED
Each UPI app acts as a frontend for the customer's bank. The actual fund transfer happens between the customer's bank and the merchant's bank through the UPI network operated by NPCI. The availability of specific UPI apps in the Intent flow depends on which apps are installed on the customer's device. The Collect and QR flows work with any UPI app.
For a complete list of third-party UPI apps, see the NPCI UPI members directory.
VPA Validation
Before initiating a UPI Collect payment, Nimbbl can validate whether the customer's VPA is a valid, active UPI address. VPA validation helps reduce failed transactions caused by incorrect or inactive UPI IDs.
The validation process checks:
- Whether the VPA format is valid (e.g.,
name@bankhandle) - Whether the VPA is registered and active on the UPI network
- The name of the VPA holder (returned to the checkout for customer confirmation)
VPA validation is performed as part of the Collect flow before the collect request is sent. For API-level details on VPA validation, see the Validate UPI API.
VPA validation is recommended for the Collect flow to reduce payment failures. In the Intent and QR flows, validation is not needed because the customer authenticates directly in their UPI app.