# 1. QR Code Create

# HTTP request info

# URL

{domain}/open-api/qr/generate

# Method

POST

# Content-Type

application/json

# Request parameters

parameter name required type length description
timestamp Yes long - current timestamp
channelCode Yes string - channel code, refer to QR Channel List
mchOrderId Yes string 1-32 merchant order ID, alphanumeric, max length 32
amount Yes integer - amount, the unit is cent
notifyUrl Yes string 1-256 merchant payment notification URL
customerName No string 1-128 customer name, max length 100
email No string 1-128 customer email address
mobile No string 10-11 customer mobile phone number
remark No string 1-256 remark
expireSeconds No integer - expiration time,unit is second,from 30 to 3600,default is 3600

# Response parameters

parameter name required type description
mchOrderId Yes string merchant order ID, alphanumeric, max length 32
transactionId No string QR Code transaction ID
qrCodeContent Yes string QR Code content
channelCode Yes string channel code, refer to QR Channel List
notifyUrl Yes string merchant payment notification URL
remark No string remark
qrStatus Yes string QR Code status (ACTIVE, INACTIVE, CANCELLED)
transactionStatus Yes string transaction status (PENDING, COMPLETED, FAILED)
qrLink No string customer payment guide URL
createTime No string transaction create time
updateTime No string transaction update time
expiresTime Yes string expiration time

# Request example

# Param content

{
  "timestamp": 1676017834369,
  "channelCode": "DUITNOW_DYNAMIC_QR",
  "mchOrderId": "PC880001",
  "amount": 1000,
  "notifyUrl": "https://example.com/",
  "customerName": "Raja",
  "email": "raja@example.com",
  "mobile": "60128888888",
  "remark": "example",
  "expireSeconds": 300
}

How to construct request body

# Request body

{
  "appId": "c9b002aef1d7496c9df078d937896605",
  "sign": "tVa+aoAXH0ls1IoPznzkFyF+4v+iTZaCSttPWmYl1kCHeh8mwao8cqAD7Y7wdymcr9yavKh4bKT18KeLu27g7Q5GqhEQ0cm1dkARe+i2xoH32la4HAzBfPj9liULDawGoPbo739+FLgZnV79CLaiukvqtnkgI/Km6J/KccRPl2CtS4PUjxCyRicOAcv91KZiVOxyhoP9bKhvwtCkCIlkpBHKWskBPCxxfctoORjgXWj7FhRPLYBuRDaczfmr2um9aNXhVoH1XFZf7Gu67n6RmeB0kc2dHFPI89JEI0PwGq+bvbCAEUtHK4SlLexCtbMoCgGWKTJbSMDTvVF126jz8g==",
  "param": "{\"timestamp\":1676017834369,\"channelCode\":\"DUITNOW_DYNAMIC_QR\",\"mchOrderId\":\"PC880001\",\"amount\":1000,\"notifyUrl\":\"https://example.com/\",\"customerName\":\"Raja\",\"email\":\"raja@example.com\",\"mobile\":\"60128888888\",\"remark\":\"example\",\"expireSeconds\":300}"
}

# Response example

code collection

{
  "code": 10000,
  "message": "Success",
  "data": {
    "mchOrderId": "PC880001",
    "transactionId": "C1051669624201385891",
    "qrCodeContent": "iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACV0lEQVR4nO2cwY7CMAwF6Wr//5fZW1WJbOKx3QDSzBHatHpyzIsTfDyfz4fE+Hn3C3wTigVQLIBiARQL8Pv60XEcXaOfP7XnmPEf3+FrzG+/482vGFkAxQIoFmCQs64k/P0811y/HX7Y9Rpdb37FyAIoFmAxDU+6ZsrysuEF86cX/UR8whpZAMUCKBYgmrOKDJc78TXQh1QojSyAYgE2TcO4WU8UG7ZhZAEUC6BYgGjO6soaQ+sQZ1i0iD+xiJEFUCzAYhp2bQEkNiyWXn8+ZuPmxYmRBVAsgGIBjs0riXjdMuES7sbIAigWIDoNi/t9xVrC3DrEB4y7Dc86VFEsQGkhHQ/7+GWVOZ77AY17fSMLoFgAxQJEj0nGawBzirWEBMuEGM+SRhZAsQCZfcPKWjc3KeaGe/7openROtyCYgEUC5Ap/sWtQ+UA4x3rlWKWNLIAigXIFP+GVKzD8kHBmdLlNv7DyAIoFkCxAIuqw3ytMMwvxUMGibXLnMaDmUYWQLEAC+sQN9mViuBy8OGAc+swHyeHkQVQLIBiAQY5q7HC/0ouzXUdhIwnaK1DFcUCbDr5124sriQmV+5UhJEFUCzApi5HxeVxcBbnin8upG9BsQCKBdjU5WiYLNpdS7HlwfJ2IwugWIDdXY5yD7q16h/HyAIoFkCxAB/XXuX1ltyV/kf6zSgWYHezsSE52zFv3Bx3G578uwXFAigWYFOXo1v7uHf9w8KqQyeKBdjU5Wg4YHA747HaaOhqla516ESxAIoF2N3l6KsxsgCKBVAsgGIBFAugWIA/BQySrn6cOmYAAAAASUVORK5CYII=",
    "channelCode": "DUITNOW_DYNAMIC_QR",
    "notifyUrl": "https://example.com/",
    "remark": "example",
    "qrStatus": "ACTIVE",
    "transactionStatus": "PENDING",
    "qrLink": null,
    "createTime": "2022-11-28 16:30:01",
    "updateTime": null,
    "expiresTime": "2023-12-31 23:00:00"
  }
}