---
page_title: Enable UPI Intent on mWeb
product: UPI Intent on mWeb
page_source: https://juspay.io/in/docs/mweb-intent/docs/upi-intent-on-mweb/enable-upi-intent-on-mweb
llms_txt: https://juspay.io/in/docs/llms.txt
product_llms_txt: https://juspay.io/in/docs/mweb-intent/llms.txt
---


# Enabling UPI Intent on mWeb




### **Step 3:** Enable Mweb UPI intent flow on your payment page 



---

## Integration type : Juspay HyperCheckout (Payment Page)


### Step 3.1 Juspay Config Changes


* [Login](https://portal.juspay.in/marketplace?id=6c260790-e62a-46d6-9385-85b071b75a48&name=UPI%2520Intent%2520for%2520mWeb)to Juspay Dashboard and navigate to Marketplace tab to get the UPI Mweb  flow enabled on your Juspay payment page
* Juspay will release these changes in testing environment (CUG) for you to initiate the end to end testing on your app / website



---

## Integration type : Juspay Express Checkout API


### 3.1   Generate URI for UPI payments


* When customers choose the UPI payment option, merchants need to call the [transaction](https://docs.juspay.in/mweb-intent/docs/upi-intent-on-mweb/transaction-api) API.
* From the response of the transaction API, merchants will extract the **sdk_params**  to build the URI.




### 3.2 Invoking UPI apps


The flow of invoking the UPI app changes based on platform. 

> **Note**
> NPCI Guidelines for UI : [https://www.npci.org.in/PDF/npci/upi/circular/2023/OC-163-Furthering-the-Interoperability-in-UPI-ecosystem.pdf](https://www.npci.org.in/PDF/npci/upi/circular/2023/OC-163-Furthering-the-Interoperability-in-UPI-ecosystem.pdf)



**Android implementation** On Android devices, the operating system enables communication with applications installed on the device via the browser. Thus, mWeb browser on Android devices can check for all the UPI PSP apps installed on the device and show them upfront for selection.

* To show the available UPI PSP apps, generic intent URI (as created at the end of Step 3.1) needs to be invoked. 
  
  * Sample URI:
  * **Generic UPI :** upi://pay?tr=202101345671229366&tid=121313202101345671229366&pa=juspay@yesbank& mc=1234&pn= Merchant%20Inc&am=1.00&cu=INR&tn=Pay%20for%20merchant
* A selection tray containing all the UPI-supported PSP apps installed on the user's device will appear.
* Users can choose their preferred app for re-direction, to complete the transaction.

![Image](https://dth95m2xtyv8v.cloudfront.net/tesseract/assets/mweb-intent/AD441C08-A35B-48F6-85BD-7D525B376B26.jpg)
*Android UPI intent*



**iOS implementation** 

On iOS devices, communication with applications through the browser is not permitted. As a result, the information regarding PSP apps installed on the device is not available. 

* As a solution, four commonly used PSP apps—Google Pay, PhonePe, Bhim, and Paytm are displayed to all users on iOS mWeb payment page, regardless of whether these apps are installed or not.

![Image](https://dth95m2xtyv8v.cloudfront.net/tesseract/assets/mweb-intent/Screenshot%202024-05-09%20at%204.09.00%20PM-7aZf8.png)
*iOS Mweb intent*



* To hardcode the four main apps on iOS to support the intent, instead of using the format upi://pay, URI needs to be constructed with respective package names.
* Package names:  
  
  * Google Pay : tez://upi/pay
  * Phonepe : phonepe://pay
  * Paytm : paytmmp://upi/pay
  * Cred : credpay://upi/pay
  * Bhim : bhim://upi/pay
* URI with package names will open the specific app associated with that package name.
* **Sample URI for GooglePay:** tez://upi/pay?tr=202101345671229366&tid=121313202101345671229366&pa=juspay@yesbank& mc=1234&pn= Merchant%20Inc&am=1.00&cu=INR&tn=Pay%20for%20merchant
* As the PSP apps are hardcoded and displayed due to restrictions imposed by the iOS platform, if a user selects a PSP app that is not installed on the device, the redirection and transaction will fail.

> **Note**
> If you wish to display specific apps on Android mWeb payment page upfront, instead of the complete list of available PSP apps, you can use the iOS implementation in Android. However, it is suggested not to hardcode selected apps.





---

## Integration type : Juspay Express Checkout SDK


### 3.1   Generate URI for UPI payments


* When customers choose the UPI payment option, merchants need to call the [transaction](https://docs.juspay.in/mweb-intent/docs/upi-intent-on-mweb/transaction-api) API.
* From the response of the transaction API, merchants will extract the **sdk_params**  to build the URI.




### 3.2 Invoking UPI apps


The flow of invoking the UPI app changes based on platform. 

> **Note**
> NPCI Guidelines for UI : [https://www.npci.org.in/PDF/npci/upi/circular/2023/OC-163-Furthering-the-Interoperability-in-UPI-ecosystem.pdf](https://www.npci.org.in/PDF/npci/upi/circular/2023/OC-163-Furthering-the-Interoperability-in-UPI-ecosystem.pdf)



**Android implementation** On Android devices, the operating system enables communication with applications installed on the device via the browser. Thus, mWeb browser on Android devices can check for all the UPI PSP apps installed on the device and show them upfront for selection.

* To show the available UPI PSP apps, generic intent URI (as created at the end of Step 3.1) needs to be invoked. 
  
  * Sample URI:
  * **Generic UPI :** upi://pay?tr=202101345671229366&tid=121313202101345671229366&pa=juspay@yesbank& mc=1234&pn= Merchant%20Inc&am=1.00&cu=INR&tn=Pay%20for%20merchant
* A selection tray containing all the UPI-supported PSP apps installed on the user's device will appear.
* Users can choose their preferred app for re-direction, to complete the transaction.

![Image](https://dth95m2xtyv8v.cloudfront.net/tesseract/assets/mweb-intent/AD441C08-A35B-48F6-85BD-7D525B376B26.jpg)
*Android UPI intent*



**iOS implementation** 

On iOS devices, communication with applications through the browser is not permitted. As a result, the information regarding PSP apps installed on the device is not available. 

* As a solution, four commonly used PSP apps—Google Pay, PhonePe, Bhim, and Paytm are displayed to all users on iOS mWeb payment page, regardless of whether these apps are installed or not.

![Image](https://dth95m2xtyv8v.cloudfront.net/tesseract/assets/mweb-intent/Screenshot%202024-05-09%20at%204.09.00%20PM-7aZf8.png)
*iOS Mweb intent*



* To hardcode the four main apps on iOS to support the intent, instead of using the format upi://pay, URI needs to be constructed with respective package names.
* Package names:  
  
  * Google Pay : tez://upi/pay
  * Phonepe : phonepe://pay
  * Paytm : paytmmp://upi/pay
  * Cred : credpay://upi/pay
  * Bhim : bhim://upi/pay
* URI with package names will open the specific app associated with that package name.
* **Sample URI for GooglePay:** tez://upi/pay?tr=202101345671229366&tid=121313202101345671229366&pa=juspay@yesbank& mc=1234&pn= Merchant%20Inc&am=1.00&cu=INR&tn=Pay%20for%20merchant
* As the PSP apps are hardcoded and displayed due to restrictions imposed by the iOS platform, if a user selects a PSP app that is not installed on the device, the redirection and transaction will fail.

> **Note**
> If you wish to display specific apps on Android mWeb payment page upfront, instead of the complete list of available PSP apps, you can use the iOS implementation in Android. However, it is suggested not to hardcode selected apps.





---

## See Also

- [PA/PG Set Up](https://juspay.io/in/docs/mweb-intent/docs/upi-intent-on-mweb/papg-set-up)
- [Testing & Validation](https://juspay.io/in/docs/mweb-intent/docs/upi-intent-on-mweb/testing--validation)
