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.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”.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.