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.We recommend calling the above function and showing only these options to your customers:JavaScript
List of Supported UPI Apps - One-Time Payments
Android | iOS
- gpay
- phonepe
- paytm
- cred
- bhim
- popclubapp
- mobikwik
- super_money
- moneyview
- icici
- navi
- payzapp
- any | - gpay
- phonepe
- paytm
- cred
- bhim
- popclubapp
- mobikwik
- super_money
Handy Tips
- 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
Android | iOS
- Google Pay
- BHIM
- PhonePe
- PayTM
- Amazon Pay | - Google Pay
- PhonePe
- PayTM
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:Error | Cause
Payment failed with selected app | The app passed in create payments methods is not supported Example: If you pass ‘phone’ instead of ‘phonepe’.
UPI transactions are not enabled for the merchant | UPI and UPI Intent methods are not supported.
Payment failed with selected app | Razorpay is not able to open the selected app.
Payment Canceled | Customer callscancelPayment by triggering the exposed method.
Best Practices
Follow these best practices while integrating Razorpay UPI intent with your mobile website:1
Only activate the UPI payment intent when a customer initiates it r...
Only activate the UPI payment intent when a customer initiates it rather than when the page loads.
2
Create a payment immediately after the customer clicks the pay butt...
Create a payment immediately after the customer clicks the pay button without extended async operations between these two steps.
3
When a customer chooses a UPI payment method, pass the value into `...
When a customer chooses a UPI payment method, pass the value into
razorpay.createPayment(paymentData, {app: 'phonepe'}).4
Display a loading screen after starting the UPI payment intent flow...
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 Tips
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.