Skip to main content
Available in🇮🇳 India
You should perform the following steps to create and charge your customer subsequent payments:
  1. Create an order to charge the customer
  2. Create a recurring payment

3.1. Create an Order to Charge the Customer

You have to create a new order every time you want to charge your customers. This order is different from the one created during the authorisation transaction. The following endpoint creates an order. POST /orders
amount mandatory : integer Amount in currency subunits. For cards, the minimum value is 100, that is, ₹1.currency mandatory : string The 3-letter ISO currency code for the payment.receipt optional : string A user-entered unique identifier for the order. For example, Receipt No. 1. You should map this parameter to the order_id sent by Razorpay.notes optional : object Key-value pair you can use to store additional information about the entity. Maximum of 15 key-value pairs, 256 characters each. For example, "note_key": "Beam me up Scotty”.notification : object Details of the pre-debit notification. This object is optional. You should use it only if you want to control pre-debit notifications and debits. If you do not pass this object, we will automatically try to debit after 36 hours and 5 minutes.
Handy TipsThe TAT to create a debit if you send a pre-debit notification is 36 hours and 5 minutes.
Watch Out!We will not attempt any retry if the debit fails for tokens with the notification object in the created order. You should manually retry the debit attempt.
token_id mandatory : string The token_id generated when the customer successfully completes the authorisation payment. Different payment instruments for the same customer have different token_id.payment_after optional : integer UNIX timestamp post which the debit is supposed to happen. Defaults to 36 hours and 5 minutes after the pre-debit notification is delivered.payment_capture mandatory : boolean Determines whether the payment status should be changed to captured automatically or not. Possible values:
  • true: Payments are captured automatically.
  • false: Payments are not captured automatically. You can manually capture payments using the Manually Capture Payments API.
id : string A unique identifier of the order created. For example order_1Aa00000000001.entity : string The entity that has been created. Here it is order.amount : integer Amount in currency subunits.amount_paid : integer The amount that has been paid.amount_due : integer The amount that is yet to be paid.currency : string The 3-letter ISO currency code for the payment.receipt : string A user-entered unique identifier of the order. For example, rcptid #1.notification : object Details of the pre-debit notification.token_id : string The token_id generated when the customer successfully completes the authorisation payment. Different payment instruments for the same customer have different token_id.payment_after : integer UNIX timestamp post which the debit is supposed to happen.id : string the unique identifier of the notification. For example, notification_00000000000001.status : string The status of the order.notes : object Key-value pair you can use to store additional information about the entity. Maximum of 15 key-value pairs, 256 characters each. For example, "note_key": "Beam me up Scotty”.created_at : integer The Unix timestamp at which the order was created.

3.2. Create a Recurring Payment

Once you have generated an order_id, use it with the token_id to create a payment and charge the customer. The following endpoint creates a payment to charge the customer. POST /payments/create/recurring
email mandatory : string The customer’s email address. For example, gaurav.kumar@example.com.contact mandatory : integer The customer’s phone number. For example, 9876543210.currency mandatory : string 3-letter ISO currency code for the payment. Currently, only INR is allowed.amount mandatory : integer The amount you want to charge your customer. This should be the same as the order amount.order_idmandatory : string The unique identifier of the order created. For example, order_1Aa00000000002.customer_id mandatory : string The unique identifier of the customer you want to charge. For example, cust_1Aa00000000002.token mandatory : string The token_id generated when the customer successfully completes the authorisation payment. Different payment instruments for the same customer have different token_id.recurring mandatory : boolean Determines whether recurring payment is enabled or not.
  • true: Recurring payment is enabled.
  • false: Recurring payment is not enabled.
descriptionoptional : string A user-entered description for the payment. For example, Creating recurring payment for Gaurav Kumarnotesoptional : object Key-value pair you can use to store additional information about the entity. Maximum of 15 key-value pairs, 256 characters each. For example, "note_key": "Beam me up Scotty”.
razorpay_payment_id : string The unique identifier of the payment that is created. For example, pay_1Aa00000000001.
Given below is a list of possible errors you may face while creating a Recurring Payment.