API Test Keys

Fetch All QR Codes

GET
/v1/payments/qr_codes?count=2

Click to copy

Use this endpoint to retrieve the details of multiple QR Codes.

Is this page helpful?

Curl

change language

change language

1
curl -u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \
2
-X GET https://api.razorpay.com/v1/payments/qr_codes \

Success

Failure

1
{
2
"entity": "collection",
3
"count": 2,
4
"items": [
5
{
6
"id": "qr_HO2jGkWReVBMNu",
7
"entity": "qr_code",
8
"created_at": 1623914648,
9
"name": "Store_1",
10
"usage": "single_use",
11
"type": "upi_qr",
12
"image_url": "https://rzp.io/i/w2CEwYmkAu",
13
"payment_amount": 300,
14
"status": "active",
15
"description": "For Store 1",
16
"fixed_amount": true,
17
"payments_amount_received": 0,
18
"payments_count_received": 0,
19
"notes": {
20
"purpose": "Test UPI QR Code notes"
21
},
22
"customer_id": "cust_HKsR5se84c5LTO",
23
"close_by": 1681615838,
24
"closed_at": null,
25
"close_reason": null
26
},
27
{
28
"id": "qr_HO2e0813YlchUn",
29
"entity": "qr_code",
30
"created_at": 1623914349,
31
"name": "Acme Groceries",
32
"usage": "multiple_use",
33
"type": "upi_qr",
34
"image_url": "https://rzp.io/i/X6QM7LL",
35
"payment_amount": null,
36
"status": "closed",
37
"description": "Buy fresh groceries",
38
"fixed_amount": false,
39
"payments_amount_received": 200,
40
"payments_count_received": 1,
41
"notes": {
42
"Branch": "Bangalore - Rajaji Nagar"
43
},
44
"customer_id": "cust_HKsR5se84c5LTO",
45
"close_by": 1625077799,
46
"closed_at": 1623914515,
47
"close_reason": "on_demand"
48
}
49
]
50
}
Query Parameters
from
integer

Unix timestamp, in seconds, from when QR Codes are to be retrieved.

to
integer

Unix timestamp, in seconds, till when QR Codes are to be retrieved.

count
integer

Number of QR Codes to be retrieved.

  • Default value: 10
  • Maximum value: 100
  • This can be used for pagination, in combination with skip.

skip
integer

Number of records to be skipped while fetching the QR Codes. This can be used for pagination, in combination with count.

Response Parameters
id
string

The unique identifier of the QR Code. For example, qr_HMsVL8HOpbMcjU.

entity
string

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

created_at
integer

Unix timestamp at which the QR Code is created.

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.

type
string

The type of the QR Code. Possible value is upi_qr, which creates a QR Code that accepts only UPI payments.

Feature Request

This is an on-demand feature. Please raise a request with our

to get this feature activated on your Razorpay account.

image_url
string

The URL of the QR Code. For example, http://rzp.io/l6MS. Click the link to download the code.

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: Indicates that the QR Code has been created and is ready to accept payments.
  • closed: Indicates that the QR Code has been closed.

description
string

A brief description about the QR Code.

fixed_amount
boolean

Indicates if the QR Code 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.

Watch Out!

When setting the usage to single_use, ensure that fixed_amount is true to generate the QR Code successfully.

payments_amount_received
integer

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

payments_count_received
integer

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

notes
json 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

The unique identifier of the customer the QR Code is linked with. Know more about 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).

Handy Tips

  • Any request beyond 2147483647 Unix timestamp will fail.

Watch Out!

  • This parameter is only available for QR codes with usage set as single_use. You will not be able to use this parameter for multiple_use QR codes as it will generate an error.
  • For single_use QR codes, the close_by date can be set for a maximum of 45 days. If no close_by date is specified, the QR code will automatically become inactive after 45 days. Conversely, multiple_use QR codes do not have an expiration date.

closed_at
integer

Unix timestamp at which the QR Code is automatically closed.

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.

Errors

The API {key/secret} provided is invalid.

Error Status: 4xx

The API credentials passed in the API call differ from the ones generated on the Dashboard.

Solution

The id provided does not exist.

Error Status: 400

Possible reasons:

  • The URL is wrong or is missing something.
  • A GET API is executed by POST Method.

Solution

We are facing some trouble completing your request at the moment. Please try again shortly.

Error Status: 400

A GET API is executed by POST Method.

Solution

The requested URL was not found on the server.

Error Status: 400

The URL is wrong or missing something.

Solution

Fetch All QR Codes

GET
/v1/payments/qr_codes?count=2

Click to copy

Use this endpoint to retrieve the details of multiple QR Codes.

Is this page helpful?

Query Parameters
from
integer

Unix timestamp, in seconds, from when QR Codes are to be retrieved.

to
integer

Unix timestamp, in seconds, till when QR Codes are to be retrieved.

count
integer

Number of QR Codes to be retrieved.

  • Default value: 10
  • Maximum value: 100
  • This can be used for pagination, in combination with skip.

skip
integer

Number of records to be skipped while fetching the QR Codes. This can be used for pagination, in combination with count.

Response Parameters
id
string

The unique identifier of the QR Code. For example, qr_HMsVL8HOpbMcjU.

entity
string

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

created_at
integer

Unix timestamp at which the QR Code is created.

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.

type
string

The type of the QR Code. Possible value is upi_qr, which creates a QR Code that accepts only UPI payments.

Feature Request

This is an on-demand feature. Please raise a request with our

to get this feature activated on your Razorpay account.

image_url
string

The URL of the QR Code. For example, http://rzp.io/l6MS. Click the link to download the code.

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: Indicates that the QR Code has been created and is ready to accept payments.
  • closed: Indicates that the QR Code has been closed.

description
string

A brief description about the QR Code.

fixed_amount
boolean

Indicates if the QR Code 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.

Watch Out!

When setting the usage to single_use, ensure that fixed_amount is true to generate the QR Code successfully.

payments_amount_received
integer

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

payments_count_received
integer

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

notes
json 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

The unique identifier of the customer the QR Code is linked with. Know more about 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).

Handy Tips

  • Any request beyond 2147483647 Unix timestamp will fail.

Watch Out!

  • This parameter is only available for QR codes with usage set as single_use. You will not be able to use this parameter for multiple_use QR codes as it will generate an error.
  • For single_use QR codes, the close_by date can be set for a maximum of 45 days. If no close_by date is specified, the QR code will automatically become inactive after 45 days. Conversely, multiple_use QR codes do not have an expiration date.

closed_at
integer

Unix timestamp at which the QR Code is automatically closed.

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.

Errors

The API {key/secret} provided is invalid.

Error Status: 4xx

The API credentials passed in the API call differ from the ones generated on the Dashboard.

Solution

The id provided does not exist.

Error Status: 400

Possible reasons:

  • The URL is wrong or is missing something.
  • A GET API is executed by POST Method.

Solution

We are facing some trouble completing your request at the moment. Please try again shortly.

Error Status: 400

A GET API is executed by POST Method.

Solution

The requested URL was not found on the server.

Error Status: 400

The URL is wrong or missing something.

Solution

Curl

change language

change language

1
curl -u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \
2
-X GET https://api.razorpay.com/v1/payments/qr_codes \

Success

Failure

1
{
2
"entity": "collection",
3
"count": 2,
4
"items": [
5
{
6
"id": "qr_HO2jGkWReVBMNu",
7
"entity": "qr_code",
8
"created_at": 1623914648,
9
"name": "Store_1",
10
"usage": "single_use",
11
"type": "upi_qr",
12
"image_url": "https://rzp.io/i/w2CEwYmkAu",
13
"payment_amount": 300,
14
"status": "active",
15
"description": "For Store 1",
16
"fixed_amount": true,
17
"payments_amount_received": 0,
18
"payments_count_received": 0,
19
"notes": {
20
"purpose": "Test UPI QR Code notes"
21
},
22
"customer_id": "cust_HKsR5se84c5LTO",
23
"close_by": 1681615838,
24
"closed_at": null,
25
"close_reason": null
26
},
27
{
28
"id": "qr_HO2e0813YlchUn",
29
"entity": "qr_code",
30
"created_at": 1623914349,
31
"name": "Acme Groceries",
32
"usage": "multiple_use",
33
"type": "upi_qr",
34
"image_url": "https://rzp.io/i/X6QM7LL",
35
"payment_amount": null,
36
"status": "closed",
37
"description": "Buy fresh groceries",
38
"fixed_amount": false,
39
"payments_amount_received": 200,
40
"payments_count_received": 1,
41
"notes": {
42
"Branch": "Bangalore - Rajaji Nagar"
43
},
44
"customer_id": "cust_HKsR5se84c5LTO",
45
"close_by": 1625077799,
46
"closed_at": 1623914515,
47
"close_reason": "on_demand"
48
}
49
]
50
}