QR Code Management API segregated from Merchant Onboarding API. Provides endpoints for QR code registration, deletion, status checking, and static QR retrieval.
Paths
/merchant/groups/{group_code}/banks/{bank_code}/bank_user/{bank_user_id}/tag/{merchant_tag}/retrieve_static_qr
Retrieve Static QR
This endpoint will be used to retrieve static QR code for merchant
Unique Id sent by client. Value should be a unique identifier of the request in UUID format.
Group code identifier
Bank code identifier
Bank user identifier
Merchant tag identifier
Static QR retrieved successfully
Bad request
Unauthorized
Static QR not found
Internal server error
/merchant/groups/{group_code}/banks/{bank_code}/bank_user/{bank_user_id}/tag/{merchant_tag}/delete_qr_code
Delete QR Code
This endpoint will be used to delete an existing QR code
Unique Id sent by client. Value should be a unique identifier of the request in UUID format.
Group code identifier
Bank code identifier
Bank user identifier
Merchant tag identifier
QR code identifier to be deleted
QR code transaction identifier
QR code deleted successfully
Bad request
Unauthorized
QR code not found
Internal server error
/inquiry_payment/groups/{group_code}/banks/{bank_code}/bank_user/{bank_user_id}/tag/{merchant_tag}/check_qr_code_status
Check QR Code Status
This endpoint will be used to check the status of a QR code transaction
Unique Id sent by client. Value should be a unique identifier of the request in UUID format.
Group code identifier
Bank code identifier
Bank user identifier
Merchant tag identifier
QR code identifier to check status
QR code status retrieved successfully
Bad request
Unauthorized
QR code not found
Internal server error
/merchant/groups/{group_code}/banks/{bank_code}/bank_user/{bank_user_id}/tag/{merchant_tag}/register_qr_code
Register QR Code
This endpoint will be used to register a new QR code for merchant transactions
Unique Id sent by client. Value should be a unique identifier of the request in UUID format.
Group code identifier
Bank code identifier
Bank user identifier
Merchant tag identifier
Request body for QR code registration
QR code registered successfully
Bad request
Unauthorized
Internal server error
Definitions
{
"type": "object",
"properties": {
"emv_string": {
"type": "string",
"example": "00020101021243650016A000000677010111...",
"description": "EMV QR code string"
},
"qr_image": {
"type": "string",
"example": "iVBORw0KGgoAAAANSUhEUgAA...",
"description": "Base64 encoded QR image"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"merchant_tag": {
"type": "string",
"example": "MERCHANT123",
"description": "Merchant tag identifier"
},
"static_qr_code": {
"type": "string",
"example": "QR123456789",
"description": "Static QR code"
},
"qr_payload": {
"$ref": "#/definitions/QrPayload"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "SUCCESS",
"description": "Response code"
},
"desc": {
"type": "string",
"example": "Static QR retrieved successfully",
"description": "Response description"
},
"merchant_dtl": {
"$ref": "#/definitions/MerchantDetails"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"retrieve_static_qr_dtl": {
"$ref": "#/definitions/RetrieveStaticQrDetails"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"header": {
"$ref": "#/definitions/ResponseHeader"
},
"resp_dtl": {
"$ref": "#/definitions/RetrieveStaticQrResponseDetail"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"payment_id": {
"type": "string",
"example": "PAY123456789",
"description": "Payment identifier"
},
"amount": {
"type": "number",
"format": "double",
"example": 100.5,
"description": "Transaction amount"
},
"currency": {
"type": "string",
"example": "AED",
"description": "Transaction currency"
},
"fees": {
"type": "number",
"format": "double",
"example": 2.5,
"description": "Transaction fees"
},
"total_amt": {
"type": "number",
"format": "double",
"example": 103,
"description": "Total amount including fees"
},
"reason": {
"type": "string",
"example": "Payment for goods",
"description": "Transaction reason"
},
"shop_id": {
"type": "integer",
"format": "int32",
"example": 12345,
"description": "Shop identifier"
},
"cash_desk_id": {
"type": "integer",
"format": "int32",
"example": 67890,
"description": "Cash desk identifier"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "SUCCESS",
"description": "Response code"
},
"desc": {
"type": "string",
"example": "QR code deleted successfully",
"description": "Response description"
},
"payment": {
"$ref": "#/definitions/PaymentDetails"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"delete_qr_code_dtl": {
"$ref": "#/definitions/DeleteQrCodeDetails"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"header": {
"$ref": "#/definitions/ResponseHeader"
},
"resp_dtl": {
"$ref": "#/definitions/DeleteQrCodeResponseDetail"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"qr_code_request_status": {
"type": "string",
"example": "COMPLETED",
"description": "Current status of QR code request"
},
"payment_id": {
"type": "integer",
"format": "int32",
"example": 123456789,
"description": "Payment identifier"
},
"last_update_date": {
"type": "string",
"format": "date-time",
"example": "2025-06-10T10:30:00Z",
"description": "Last update timestamp"
},
"payment_id_sct": {
"type": "string",
"example": "SCT123456789",
"description": "SCT payment identifier"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "SUCCESS",
"description": "Response code"
},
"desc": {
"type": "string",
"example": "QR code status retrieved successfully",
"description": "Response description"
},
"qr_code_status": {
"$ref": "#/definitions/QrCodeStatus"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"check_qr_code_status_dtl": {
"$ref": "#/definitions/CheckQrCodeStatusDetails"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"header": {
"$ref": "#/definitions/ResponseHeader"
},
"resp_dtl": {
"$ref": "#/definitions/CheckQrCodeStatusResponseDetail"
}
},
"additionalProperties": false
}
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "number",
"format": "double",
"example": 100.5,
"description": "Amount for the QR code transaction"
},
"currency": {
"type": "string",
"example": "AED",
"description": "Currency code for the transaction"
},
"reason": {
"type": "string",
"example": "Payment for goods",
"description": "Reason for the transaction"
},
"shop_id": {
"type": "integer",
"format": "int32",
"example": 12345,
"description": "Shop identifier"
},
"cash_desk_id": {
"type": "integer",
"format": "int32",
"example": 67890,
"description": "Cash desk identifier"
},
"category_purpose": {
"type": "string",
"example": "RETAIL",
"description": "Category purpose of the transaction"
}
},
"additionalProperties": false
}
{
"type": "object",
"required": [
"header",
"register_qr"
],
"properties": {
"header": {
"$ref": "#/definitions/RequestHeader"
},
"register_qr": {
"$ref": "#/definitions/RegisterQrData"
},
"payment_category": {
"type": "string",
"example": "MERCHANT",
"description": "Payment category"
},
"payment_type": {
"type": "string",
"example": "QR",
"description": "Payment type"
},
"qr_code_transaction_id": {
"type": "string",
"example": "TXN123456789",
"description": "QR code transaction identifier"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"qr_code_id": {
"type": "string",
"example": "QR123456789",
"description": "Generated QR code identifier"
},
"link": {
"type": "string",
"example": "https://payment.rakbank.ae/qr/123456",
"description": "Payment link"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "SUCCESS",
"description": "Response code"
},
"desc": {
"type": "string",
"example": "QR code registered successfully",
"description": "Response description"
},
"register_qr_dtl": {
"$ref": "#/definitions/RegisterQrDetails"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"register_qr": {
"$ref": "#/definitions/RegisterQrResponseData"
},
"qr_payload": {
"$ref": "#/definitions/QrPayload"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"header": {
"$ref": "#/definitions/ResponseHeader"
},
"resp_dtl": {
"$ref": "#/definitions/RegisterQrResponseDetail"
}
},
"additionalProperties": false
}
{
"type": "object",
"required": [
"channel",
"channel_ref",
"time_stamp"
],
"properties": {
"channel": {
"type": "string",
"example": "API",
"description": "Channel identifier"
},
"channel_ref": {
"type": "string",
"example": "REF123456",
"description": "Channel reference"
},
"time_stamp": {
"type": "string",
"format": "date-time",
"example": "2025-06-10T10:30:00Z",
"description": "Request timestamp"
}
},
"additionalProperties": false
}
{
"type": "object",
"properties": {
"channel": {
"type": "string",
"example": "API",
"description": "Channel identifier"
},
"channel_ref": {
"type": "string",
"example": "REF123456",
"description": "Channel reference"
},
"time_stamp": {
"type": "string",
"format": "date-time",
"example": "2025-06-10T10:30:00Z",
"description": "Response timestamp"
},
"status_code": {
"type": "string",
"example": "200",
"description": "Status code"
},
"status_desc": {
"type": "string",
"example": "Success",
"description": "Status description"
},
"MsgId": {
"type": "string",
"format": "uuid",
"example": "550e8400-e29b-41d4-a716-446655440000",
"description": "Message identifier from request"
}
},
"additionalProperties": false
}
Response in case of error
{
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "400",
"description": "HTTP Status"
},
"response_code": {
"type": "string",
"example": "QR_001",
"description": "API specific error code"
},
"property": {
"type": "string",
"example": "amount",
"description": "Property that caused the error"
},
"response_message": {
"type": "string",
"description": "Brief type of the error",
"example": "Invalid amount"
},
"description": {
"type": "string",
"description": "Detailed description of the error",
"example": "The amount must be greater than zero"
}
},
"additionalProperties": false,
"required": [
"response_code",
"status",
"response_message"
]
}
