Subscriptions

Know about Subscriptions, entity parameters and list of endpoints.


You can use Subscriptions to charge a customer periodically. A Subscription ties a customer to a particular plan you have created. It contains details like the plan, the start date, total number of billing cycles, free trial period (if any) and upfront amount to be collected.

API EndpointDescription
Creates a Subscription.
Creates a Subscription link.
Retrieves all the created Subscriptions.
Retrieves a Subscription details using its unique identifier.
Cancels a Subscription.
Updates a Subscription.
Retrieves details about any update of a Subscription.
Cancels the update made to the subscription.
Pauses an active Subscription
Resumes a paused Subscription.
Retrieves all the generated invoices for a Subscription.

id

string The unique identifier linked to a Subscription.

entity

string The entity being created. Here, it is subscription.

plan_id

string The unique identifier of a plan that should be linked to the Subscription. For example, plan_00000000000001.

customer_id

string The unique identifer of the customer who is subscribing to a plan. This is populated automatically after the customer completes the authorisation transaction.

total_count

integer The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year subscription billed on a bi-monthly basis, this value should be 6.

customer_notify

boolean Indicates whether the communication to the customer would be handled by businesses or Razorpay. Possible values:

  • 0: communication handled by businesses.
  • 1 (default): communication handled by Razorpay.

start_at

integer The Unix timestamp, indicates from when the Subscription should start. If not passed, the Subscription starts immediately after the authorisation payment. For example, 1581013800. For Subscriptions with a future start_date, frequency is considered as_presented.

quantity

integer The number of times the customer should be charged the plan amount per invoice. For example, a customer subscribes to use software. The charges are ₹100.00/month/license. The customer wants 5 licenses. You should pass 5 as the quantity. The customer is charged ₹500.00 (5 x ₹100.00) monthly. By default, this value is set to 1.

notes

object Object consisting of key value pairs as notes.

addons

array of objects This can be used to charge the customer a one-time fee before the start of the Subscription. This can include something like a one-time delivery charge or a security deposit. Know more about

.

status

string Status of the Subscription. Possible values:

  • created
  • authenticated
  • active
  • pending
  • halted
  • cancelled
  • completed
  • expired

Know more about

.

paid_count

integer Indicates the number of billing cycles the customer has already been charged.

current_start

integer Indicates the start time of the current billing cycle of a Subscription.

current_end

integer Indicates the end time of the current billing cycle of a Subscription.

ended_at

integer The Unix timestamp of when the Subscription has completed its period or has been cancelled midway.

charge_at

integer The Unix timestamp of when the next charge on the Subscription should be made.

auth_attempts

integer The number of times the charge for the current billing cycle has been attempted on the card.

expire_by

integer The Unix timestamp that indicates till when the customer can make the authorisation payment. For example, 1581013800. The default value is 30 years. Do not pass any value if you do not want to set an expiry date.

addons

array of objects Array that contains details of any upfront amount you want to collect as part of the authorisation transaction.

item

array Details of the upfront amount you want to charge your customer.

name

string A name for the upfront amount you want to charge the customer. For example, Delivery Fee.

amount

integer The upfront amount in the currency subunit you want to charge the customer. For example ,30000.

currency

string The currency in which you want to charge the customer. This has to match the plan currency. For example, INR. Defaults to INR.

offer_id

string The unique identifier of the offer that is linked to the Subscription. You can obtain this from the Dashboard. For example, offer_JHD834hjbxzhd38d.

notes

object Notes you can enter for the contact for future reference. This is a key-value pair. You can enter a maximum of 15 key-value pairs. For example, "note_key": "Gym Membership Plan.

short_url

string URL that can be used to make the authorisation payment. For example, https://rzp.io/i/PWtAiEo.

has_scheduled_changes

boolean Indicates if the Subscription has any scheduled changes. Possible values:

  • true
  • false

schedule_change_at

string Represents when the Subscription should be updated. Possible values:

  • now (default value): Updates the Subscription immediately.
  • cycle_end: Updates the Subscription at the end of the current billing cycle.

remaining_count

integer Indicates the number of billing cycles remaining on the Subscription. For example, 2.


Was this page helpful?