Available in🇮🇳 India
Integrate UPI Intent on your mobile app. UPI Intent works for UPI PSP apps and is available on Android and iOS.
Prerequisites
- Sign up for a Razorpay account.
- Generate API Keys from the Dashboard.
- Integrate with Razorpay Custom Checkout.
Integration Steps
Follow the steps given below to integrate UPI intent on your mobile app: 1.1 Show Available Apps 1.2 Initiate Payments Using the Intent App1.1 Show Available Apps
Follow the steps given below to show the available UPI intent apps to your customers:- Add Razorpay.js file to your website. Skip this step if you have already completed it.
JavaScript
- Instantiate Razorpay with your Key ID generated from the Dashboard. Skip this step if you have already completed it.
JavaScript
- Call the
getSupportedUpiIntentAppsmethod to get a list of the supported UPI Intent apps.
JavaScript
List of Supported UPI Apps - One-Time Payments
List of Supported UPI Apps - One-Time Payments
Handy TipsThe below functionality is only available for Android.
- The
anyoption triggers the other UPI payment apps installed on your customer’s mobile. - You can use
razorpay.checkPaymentAdapterto check if Gpay is available on your customer’s mobile device. You can show only a specific app using the following:
Gpay
List of Supported UPI Apps - Recurring Payments
List of Supported UPI Apps - Recurring Payments
1.2 Initiate Payment Using the Intent App
Use the code below to initiate UPI intent payments from your app:JavaScript
List of Possible Errors
Below is a list of errors you might face while initiating payments:JSON
Error Response Parameters
Given below is a list of possible errors, and their causes:Best Practices
Follow these best practices while integrating Razorpay UPI intent with your mobile website:- Only activate the UPI payment intent when a customer initiates it rather than when the page loads.
- Create a payment immediately after the customer clicks the pay button without extended async operations between these two steps.
- When a customer chooses a UPI payment method, pass the value into
razorpay.createPayment(paymentData, {app: 'phonepe'}). - Display a loading screen after starting the UPI payment intent flow. Wait until you receive a “success” or “failure” response before cancelling the flow.
Handy TipsIf you have enabled
redirect: true on your end, you will receive the success or failure case as a POST request on the callback URL.- We recommend you provide an option to cancel the payment to your customers on the loading screen.
- Call the
razorpay.emit('payment.cancel')method to cancel the payment. You can also call this method if a customer exits your app without completing the transaction. Razorpay will then terminate the payment.