System Flow

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.

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