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. /ordersCurl
Success Response
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
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 pay.
currency
: string The 3-letter ISO currency code for the payment. Currently, we only support INR.
receipt
: string A user-entered unique identifier of the order. For example, rcptid #1.
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.
Error Response Parameters
Given below is a list of possible errors you may face while creating an Order.Error | Cause | Solution
The api key provided is invalid | This error occurs when you enter the wrong API key or secret. | Make sure to enter the valid API key and secret.
The amount must be at least INR 1.00. | This error occurs when you enter an amount less than INR 1. | Make sure the entered amount is atleast INR 1.
The currency should be INR when method is upi | This error occurs when you enter a currency other than INR. | Make sure the currency is INR.
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.
/payments/create/recurring
Curl
Success Response
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.
notesoptional
: 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 Parameters
razorpay_payment_id
: string The unique identifier of the payment that is created. For example, pay_1Aa00000000001.
razorpay_order_id
: string The unique identifier of the order that is created. For example, order_1Aa00000000001.
razorpay_signature
: string The signature generated by the Razorpay. For example, 9ef4dffbfd84f1318f6739a3ce19f9d85851857ae648f114332d8401e0949a3d.