Key concepts
Plan
Defines the billing amount, currency, and interval (daily, weekly, monthly, or yearly). You create plans once and reuse them across multiple subscriptions.
Subscription
Links a specific customer to a plan for a set number of billing cycles. Charges occur automatically on each renewal date.
Addon
A one-time charge added to a subscription cycle — for example, a setup fee or a usage overage.
Supported intervals
daily, weekly, monthly, and yearly. Set the interval field to bill every N periods (for example, every 3 months).Subscription states
A subscription moves through these states during its lifecycle:created
created
The subscription has been created but the customer has not yet authenticated a payment method.
authenticated
authenticated
The customer completed authentication (e.g., card mandate). Razorpay will charge on the scheduled start date.
active
active
The subscription is running. Charges occur automatically on each billing date.
pending
pending
A charge attempt failed. Razorpay is retrying according to the configured retry schedule.
halted
halted
Maximum retry attempts were reached without a successful charge. Customer action is required to resume.
cancelled
cancelled
The subscription was stopped by you or the customer. No further charges will occur.
completed
completed
All billing cycles defined by
total_count have been charged successfully.expired
expired
The subscription passed its end date without completing all cycles.
Step 1: Create a plan
A plan defines what you charge and how often. Create a plan once and attach multiple subscriptions to it.The
amount is in the smallest currency unit. For USD, 4999 equals $49.99. The interval field multiplies the period — set "period": "monthly" with "interval": 3 to bill every quarter.Step 2: Create a subscription
Link a customer to your plan by creating a subscription. Pass theplan_id returned from the previous step.
subscription_id (for example, sub_00000000000001). Pass this to the Razorpay Checkout in the next step so your customer can authenticate.
Step 3: Authenticate the customer on the frontend
Open Razorpay Checkout with thesubscription_id instead of an order_id. The customer authenticates their payment method (for example, registers a card mandate), and recurring charges begin on the start_at date.
Step 4: Handle webhook events
Subscribe to subscription webhooks in your Dashboard under Account & Settings → Webhooks to keep your system in sync with billing events.Managing subscriptions
From the Razorpay Dashboard you can:- Pause and resume an active subscription
- Cancel a subscription immediately or at the end of the current billing cycle
- Add addons to a subscription for one-time charges in the next cycle
- View charge history for each subscription