API Test keys

API Test keys

Create a QR Code

POST
/v1/payments/qr_codes

Click to copy

Use this endpoint to create a QR Code.

  • You can share the short URL with customers to accept payments.
  • You can print and download it.
  • You can create QR Codes for single or multiple use and for specific or all customers.

Is this page helpful?

Curl

change language

change language

1
curl -u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \
2
-X POST https://api.razorpay.com/v1/payments/qr_codes \
3
-H "Content-Type: application/json" \
4
-d '{
5
"type": "upi_qr",
6
"name": "Store_1",
7
"usage": "single_use",
8
"fixed_amount": true,
9
"payment_amount": 300,
10
"description": "For Store 1",
11
"customer_id": "cust_HKsR5se84c5LTO",
12
"close_by": 1681615838,
13
"notes": {
14
"purpose": "Test UPI QR Code notes"
15
},
16
"tax_invoice": {
17
"number": "INV001",
18
"date": 1589994898,
19
"customer_name": "Gaurav Kumar",
20
"business_gstin": "06AABCU9605R1ZR",
21
"gst_amount": 4000,
22
"cess_amount": 0,
23
"supply_type": "interstate"
24
}
25
}'

Success

1
{
2
"id": "qr_HMsVL8HOpbMcjU",
3
"entity": "qr_code",
4
"created_at": 1623660301,
5
"name": "Store_1",
6
"usage": "single_use",
7
"type": "upi_qr",
8
"image_url": "https://rzp.io/i/BWcUVrLp",
9
"payment_amount": 300,
10
"status": "active",
11
"description": "For Store 1",
12
"fixed_amount": true,
13
"payments_amount_received": 0,
14
"payments_count_received": 0,
15
"notes": {
16
"purpose": "Test UPI QR Code notes"
17
},
18
"customer_id": "cust_HKsR5se84c5LTO",
19
"close_by": 1681615838,
20
"tax_invoice": {
21
"number": "INV001",
22
"date": 1589994898,
23
"customer_name": "Gaurav Kumar",
24
"business_gstin": "06AABCU9605R1ZR",
25
"gst_amount": 4000,
26
"cess_amount": 0,
27
"supply_type": "interstate"
28
}
29
}
Request Parameters
type

*

string

The type of the QR Code. Possible values:

  • upi_qr: Create a QR Code that accepts only UPI payments.

name
string

Label entered to identify the QR Code. For example, Store Front Display.

usage

*

string

Indicates if the QR Code should be allowed to accept single payment or multiple payments. Possible values:

  • single_use: QR Code will accept only one payment and then close automatically.
  • multiple_use (default): QR Code will accept multiple payments.

fixed_amount
boolean

Indicates if the QR should accept payments of specific amounts or any amount. Possible values:

  • true: QR Code accepts only a specific amount.
  • false (default): QR Code accepts any amount.

payment_amount
integer

The amount allowed for a transaction. If this is specified, then any transaction of an amount less than or more than this value is not allowed. For example, if this amount is set as 500000, the customer cannot pay an amount less than or more than ₹5000. This is a mandatory parameter if fixed_amount is selected.

description
string

A brief description about the QR Code.

notes
object

Key-value pair that can be used to store additional information about the QR Code. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, "note_key": "Beam me up Scotty”.

customer_id
string

Unique identifier of the customer the QR Code is linked with. Know more about to the

.

close_by
integer

UNIX timestamp at which the QR Code is scheduled to be automatically closed. The time must be at least 2 minutes after the current time. The date range can be set to 2147483647 in UNIX timestamp format (equivalent to Tuesday, January 19, 2038 8:44:07 AM GMT+05:30). Any request beyond 2147483647 UNIX timestamp will fail.

tax_invoice
json object

This block contains information about the invoices. If not provided, the transaction will default to non-GST compliant UPI flow.

Show child parameters (7)

Response Parameters
id
string

The unique identifier of the QR Code.

entity
string

Indicates the type of entity. Here, it is qr_code.

tax_invoice
json object

This block contains information about the invoices. If not provided, the transaction will default to non-GST compliant UPI flow.

Show child parameters (7)

type
string

The type of the QR Code. Possible values:

  • upi_qr: Create a QR Code that accepts only UPI payments.

image_url
string

The URL of the QR Code. A sample short URL looks like this http://rzp.io/l6MS. Click the link to download the code.

name
string

Label entered to identify the QR Code. For example, Store Front Display.

usage
string

Indicates if the QR Code should be allowed to accept single payment or multiple payments. Possible values:

  • single_use: QR Code will accept only one payment and then close automatically.
  • multiple_use (default): QR Code will accept multiple payments.

fixed_amount
boolean

Indicates if the QR should accept payments of specific amounts or any amount. Possible values:

  • true: QR Code accepts only a specific amount.
  • false (default): QR Code accepts any amount.

payment_amount
integer

The amount allowed for a transaction. If this is specified, then any transaction of an amount less than or more than this value is not allowed. For example, if this amount is set as 500000, the customer cannot pay an amount less than or more than ₹5000.

status
string

Indicates the status of the QR Code. Possible values:

  • active
  • closed

description
string

A brief description about the QR Code.

payments_amount_received
integer

The total amount received on the QR Code. All captured payments are considered.

payments_count_received
integer

The total number of payments received on the QR Code. All captured payments are considered.

notes
object

Key-value pair that can be used to store additional information about the QR Code. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, "note_key": "Beam me up Scotty”.

customer_id
string

Unique identifier of the customer the QR Code is linked with. Know more about to the

.

close_by
integer

UNIX timestamp at which the QR Code is scheduled to be automatically closed. The time must be at least 15 minutes after the current time. The date range can be set to 2147483647 in UNIX timestamp format (equivalent to Tuesday, January 19, 2038 8:44:07 AM GMT+05:30).

Watch Out

Any request beyond 2147483647 UNIX timestamp will fail.

closed_at
integer

UNIX timestamp at which the QR Code is automatically closed.

created_at
integer

UNIX timestamp at which the QR Code was created.

close_reason
string

The reason for the closure of the QR Code. Possible values:

  • on_demand: When you close the QR Code using the APIs or the Razorpay Dashboard.
  • paid: If the QR Code is created with the usage=single_payment parameter, the QR Code closes automatically once the customer makes the payment, with the reason marked as paid.
  • null: The QR Code has not been closed yet.

Create a QR Code

POST
/v1/payments/qr_codes

Click to copy

Use this endpoint to create a QR Code.

  • You can share the short URL with customers to accept payments.
  • You can print and download it.
  • You can create QR Codes for single or multiple use and for specific or all customers.

Is this page helpful?

Request Parameters
type

*

string

The type of the QR Code. Possible values:

  • upi_qr: Create a QR Code that accepts only UPI payments.

name
string

Label entered to identify the QR Code. For example, Store Front Display.

usage

*

string

Indicates if the QR Code should be allowed to accept single payment or multiple payments. Possible values:

  • single_use: QR Code will accept only one payment and then close automatically.
  • multiple_use (default): QR Code will accept multiple payments.

fixed_amount
boolean

Indicates if the QR should accept payments of specific amounts or any amount. Possible values:

  • true: QR Code accepts only a specific amount.
  • false (default): QR Code accepts any amount.

payment_amount
integer

The amount allowed for a transaction. If this is specified, then any transaction of an amount less than or more than this value is not allowed. For example, if this amount is set as 500000, the customer cannot pay an amount less than or more than ₹5000. This is a mandatory parameter if fixed_amount is selected.

description
string

A brief description about the QR Code.

notes
object

Key-value pair that can be used to store additional information about the QR Code. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, "note_key": "Beam me up Scotty”.

customer_id
string

Unique identifier of the customer the QR Code is linked with. Know more about to the

.

close_by
integer

UNIX timestamp at which the QR Code is scheduled to be automatically closed. The time must be at least 2 minutes after the current time. The date range can be set to 2147483647 in UNIX timestamp format (equivalent to Tuesday, January 19, 2038 8:44:07 AM GMT+05:30). Any request beyond 2147483647 UNIX timestamp will fail.

tax_invoice
json object

This block contains information about the invoices. If not provided, the transaction will default to non-GST compliant UPI flow.

Show child parameters (7)

Response Parameters
id
string

The unique identifier of the QR Code.

entity
string

Indicates the type of entity. Here, it is qr_code.

tax_invoice
json object

This block contains information about the invoices. If not provided, the transaction will default to non-GST compliant UPI flow.

Show child parameters (7)

type
string

The type of the QR Code. Possible values:

  • upi_qr: Create a QR Code that accepts only UPI payments.

image_url
string

The URL of the QR Code. A sample short URL looks like this http://rzp.io/l6MS. Click the link to download the code.

name
string

Label entered to identify the QR Code. For example, Store Front Display.

usage
string

Indicates if the QR Code should be allowed to accept single payment or multiple payments. Possible values:

  • single_use: QR Code will accept only one payment and then close automatically.
  • multiple_use (default): QR Code will accept multiple payments.

fixed_amount
boolean

Indicates if the QR should accept payments of specific amounts or any amount. Possible values:

  • true: QR Code accepts only a specific amount.
  • false (default): QR Code accepts any amount.

payment_amount
integer

The amount allowed for a transaction. If this is specified, then any transaction of an amount less than or more than this value is not allowed. For example, if this amount is set as 500000, the customer cannot pay an amount less than or more than ₹5000.

status
string

Indicates the status of the QR Code. Possible values:

  • active
  • closed

description
string

A brief description about the QR Code.

payments_amount_received
integer

The total amount received on the QR Code. All captured payments are considered.

payments_count_received
integer

The total number of payments received on the QR Code. All captured payments are considered.

notes
object

Key-value pair that can be used to store additional information about the QR Code. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, "note_key": "Beam me up Scotty”.

customer_id
string

Unique identifier of the customer the QR Code is linked with. Know more about to the

.

close_by
integer

UNIX timestamp at which the QR Code is scheduled to be automatically closed. The time must be at least 15 minutes after the current time. The date range can be set to 2147483647 in UNIX timestamp format (equivalent to Tuesday, January 19, 2038 8:44:07 AM GMT+05:30).

Watch Out

Any request beyond 2147483647 UNIX timestamp will fail.

closed_at
integer

UNIX timestamp at which the QR Code is automatically closed.

created_at
integer

UNIX timestamp at which the QR Code was created.

close_reason
string

The reason for the closure of the QR Code. Possible values:

  • on_demand: When you close the QR Code using the APIs or the Razorpay Dashboard.
  • paid: If the QR Code is created with the usage=single_payment parameter, the QR Code closes automatically once the customer makes the payment, with the reason marked as paid.
  • null: The QR Code has not been closed yet.

Curl

change language

change language

1
curl -u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \
2
-X POST https://api.razorpay.com/v1/payments/qr_codes \
3
-H "Content-Type: application/json" \
4
-d '{
5
"type": "upi_qr",
6
"name": "Store_1",
7
"usage": "single_use",
8
"fixed_amount": true,
9
"payment_amount": 300,
10
"description": "For Store 1",
11
"customer_id": "cust_HKsR5se84c5LTO",
12
"close_by": 1681615838,
13
"notes": {
14
"purpose": "Test UPI QR Code notes"
15
},
16
"tax_invoice": {
17
"number": "INV001",
18
"date": 1589994898,
19
"customer_name": "Gaurav Kumar",
20
"business_gstin": "06AABCU9605R1ZR",
21
"gst_amount": 4000,
22
"cess_amount": 0,
23
"supply_type": "interstate"
24
}
25
}'

Success

1
{
2
"id": "qr_HMsVL8HOpbMcjU",
3
"entity": "qr_code",
4
"created_at": 1623660301,
5
"name": "Store_1",
6
"usage": "single_use",
7
"type": "upi_qr",
8
"image_url": "https://rzp.io/i/BWcUVrLp",
9
"payment_amount": 300,
10
"status": "active",
11
"description": "For Store 1",
12
"fixed_amount": true,
13
"payments_amount_received": 0,
14
"payments_count_received": 0,
15
"notes": {
16
"purpose": "Test UPI QR Code notes"
17
},
18
"customer_id": "cust_HKsR5se84c5LTO",
19
"close_by": 1681615838,
20
"tax_invoice": {
21
"number": "INV001",
22
"date": 1589994898,
23
"customer_name": "Gaurav Kumar",
24
"business_gstin": "06AABCU9605R1ZR",
25
"gst_amount": 4000,
26
"cess_amount": 0,
27
"supply_type": "interstate"
28
}
29
}