StaticQR Init API


Header NameHeader Value
Content-Typeapplication/json
X-VERIFYSHA256(base64 encoded payload + “/v1/sqr” +
salt key) + ### + salt index
Sample Request – Payload
{
    "merchantId": "PHONEPETESTUAT",
    "storeId": "teststore1",
    "orderId": "testorder",
    "message": "test message for user",
    "amountRestrictionType": "UNKNOWN",
    "activeTill": 1738139169
}
Sample Request – Base64 Encoded Payload
{
  "request": "ewogICAgIm1lcmNoYW50SWQiOiAiUEhPTkVQRVRFU1RVQVQiLAogICAgInN0b3JlSWQiOiAidGVzdHN0b3JlMSIsCiAgICAib3JkZXJJZCI6ICJ0ZXN0b3JkZXIiLAogICAgIm1lc3NhZ2UiOiAidGVzdCBtZXNzYWdlIGZvciB1c2VyIiwKICAgICJhbW91bnRSZXN0cmljdGlvblR5cGUiOiAiVU5LTk9XTiIsCiAgICAiYWN0aXZlVGlsbCI6IDE3MzgxMzkxNjkKfQ=="
}
Parameter NameTypeDescriptionMandatory
merchantIdSTRINGUnique MerchantID assigned to the merchant by PhonePeYes
superMerchantIdSTRINGUnique ID for the master MerchantID under which the multiple MIDs are taggedNo
storeIdSTRINGStore Id of store. Should be unique across. Special characters like ” “, “,”, “@” etc. are not allowed. Length should be lesser than 38 charactersYes
terminalIdSTRINGStore Id of store. Should be unique across. Special characters like ” “, “,”, “@” etc. are not allowed. Length should be lesser than 38 charactersNo
orderIdSTRINGUnique orderId for each POS payments. Special characters like ” “, “,”, “@” etc. are not allowed. Length should be lesser than 38 charactersNo
customerIdSTRINGUnique customerId for whom the QRCode is created. Avoid Special characters like ” “, “,”, “@” etc. Length should be lesser than 38 charactersNo
messageSTRINGMessage for the user. Special characters like ” “, “,”, “@” etc. are not allowed. Length should be lesser than 38 charactersNo
amountRestrictionTypeSTRINGThe type of restriction required for the QRcode, possible values are FIXED_AMOUNT, MIN_BOUNDED, UNKNOWNYes
amountSTRINGThe amount to be populated in SQR. Mandatory in case of FIXED_AMOUNT QR codeYes
activeFromLONGThe activeFrom parameter used as start timestamp and it’s in epoch datetime format.No
activeTillLONGThe activeTill parameter used as the end timestamp and it’s in epoch datetime format.Yes
minAmountSTRINGThe amount to be populated in SQR. Mandatory in case of MIN_BOUNDED QR codeYes
Sample Success Response
{
    "success": true,
    "data": {
        "staticQrCodeId": "EQR2407291400248170583464",
        "merchantId": "PHONEPETESTUAT",
        "storeId": "teststore1",
        "terminalId": "ET2407291400248170583056",
        "orderId": "testorder",
        "message": "test message for user",
        "amountRestrictionType": "UNKNOWN",
        "sourceType": "INTERNAL_API",
        "state": "ENABLED",
        "intent": "upi://pay?mode=02&pa=EQR2407291400248170583464@ybl&purpose=00&mc=5311&pn=PhonePeMerchant&orgid=500044",
        "activeTill": [
            2025,
            1,
            29,
            13,
            56,
            9
        ]
    }
}
Is this article helpful?