> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-60c89f9a-mintlify-audit-missing-sections-1778528421.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# About Webview for Mobile Apps

> If you want to accept payments on your Android or iOS apps without integrating with our native SDKs, reuse your Custom Integration code. This opens the checkout form in a WebView on your mobile app. Pass the **callback_url** parameter along with other checkout options to process payments.

## Why Webview Checkout is Problematic

Users seem to utilise web checkout within webviews rather than integrating with our SDKs. While this allows you to reuse your existing web integration and avoid re-implementing cart/checkout in the SDK, it introduces multiple issues and is **not recommended**.

Integrating web checkout within webviews can result in several critical issues including but not limited to:

* **Popup Restrictions**: Flows requiring popups may be disabled or may not function as expected.
* **UPI Intent Configuration**: Additional configuration is required to make UPI intent work within webviews.
* **Bank Transfers and Downloads**: Payment methods like bank transfer, which rely on downloads, will fail as webviews do not support downloads by default.

## Recommended Approach

We strongly recommend migrating to our [SDK](/payments/payment-gateway/web-integration/custom) instead of using webviews to ensure full compatibility and a smoother experience.

If you still decide to proceed with webview-based checkout, please consider the below adjustments to minimise issues, including but not limited to.

## Webview Integration Guide (For Users Proceeding Anyway)

* **Implement Callback URL Handling**: Ensure your integration correctly handles [callback URLs](/payments/payment-gateway/callback-url) to receive payment status updates reliably.
* **Configure UPI Intent**: Follow additional steps to ensure [UPI intent](/payments/payment-gateway/web-integration/custom/payment-methods/upi-intent-mweb) payments function correctly on [Android](/payments/payment-gateway/web-integration/custom/features/webview/upi-intent-android) or [iOS](/payments/payment-gateway/web-integration/custom/features/webview/upi-intent-ios).
* **Handle Download Restrictions**: Implement solutions for payment methods that require file downloads. For now, you will need to manage downloads on your end.
