Skip to main content
Use this endpoint to create an order with basic details such as amount and currency.

Request

Curl

Response

Success

Parameters

amount mandatory : integer Payment amount in the smallest currency sub-unit. For example, if the amount to be charged is , then pass 29900 in this field. In the case of three decimal currencies, such as KWD, BHD and OMR, to accept a payment of 295.991, pass the value as 295990. And in the case of zero decimal currencies such as JPY, to accept a payment of 295, pass the value as 295.
Watch Out!As per payment guidelines, you should pass the last decimal number as 0 for three decimal currency payments. For example, if you want to charge a customer 99.991 KD for a transaction, you should pass the value for the amount parameter as 99990 and not 99991.currency mandatory : string ISO code for the currency in which you want to accept the payment. The default length is 3 characters. Refer to the list of supported currencies.
Handy Tips
Razorpay has added support for zero decimal currencies, such as JPY, and three decimal currencies, such as KWD, BHD, and OMR, allowing businesses to accept international payments in these currencies. Know more about Currency Conversion (May 2024).receipt optional : string Receipt number that corresponds to this order, set for your internal reference. Can have a maximum length of 40 characters and has to be unique.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”.

Parameters

id : string The unique identifier of the order. amount : integer The amount for which the order was created, in currency subunits. For example, for an amount of , enter 29500. entity : string Name of the entity. Here, it is order. amount_paid : integer The amount paid against the order. amount_due : integer The amount pending against the order. currency : string ISO code for the currency in which you want to accept the payment. The default length is 3 characters. receipt : string Receipt number that corresponds to this order. Can have a maximum length of 40 characters and has to be unique. status : string The status of the order. Possible values:
  • created: When you create an order it is in the created state. It stays in this state till a payment is attempted on it.
  • attempted: An order moves from created to attempted state when a payment is first attempted on it. It remains in the attempted state till one payment associated with that order is captured.
  • paid: After the successful capture of the payment, the order moves to the paid state. No further payment requests are permitted once the order moves to the paid state. The order stays in the paid state even if the payment associated with the order is refunded.
attempts : integer The number of payment attempts, successful and failed, that have been made against this order. notes : 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”. created_at : integer Indicates the Unix timestamp when this order was created.

Errors

Authentication failed.
  • code: 400
  • description: The API credentials passed in the API call differ from the ones generated on the Dashboard. Possible reasons: - Different keys for test mode and live modes.
  • Expired API key.
  • solution: The API keys must be active and entered correctly with no whitespace before or after the keys.
The amount must be at least INR 1.00.
  • code: 400
  • description: The amount specified is less than the minimum amount. Currency subunits, such as paise (in the case of INR), should always be greater than 100.
  • solution: Enter an amount equal to or greater than the minimum amount, that is 100.
The field name is required.
  • code: 400
  • description: A mandatory field is missing.
  • solution: Ensure all mandatory fields and values are present.