Enkash Developer Portal
Home
Home
Login
  1. UPI QR
  • Back to home
  • Payment Gateway APIs
  • Authorisation
    • Get Authorization Token
  • Order
    • Create Order
    • Get Order Status
    • Get Order By Merchant Order Id
    • Get BNPL Payment Methods
    • Get Dynamic UPI QR
    • UPI Intent Links
  • Payment
    • Submit Payment Request
    • Get Transaction Status
    • Validate OTP
    • Resend OTP
    • Payment Notify Request
    • Get UPI Transaction Status
    • Verify UPI VPA
  • Refund
    • Refund
  • Settlement
    • Get Settlement Payout By ID
    • Search Settlement Payouts
  • Split Settlement
    • Create Split Settlement Account
    • Update Split Settlement Account
    • Get All Split Settlement Account
    • Deactivate Split Settlement Account
    • Activate Split Settlement Account
    • Submit Payment with Split Details
    • Edit Or Deferred Split Settlement
  • E-Commerce Plugins
  • UPI QR
    • Create UPI QR
      POST
    • Get UPI QR
      GET
    • Search UPI QR
      POST
    • Create Customer
      POST
    • Search Customer
      POST
    • Cancel UPI QR
      PATCH
  • UPI Autopay
    • Create UPI Mandate
    • Update UPI Mandate
    • Revoke UPI Mandate
    • Get UPI Mandate
    • UPI Mandate Callback
    • Mandate Pre-debit Notification
    • Execute Mandate Debit
    • Mandate Debit Callback
  • Payment Links
    • Payment Link APIs
    • Create Payment Link
    • Get Payment Link Details
    • Delete Payment Link
    • Webhook Request
  1. UPI QR

Create UPI QR

POST
/api/v0/qr-code
📌
Use this API to generate a UPI QR code linked to a specific payment request. This allows you to accept secure, instant payments from customers using any UPI-enabled app. You can create static or dynamic QR codes with order details, making reconciliation simple and automated.

Request

Header Params
merchantAccessKey
string 
optional
Authorization
string 
optional
Body Params application/json
qrName
string 
required
Qr Code Name
multipleUse
boolean 
required
Whether to accept multiple payments or single
fixedAmount
boolean 
required
If true then amount is mandatory
amount
number 
optional
amount is required if fixedAmount = true
description
string 
optional
Description of the qrCode
expiry
string 
optional
QrCode Expiry after which payment will not be accepted
customParams
object 
optional
Custom Data fields for qr code metadata
additionalProp1
string 
optional
additionalProp2
string 
optional
additionalProp3
string 
optional
customerName
string 
optional
Required if QrCode to be generated for specific merchant
customerEmail
string 
optional
Required if QrCode to be sent to user on email
customerMobile
string 
optional
Required if qrCode image link to sent on sms
customerId
string 
optional
CustomerId, if qrCode to generated against already added customer
referenceNumber
string 
optional
Merchant's unique reference number for qrCode
Example
{
    "qrName": "string",
    "multipleUse": true,
    "fixedAmount": true,
    "amount": 0,
    "description": "string",
    "expiry": "string",
    "customParams": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
    },
    "customerName": "string",
    "customerEmail": "string",
    "customerMobile": "string",
    "customerId": "string",
    "referenceNumber": "string"
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/api/v0/qr-code' \
--header 'merchantAccessKey;' \
--header 'Authorization;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "qrName": "string",
    "multipleUse": true,
    "fixedAmount": true,
    "amount": 0,
    "description": "string",
    "expiry": "string",
    "customParams": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
    },
    "customerName": "string",
    "customerEmail": "string",
    "customerMobile": "string",
    "customerId": "string",
    "referenceNumber": "string"
}'

Responses

🟢200Success
application/json
Body
response_code
integer <int32>
optional
response_message
string 
optional
payload
object (QrCodeResponse) 
optional
qrCodeId
string 
optional
Unique QrCode Id generated at our end
qrName
string 
optional
multipleUse
boolean 
optional
fixedAmount
boolean 
optional
amount
number 
optional
description
string 
optional
expiry
string 
optional
customParams
object 
optional
status
enum<string> 
optional
QrCode status
Allowed values:
ACTIVECANCELLED
qrCodeBase64
string 
optional
Base64Image of the QrCode
createdOn
string 
optional
DateTime of the QrCode created
modifiedOn
string 
optional
DateTime of the QrCode modified
customerName
string 
optional
customerEmail
string 
optional
customerMobile
string 
optional
customerId
string 
optional
referenceNumber
string 
optional
Example
{
    "response_code": 0,
    "response_message": "string",
    "payload": {
        "qrCodeId": "string",
        "qrName": "string",
        "multipleUse": true,
        "fixedAmount": true,
        "amount": 0,
        "description": "string",
        "expiry": "string",
        "customParams": {
            "additionalProp1": "string",
            "additionalProp2": "string",
            "additionalProp3": "string"
        },
        "status": "ACTIVE",
        "qrCodeBase64": "string",
        "createdOn": "string",
        "modifiedOn": "string",
        "customerName": "string",
        "customerEmail": "string",
        "customerMobile": "string",
        "customerId": "string",
        "referenceNumber": "string"
    }
}
Modified at 2025-07-05 12:23:12
Previous
UPI QR
Next
Get UPI QR
Built with