---
title: "UPI Autopay"
description: "Offer recurring payments to your shoppers with our UPI Autopay integration."
url: "https://docs.adyen.com/payment-methods/upi/upi-autopay"
source_url: "https://docs.adyen.com/payment-methods/upi/upi-autopay.md"
canonical: "https://docs.adyen.com/payment-methods/upi/upi-autopay"
last_modified: "2026-06-01T15:33:15+02:00"
language: "en"
---

# UPI Autopay

Offer recurring payments to your shoppers with our UPI Autopay integration.

[View source](/payment-methods/upi/upi-autopay.md)

With UPI Autopay, shoppers can link their bank account to a mobile app, allowing them to set up recurring payments via instant bank transfer. Shoppers can use one of a number of apps built by participating banks or third party app partners that support UPI Autopay. Refer to this [comprehensive list](https://www.npci.org.in/what-we-do/autopay/list-of-banks-and-apps-live-on-autopay).

You can accept recurring UPI Autopay payments for the following types of payments:

* Subscriptions: A recurring transaction made at regular intervals for a product or a service. These payments use the **Subscription** [recurring processing model](https://docs.adyen.com/online-payments/tokenization/#recurring-payment-types).
* Automatic top-ups: Contracts that occur on a non-fixed schedule using stored payment details. This includes automatic top-ups when the balance drops below a certain amount. These payments use the **UnscheduledCardOnFile** [recurring processing model](https://docs.adyen.com/online-payments/tokenization/#recurring-payment-types).

With Adyen’s UPI Autopay solution, you can give your shoppers different payment options for signing up on the recurring plan:

* UPI Collect - Ask your shopper to enter their UPI virtual payment address (VPA) and approve Autopay on their UPI app.

* UPI QR - Display a QR code that shoppers can scan using their UPI app to approve Autopay.

* UPI Intent (mobile & mobile web only) - Redirect your shopper to their UPI app on their mobile device to approve the Autopay request.

## How to pay with UPI Autopay

After shoppers select to pay through UPI Autopay on your website for the first time:

1. Shoppers are provided with various payment options such as UPI collect, QR and Intent.
2. On their UPI app, shoppers view the Autopay request, which includes key details such as frequency, amount, and start & end dates.
3. Shoppers then enter their UPI PIN to approve the Autopay request.
4. Once the Autopay is successfully approved, shoppers can view the successful mandate creation on their app.
5. Within a few seconds, they also see "First payment successful", representing the initial charge tied to the mandate. ([Note](#when-fail) on when payment fails.)
6. When shoppers go back to your checkout page, they are shown the payment status.
7. For subsequent payments, shoppers receive a pre-debit notification in the form of an SMS or an email or a push notification from their UPI App at least 24 hours before the recurring amount is charged.
8. For payments below ₹15,000, the recurring amount is debited from shopper's account.
9. For payments ₹15,000 and above, shoppers are prompted to enter their UPI PIN to authorise the charge.

### When first payments fail

There may be cases during the signup where the Autopay mandate creation is successful, but the first payment fails. In such scenarios, Adyen will automatically cancel the Autopay mandate. As a result, the shopper will see the mandate marked as cancelled in their UPI app. You can initiate a fresh transaction and prompt the shopper to sign up again.

**Why is it auto-cancelled?**

UPI mandates without a successful first payment within five minutes require shoppers to re-enter their UPI PIN for future recurring charges. To avoid this added shopper friction, Adyen only tokenizes the payment details after a successful initial payment.

## Frontend design considerations

To deliver a smooth and intuitive UPI Autopay experience, tailor the payment options based on the shopper's device. It is recommended that at-least two types of UPI flows are provided per channel as below:

* On desktop: Offer UPI QR and UPI Collect as the preferred payment options, since UPI Intent is not supported.

* On mobile: Offer UPI Intent and UPI Collect as preferred options.

  * For Android, you can use a generic intent to open the app drawer, allowing shoppers to select any installed UPI app.
  * For iOS, use app-specific intent URLs, as app drawer functionality is not supported.

**Using Adyen’s frontend SDKs:**

When you use Adyen’s web SDKs (drop-in/components), the web SDK detects the screen size of desktop and mobile web to display relevant payment options.

You can now use the latest Web SDK component ([v6.22.0 or later](https://github.com/Adyen/adyen-web/releases/tag/v6.22.0)) to automatically display mandate information, providing shoppers with clear visibility of the recurring payment details.

For implementation details, refer to the drop-in and components web integration details.

If you are interested in Adyen’s native app SDKs, reach out to your Implementation Manager for assistance.

## Handling free trials in Autopay

UPI Autopay does not support creating a mandate without an initial charge. This means that you cannot set up a billing plan with a 0 INR value transaction.

To enable a free trial experience:

1. Authorize a minimum amount of 2 INR at the time of creating the mandate.
   * Use the `additionalAmount` in the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request for this.
2. When the authorization completes successfully, Adyen automatically initiates a refund for the authorized amount.

If the auto refund fails, a `REFUND_FAILED` [webhook](https://docs.adyen.com/api-explorer/Webhooks/1/post/REFUND_FAILED) will be sent. Retry the refund using the standard refund flow.

## See also

* [API only integration](/online-payments/build-your-integration/advanced-flow?platform=Web\&integration=API%20only)
* [Webhooks](/development-resources/webhooks)
* [API Explorer](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/overview)
