QR Code

Create a Static QR#

POST /staticqr

Generate a static QR Code. If the requested QR code is already existed and still active, then, the existing one will be returned, otherwise, new one will be created and returned instead.

Parameters#

NameTypeRequiredDescription
qrCodeTypeinteger(int64)falseType of QR code to request for generation or retrieving. See Appendix C.1 for a list of payment channel that supported by each QR Code Type.
merchantIDstring(50)trueUnique Merchant ID set by the company
terminalIDstring(25)trueTerminal unique ID
checkSumstringtrueChecksum of the query string. See Checksum for how the checksum value is calculated

Returns#

NameTypeRequiredDescription
responseCodestringtrueSee Appendix A
qrCodeTypestringtrueType of QR code. See Appendix C.1 for a list of payment channel that supported by each QR Code Type.
qrCodeIDintegertrueUnique id of QR code
poiintegertruePoint of initiation method
qrCodestringtrueQR Code image as based64 encoded string. See basic Static QR Code message table below for more details. For deviation or additional contents of QR code message as per specific channel (i.e. PromptPay), the reader should seek Appendix B for more information.
rawQRCodestringtrueActual raw contents of the QR Code
expiryTimestringtrueExpiry time of QR code (Format: yyyyMMdd HH:mm:ss)
merchantIDstringtrueUnique Merchant ID set by the company
merchantNamestringtrueMerchant Name
terminalIDstringtrueTerminal unique ID
terminalNamestringtrueTerminal Name
channels.channelCodestringtrueChannel code
channels.channelNamestringtrueChannel name
channels.seqNointegertrueSequence number of this object in an array
checkSumstringtrueChecksum of the query string. See Checksum for how the checksum value is calculated

Create a Static QR with amount#

POST /staticamountqr

Generate a static QR Code with amount. If the requested QR code is already existed and still active, then, the existing one will be returned, otherwise, new one will be created and returned instead. This method is only applicable for requesting QR code PromptPay type.

Parameters#

NameTypeRequiredDescription
qrCodeTypeintegerfalseType of QR code to request for generation or retrieving. See Appendix C.1 for a list of payment channel that supported by each QR Code Type.
merchantIDstring(50)trueUnique Merchant ID set by the company
terminalIDstring(25)trueTerminal unique ID
amountstring(13)trueAmount to be paid for the transaction. Limited to numeric and β€œ.” Length: up to 13 Amount should always contain two decimal points i.e. Amount β€œ100.00” is defined as β€œ100.00”, Amount β€œ99.12” is defined as β€œ99.12”
notestring(25)falseDescription of QR transaction
checkSumstringtrueChecksum of the query string. See Checksum for how the checksum value is calculated

Returns#

NameTypeRequiredDescription
responseCodestringtrueSee Appendix A
qrCodeTypestringtrueType of QR code. See Appendix C.1 for a list of payment channel that supported by each QR Code Type.
qrCodeIDintegertrueUnique id of QR code
poiintegertruePoint of initiation method
qrCodestringtrueQR Code image as based64 encoded string. See basic Static QR Code message table below for more details. For deviation or additional contents of QR code message as per specific channel (i.e. PromptPay), the reader should seek Appendix B for more information.
rawQRCodestringtrueActual raw contents of the QR Code
expiryTimestringtrueExpiry time of QR code (Format: yyyyMMdd HH:mm:ss)
amountstringtrueAmount to be paid for the transaction. Amount always show two decimal points even if they are zeros. i.e. Amount β€œ100.00” is defined as β€œ100.00”, Amount β€œ99.12” is defined as β€œ99.12”.
currencyCodestringtrueCurrency Code as defined by ISO4217. i.e. 764 (Baht)
currencyNamestringtrueName of currency
notestringtrueDescription of QR transaction
merchantIDstringtrueUnique Merchant ID set by the company
merchantNamestringtrueMerchant Name
terminalIDstringtrueTerminal unique ID
terminalNamestringtrueTerminal Name
channels.channelCodestringtrueChannel code
channels.channelNamestringtrueChannel name
channels.seqNointegertrueSequence number of this object in an array
checkSumstringtrueChecksum of the query string. See Checksum for how the checksum value is calculated

Create a Dynamic QR#

POST /dynamicqr

Generate a dynamic QR Code. If the requested QR code is already existed and still active, then, the existing one will be returned, otherwise, new one will be created and returned instead. Default expiry time is set to 15 minutes (subject to system setting) when the QR code is requested to generate for the first time.

Parameters#

NameTypeRequiredDescription
qrCodeTypeintegerfalseType of QR code to request for generation or retrieving. See Appendix C.1 for a list of payment channel that supported by each QR Code Type.
merchantIDstring(50)trueUnique Merchant ID set by the company
terminalIDstring(25)trueTerminal unique ID
invoicestring(25)trueInvoice or bill number for the transaction. If this is the first time generating this dynamic QR code, the invoice value entered must be unique and never been used for payment before. Supply invoice data that was used before may result in payment failed.
amountstring(13)trueAmount to be paid for the transaction. Limited to numeric and β€œ.” Length: up to 13 Amount should always contain two decimal points i.e. Amount β€œ100.00” is defined as β€œ100.00”, Amount β€œ99.12” is defined as β€œ99.12”
notestring(25)falseDescription of QR transaction
extExpiryTimestring(25)falseValue is in minute which indicates that the expiry time of the requested QR code will be in next XXX minutes from the current time. Min value: 5 minutes Max value: 43,200 minutes (approx. 30 days)
userDefinedstring(300)falseAny value that defined by user. i.e. client specific ID that is able to lead back to this QR code. Note that this value does not imbedded anywhere in the actual QR Code returned but it will be appeared in the β€œuserDefined” element of response JSON message if it is presented.
checkSumstringtrueChecksum of the query string. See Checksum for how the checksum value is calculated

Returns#

NameTypeRequiredDescription
responseCodestringtrueSee Appendix A
qrCodeTypestringtrueType of QR code. See Appendix C.1 for a list of payment channel that supported by each QR Code Type.
qrCodeIDintegertrueUnique id of QR code
poiintegertruePoint of initiation method
qrCodestringtrueQR Code image as based64 encoded string. See basic Static QR Code message table below for more details. For deviation or additional contents of QR code message as per specific channel (i.e. PromptPay), the reader should seek Appendix B for more information.
rawQRCodestringtrueActual raw contents of the QR Code
expiryTimestringtrueExpiry time of QR code (Format: yyyyMMdd HH:mm:ss)
amountstringtrueAmount to be paid for the transaction. Amount always show two decimal points even if they are zeros. i.e. Amount β€œ100.00” is defined as β€œ100.00”, Amount β€œ99.12” is defined as β€œ99.12”.
currencyCodestringtrueCurrency Code as defined by ISO4217. i.e. 764 (Baht)
currencyNamestringtrueName of currency
notestringtrueDescription of QR transaction
invoicestringtrueInvoice or bill number for the transaction
merchantIDstringtrueUnique Merchant ID set by the company
merchantNamestringtrueMerchant Name
userDefinedstringtrueAny value that was defined by user. i.e. client specific ID that is able to lead back to this QR code
terminalIDstringtrueTerminal unique ID
terminalNamestringtrueTerminal Name
channels.channelCodestringtrueChannel code
channels.channelNamestringtrueChannel name
channels.seqNointegertrueSequence number of this object in an array
checkSumstringtrueChecksum of the query string. See Checksum for how the checksum value is calculated

Retrieve a QR Code#

GET /qr

Returns details of an active QR Code

Parameters#

NameTypeRequiredDescription
qRCodeIdinteger(int64)trueUnique identifier of QR code
merchantIDstring(50)trueUnique Merchant ID set by the company
terminalIDstring(25)trueTerminal unique ID
checkSumstringtrueChecksum of the query string. See chapter 1.5.3 Checksum for Request with Query String for how the checksum value is calculated

Example response#

NameTypeRequiredDescription
responseCodestringtrueSee Appendix A
qrCodeTypestringtrueType of QR code. See Appendix C.1 for a list of payment channel that supported by each QR Code Type.
qrCodeIDintegertrueUnique id of QR code
poiintegertruePoint of initiation method
qrCodestringtrueQR Code image as based64 encoded string. See basic Static QR Code message table below for more details. For deviation or additional contents of QR code message as per specific channel (i.e. PromptPay), the reader should seek Appendix B for more information.
rawQRCodestringtrueActual raw contents of the QR Code
expiryTimestringtrueExpiry time of QR code (Format: yyyyMMdd HH:mm:ss)
amountstringtrueAmount to be paid for the transaction. Amount always show two decimal points even if they are zeros. i.e. Amount β€œ100.00” is defined as β€œ100.00”, Amount β€œ99.12” is defined as β€œ99.12”.
currencyCodestringtrueCurrency Code as defined by ISO4217. i.e. 764 (Baht)
currencyNamestringtrueName of currency
notestringtrueDescription of QR transaction
invoicestringtrueInvoice or bill number for the transaction
merchantIDstringtrueUnique Merchant ID set by the company
merchantNamestringtrueMerchant Name
userDefinedstringtrueAny value that was defined by user. i.e. client specific ID that is able to lead back to this QR code
terminalIDstringtrueTerminal unique ID
terminalNamestringtrueTerminal Name
channels.channelCodestringtrueChannel code
channels.channelNamestringtrueChannel name
channels.seqNointegertrueSequence number of this object in an array
checkSumstringtrueChecksum of the query string. See Checksum for how the checksum value is calculated