1.1. Using Razorpay APIs🔗
To create an authorization transaction using Razorpay APIs, you need to:
Handy Tips
For the Authorization Payment to be successful in a day (Example: 5th June), you should create an Order and the Authorization Transaction on the same day (5th June) before 11:59 pm.
1.1.1. Create a Customer🔗
Razorpay links recurring tokens to customers via a unique identifier. This unique identifier for the customer is generated using the Customer API.
You can create customers with basic details such as email and contact and use them for various Razorpay offerings. Know more about Customers.
You can create a customer using the below endpoint.
Once a customer is created, you can create an order for the authorization of the payment.
Request Parameters🔗
namemandatorystringThe customer's name. For example,Gaurav Kumar.emailoptionalstringThe customer's email address. For example,gaurav.kumar@example.com.contactoptionalstringThe customer's phone number. For example,9876543210.fail_existingoptionalstringIf a customer with the same details already exists, the request throws an exception by default. You can pass an additional parameterfail_existingto get the details of the existing customer in the response. Possible values:0- fetch details of existing customer1- throw the exception error (default)
notesoptionalobjectKey-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example,"note_key": "Beam me up Scotty”.
1.1.2. Create an Order🔗
Request Parameters🔗
amountmandatory-
integerAmount in currency subunits. For Paper NACH, the amount has to be0. currencymandatory-
stringThe 3-letter ISO currency code for the payment. Currently, we only supportINR. methodmandatory-
stringThe authorization method. In this case, the value will benach. customer_idmandatory-
stringThe unique identifier of the customer, who is to be charged. For example,cust_D0cs04OIpPPU1F. receiptoptional-
stringA user-entered unique identifier for the order. For example,Receipt No. 1. This parameter should be mapped to theorder_idsent by Razorpay. notesoptional-
objectKey-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example,"note_key": "Beam me up Scotty”. token-
Details related to the authorization such as max amount, bank account information and NACH information.
auth_typemandatory-
stringIn this case, it will bephysical. bank_account-
Customer's bank account details that will be printed on the NACH form.
account_numbermandatorystringCustomer's bank account number. For example,11214311215411.ifsc_codemandatorystringCustomer's bank IFSC. For example,UTIB0000001.beneficiary_namemandatorystringCustomer's name. For example,Gaurav Kumar.account_typeoptionalstringCustomer's bank account type. Possible values:savings(default)current
max_amountoptional-
integerUse to set the maximum amount per debit request. The value can range from500-1000000000(1cr, default value). expire_atoptional-
integerTimestamp, in Unix, that specifies when the registration link should expire. The value can range from the current date to 01-19-2038 (2147483647). nach-
Additional information to be printed on the NACH form that your customer will sign.
form_reference1optionalstringA user-entered reference that appears on the NACH form.form_reference2optionalstringA user-entered reference that appears on the NACH form.descriptionoptionalstringA user-entered description that appears on the hosted page. For example,Form for Gaurav Kumar.
notesoptional-
object. Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example,"note_key": "Beam me up Scotty”.
1.1.3. Create an Authorization Payment🔗
Follow these steps to create authorization transaction:
- Download the Paper NACH form and send it to the customers.
- Ask the customers to fill the form and
- Upload it via the Checkout.
- Send it to you and you can upload it from the Dashboard.
- Upload the received form via create NACH File API.
1.1.3.1 Upload the NACH File via Checkout🔗
Handler Function vs Callback URL:
- Handler Function:
When you use the handler function, the response object of the successful payment (razorpay_payment_id,razorpay_order_idandrazorpay_signature) is submitted to the Checkout Form. You need to collect these and send them to your server. - Callback URL:
When you use a Callback URL, the response object of the successful payment (razorpay_payment_id,razorpay_order_idandrazorpay_signature) is submitted to the Callback URL.
Additional Checkout Fields🔗
The following additional parameters must be sent along with the existing checkout options as part of the authorization transaction.
customer_idmandatorystringUnique identifier of the customer created in the first step.order_idmandatorystringUnique identifier of the order created in the second step.recurringmandatoryinteger. In this case, the value has to be1.
1.1.3.2 Upload the NACH File via API🔗
Feature Request:
This feature is available only on request. It is not available by default. Raise a request on our Support Portal to get this feature enabled.
You can use the Create NACH File API to upload the signed NACH forms you collect from your customers. On successful verification, we submit the form to NPCI and return a success/failure response to you.
Use the below endpoint to upload the completed NACH file.
Error Reasons🔗
To learn about errors, refer to the FAQ Upload the NACH File section.