Users can avail the product/service offered by merchants by paying prices at regular intervals. Once the user selects the plan on the merchant platform, the merchant needs to create the subscription.

Currently, the below apps are only supporting Autopay (Direct Integration with PhonePe).

  • PhonePe (Android and iOS)

  • BHIM UPI (Only Android)

  • Paytm (Only Android)

Recurring payments can typically be classified into 2 steps:-

  1. Setting up the Mandate

  2. Recurring Payments

## Mandate Set Up Flow

**Step 1:** The merchant needs to create a subscription id against each subscription request by calling **Create User Subscription API**.

Once the subscription is created, the merchant can choose whether to charge the customer immediately or at a later stage. Basis on the use case, there will be two types of Mandates:

  1. Mandates with first-time payments

  2. Mandates without first-time payment. The user provides consent for all future payments. In this case, the customer will be charged Rs. 1 for completing the mandate. The merchant needs to pass the **amountType=Vairable**

**Step 2:** Merchant can call the **User Subscription Status API** to check the status of Subscription

**Step 3:** The merchant calls the **Submit AUTH Request API** with the subscription id as input for the mandate.

**Step 4:** Merchant redirects the user to the intent/redirection URL received in the response of **Submit AUTH Request API**. Users set up the mandate by making payments successfully.

**Step 5:** Merchant calls the **AUTH Request Status API** to check the status of API and displays the status of subscription to the user

**Step 6:** Merchant can call the **Cancel API** to manage the subscription anytime during the subscription cycle

## Recurring Flow

The second part of the subscription is to charge the user periodically on the basis of pre-defined frequency and amount

**Step 1:** Merchant calls **Recurring INIT API** 24 hours before the due date. PhonePe will send the details to the issuing bank of the user to send the notification of the recurring payment.

**The merchant needs to send notification separately via email, SMS, or in-app push notifications to users**

Merchant can set the flag **autoDebit** as true if the merchant wants PhonePe to deduct the balance without the requirement of calling **Recurring Debit Execute API** from its side.

If the **autoDebit** flag is passed as false, PhonePe will wait for **Recurring Debit Execute API** call from merchant’s end to make the debit call.

**Step 2:** PhonePe debits the amount basis on the value of **autoDebit** flag or **Recurring Debit Execute API** from the merchant’s end.

**Step 3:** PhonePe sends an S2S callback to the merchant on the completion of the Recurring Debit call. Merchant can also call **Debit Execute Request Status API** to check the status of Recurring Debit