Given below are the order states and the corresponding payment states:
Payment Stages | Order State | Payment State | Description |
---|---|---|---|
Stage I | created | created | The customer submits the payment information, which is sent to Razorpay . The payment is not processed at this stage. |
Stage II | attempted | authorized/failed | An order moves from created to attempted state when payment is first attempted. It remains in this state until a payment associated with the order is captured. |
Stage III | paid | captured | After the payment moves to the captured state, the order moves to the paid state.
|
Handy Tips
You can capture payments automatically with the one-time
on the Razorpay Dashboard.Order is an important step in the payment process.
- An order should be created for every payment.
- You can create an order using the . It is a server-side API call. Know how to Orders API.
- The
order_id
received in the response should be passed to the checkout. This ties the order with the payment and secures the request from being tampered.
You can create an order:
- Using the sample code on the Razorpay Postman Public Workspace.
- By manually integrating the API sample codes on your server.
You can use the Postman workspace below to create an order:
Handy Tips
Under the Authorization section in Postman, select Basic Auth and add the Key Id and secret as the Username and Password, respectively.
You can create an order manually by integrating the API sample codes on your server.
Use this endpoint to create an order using the Orders API.
curl -X POST https://api.razorpay.com/v1/orders-U [YOUR_KEY_ID]:[YOUR_KEY_SECRET]-H 'content-type:application/json'-d '{"amount": 500,"currency": "INR","receipt": "qwsaq1","partial_payment": true,"first_payment_min_amount": 230}'
{"id": "order_IluGWxBm9U8zJ8","entity": "order","amount": 5000,"amount_paid": 0,"amount_due": 5000,"currency": "INR","receipt": "rcptid_11","offer_id": null,"status": "created","attempts": 0,"notes": [],"created_at": 1642662092}
amount
mandatory
integer
The transaction amount, expressed in the currency subunit. For example, for an actual amount of ₹299.35, the value of this field should be 29935
.
currency
mandatory
string
The currency in which the transaction should be made. See the
receipt
optional
string
Your receipt id for this order should be passed here. Maximum length is 40 characters.
notes
optional
json 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”
.
partial_payment
optional
boolean
Indicates whether the customer can make a partial payment. Possible values:
true
: The customer can make partial payments.false
(default): The customer cannot make partial payments.
first_payment_min_amount
optional
integer
Minimum amount that must be paid by the customer as the first partial payment. For example, if an amount of ₹7,000 is to be received from the customer in two installments of #1 - ₹5,000, #2 - ₹2,000, then you can set this value as 500000
. This parameter should be passed only if partial_payment
is true
.
Descriptions for the response parameters are present in the
parameters table.The error response parameters are available in the
.