Available in🇮🇳 India
You should perform the following steps to create and charge your customer subsequent payments:
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
Request Parameters
Request Parameters
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.
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.
Response Parameters
Response Parameters
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 anorder_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
Request Parameters
Request Parameters
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”.Response Parameter
Response Parameter
razorpay_payment_id
: string The unique identifier of the payment that is created. For example, pay_1Aa00000000001.Error Response Parameters
Error Response Parameters
Given below is a list of possible errors you may face while creating a Recurring Payment.