Invoices
Create, update, delete, cancel, fetch and send Invoices using Razorpay APIs.
You can use
to send invoices to your customers and accept payments instantly.The invoice contains information regarding the sale such as the name of the ordered products or services, quantity, billing cycle, price breakup, receipt number and customer information.
You can create, update, cancel and delete invoices using our APIs.
Handy Tips
-
You can only create non-GST Invoices via APIs.
-
You can create non-GST invoices in any of the
using our APIs. You cannot add tax rates for invoices created using international currencies.
Explore the Invoices API collection below in the Razorpay Postman Public Workspace. Fork the workspace and test the APIs with your
.API Endpoint | Description |
---|---|
Creates an Invoice using a Customer id. | |
Creates an Invoice using customer details such as name and billing details. | |
Updates an Invoice. | |
Issues an Invoice. | |
Deletes an Invoice. | |
Cancels an Invoice. | |
Retrieves details of a particular Invoice using id. | |
Retrieve details of all Invoices. | |
Sends notifications to customers. |
id
string
The unique identifier of the invoice.
entity
string
Indicates the type of entity. Here, it is invoice
.
type
string
Here, it should be invoice
.
invoice_number
string
Unique number you added for internal reference. The minimum character length is 1 and maximum is 40.
customer_id
string
The unique identifier of the customer. You can create customer_id
using the
customer_details
object
Details of the customer.
id
string
Unique identifier of the customer. For example, cust_1Aa00000000004
.
name
string
Customer's name. Alphanumeric, with period (.), apostrophe (') and parentheses allowed. The name must be between 3-50 characters in length. For example, Gaurav Kumar
.
string
The customer's email address. A maximum length of 64 characters. For example, gaurav.kumar@example.com
.
contact
string
The customer's phone number. A maximum length of 15 characters including country code. For example, +919876543210
.
billing_address
object
Details of the customer's billing address.
id
string
The unique identifier generated for the customer's billing address.
type
string
The customer address type. Here it is billing_address
.
primary
boolean
Defines if this is the primary address.
line1
string
The first line of the customer's address.
line2
string
The second line of the customer's address.
city
string
The city.
zipcode
string
The zipcode.
state
string
The state.
country
string
The country.
shipping_address
object
Details of the customer's shipping address.
id
string
The unique identifier generated for the customer's shipping address.
type
string
The customer address type. Here it is shipping_address
.
primary
boolean
Defines if this is the primary address.
line1
string
The first line of the customer's address.
line2
string
The second line of the customer's address.
city
string
The city.
zipcode
string
The zipcode.
state
string
The state.
country
string
The country.
order_id
string
The unique identifier of the order associated with the invoice.
line_items
object
Details of the line item that is billed in the invoice. Maximum of 50 line items.
id
string
Unique identifier that is generated if a new item has been created while creating the invoice.
item_id
string
Unique identifier of the item generated using Items API that has been billed in the invoice.
name
string
The item's name.
description
string
A brief description of the item.
amount
integer
The price of the item.
currency
string
The currency associated with the item. Default is INR
. Know about the
type
string
Here, it is invoice
.
quantity
integer
The quantity of the item billed in the invoice. Defaults to 1
.
payment_id
string
Unique identifier of a payment made against this invoice.
status
string
The status of the invoice. Know more about
draft
issued
partially_paid
paid
cancelled
expired
deleted
expire_by
integer
Timestamp, in Unix format, at which the invoice will expire.
issued_at
integer
Timestamp, in Unix format, at which the invoice was issued to the customer.
paid_at
integer
Timestamp, in Unix format, at which the payment was made.
cancelled_at
integer
Timestamp, in Unix format, at which the invoice was cancelled.
expired_at
integer
Timestamp, in Unix format, at which the invoice expired.
sms_status
string
The delivery status of the SMS notification for the invoice sent to the customer. Possible values:
pending
sent
email_status
string
The delivery status of the email notification for the invoice sent to the customer. Possible values:
pending
sent
partial_payment
boolean
Indicates whether the customer can make a partial payment on the invoice. Possible values:
true
: The customer can make partial payments.false
(default): The customer cannot make partial payments.
amount
integer
Amount to be paid using the invoice. Must be in the smallest unit of the currency. For example, if the amount to be received from the customer is ₹300.00, pass the value as 30000
.
amount_paid
integer
Amount paid by the customer against the invoice.
amount_due
integer
The remaining amount to be paid by the customer for the issued invoice.
currency
string
The currency associated with the invoice. You must mandatorily pass this parameter if accepting international payments. If you have passed currency
as a sub-parameter in the line_item
object, you must ensure that the same currency is passed in both places. Know about the
description
string
A brief description of the invoice. The maximum character length is 2048.
notes
object
Any custom notes added to the invoice. Maximum of 2048 characters.
short_url
string
The short URL that is generated. Share this link with customers to accept payments.
date
integer
Timestamp, in Unix format, that indicates the issue date of the invoice.
terms
string
Any terms to be included in the invoice. Maximum of 2048 characters.
comment
string
Any comments to be added in the invoice. Maximum of 2048 characters.
Razorpay supports payments in international currencies. You can create non-GST Invoices using
, using our APIs.Given below is the workflow for accepting payments using Invoices APIs:
- You can create a blank invoice (with no details at all) in
draft
state. - Update it with necessary information. You can use to create items which you can later use as a template to create line items in an invoice.
- Issue it at a later time with the .
- You will get a short URL in the response after you issue the invoice to the customer.
- Send this URL to the customer to accept payments.
Was this page helpful?
ON THIS PAGE