Skip to main content
Use the API key in the x-api-key header. Do not send it in the Authorization header, and cookies are not required.
Quick ReferenceRequired: Customer information, plan details, and first charge timeReturns: subscription_id, merchant_ref_id, auth_dataPayment Mode: UPI_RECURRING

Endpoint Details

Request Headers

string
required
Your secret API key issued by FastFlowPe.
string
required
Must be application/json.
string
required
Must be application/json.

Request Body

Customer Information

string
required
Your unique reference ID for the subscription. This value must not have been used previously.
string
required
Customer’s full name.
string
required
Customer’s email address.
string
required
Customer’s phone number.
string
required
Payment mode used for the subscription. For recurring UPI mandates, use UPI_RECURRING.
string
required
Customer’s UPI ID or VPA used to authorize the recurring mandate.
float
required
Amount authorized while setting up the mandate. It cannot exceed plan_amount.

Plan Details

string
required
Display name of the subscription plan.
string
required
Type of subscription plan.Supported values:
  • PERIODIC — charges are scheduled automatically based on the configured interval.
  • ON_DEMAND — charges can be initiated when required.
float
required
Amount charged during each billing cycle.
float
required
Maximum amount permitted for a charge under this subscription. It must be greater than or equal to plan_amount.
integer
required
Maximum number of billing cycles allowed for the subscription.
integer
required
Number of interval units between recurring charges.
string
required
Interval unit used for recurring charges.Supported values:
  • DAILY
  • WEEKLY
  • MONTHLY
  • YEARLY
For example, plan_intervals: 1 with plan_interval_type: DAILY means the subscription is charged once every day.

Subscription Metadata

string
required
First scheduled charge time in ISO 8601 format.Example: 2026-10-07T00:00:00+05:30
subscription_expiry_time is calculated automatically by FastFlowPe.Authorization details are also created internally using customer_info.authorization_amount.

Request Example

Response

A successful request returns a 200 response with the FastFlowPe subscription ID, merchant reference ID, and authorization information required to complete the mandate. If subscription creation fails, the API returns a failure response with the internal subscription ID and the error received while creating the subscription.

Response Fields

string
Indicates whether the subscription initialization request succeeded or failed.Possible values include success and failure.
integer
HTTP-style status code associated with the response.A successful request returns 200. Validation or subscription creation failures may return a 4xx status code.
string
Human-readable message describing the result of the request.
object
Additional details related to the response when available.This may be null.
string
Unique FastFlowPe internal subscription ID.This value may be returned for both successful and failed subscription creation attempts.
string
Merchant reference ID originally provided in customer_info.merchant_ref_id.This field is returned when the subscription is created successfully.
object
Authorization information required for the customer to complete the recurring mandate setup.This field is returned when subscription initialization succeeds.
string
URL associated with the mandate authorization flow.
string
HTTP method associated with the authorization request.Typically returned as post.
object
Payment authorization payload containing the details needed to complete mandate authorization.
string
Payment type used for mandate authorization.For UPI recurring subscriptions, this is UPI.
object
Contains platform-specific UPI application links that can be used to complete the mandate authorization.
UPI application deep links returned for supported iOS applications such as BHIM, Google Pay, and PhonePe.
UPI application deep links returned for supported Android applications.A generic DEFAULT UPI deep link may also be returned.
string
Content type associated with the authorization payload.Typically application/json.
string
Error message returned when the subscription could not be created.This field is present in failure responses.
object
Raw error response received while attempting to create the subscription.This field can be used for debugging or support investigation.
object
Optional response metadata.This may be null.
A successful subscription initialization does not mean that the recurring mandate has already been authorized.The customer must complete the mandate authorization using the details returned in auth_data.
If subscription creation fails, an internal subscription_id may still be returned.Use error_message and raw_response to understand the reason for the failure.
Store both subscription_id and merchant_ref_id for successful subscriptions. Use subscription_id for FastFlowPe subscription operations and merchant_ref_id to correlate the subscription with your own records.