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๐
name
mandatorystring
The customer's name. For example,Gaurav Kumar
.email
optionalstring
The customer's email address. For example,gaurav.kumar@example.com
.contact
optionalstring
The customer's phone number. For example,9876543210
.fail_existing
optionalstring
If a customer with the same details already exists, the request throws an exception by default. You can pass an additional parameterfail_existing
to get the details of the existing customer in the response. Possible values:0
- fetch details of existing customer1
- throw the exception error (default)
notes
optionalobject
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.2. Create an Order๐
The Orders API allows you to create a unique Razorpay order_id
, for example, order_1Aa00000000001
, that would be tied to a payment. This order_id
has a 1:1 mapping with the order created for the authorization payment at your end. Know more about Razorpay Orders.
Use the below endpoint to create an order.
You can create a payment against the order_id
once an order is created.
Request Parameters๐
amount
mandatory-
integer
Amount in currency subunits. For cards, the minimum value is100
(โน1). currency
mandatory-
string
The 3-letter ISO currency code for the payment. Currently, we only supportINR
. customer_id
mandatory-
string
The unique identifier of the customer. method
optional-
string
Payment method used to make the registration transaction. Possible value iscard
. If no value is passed, by default,card
will be assumed. token
-
Provides token details.
max_amount
optionalinteger
Indicates the threshold value for which additional factor of authentication flow is chosen. The value500000
(โน5000) will be set as max_amount by default.expire_at
optionalinteger
The timestamp of the token expiry date in UNIX format.
The card expiry date will be used as default if you do not pass the value.
Also, the response will be null if you do not pass the value during the order creation.frequency
optionalstring
Frequency for subsequent debits. If not provided, value defaults toas_presented
.
receipt
optional-
string
A user-entered unique identifier for the order. For example,Receipt No. 1
. This parameter should be mapped to theorder_id
sent by Razorpay. notes
optional-
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๐
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_id
andrazorpay_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_id
andrazorpay_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_id
mandatorystring
Unique identifier of the customer created in the first step.order_id
mandatorystring
Unique identifier of the order created in the second step.recurring
mandatorystring
. Possible values:1
: Recurring payment is enabled.preferred
: Use this when you want to support recurring payments and one-time payment in the same flow.