Skip to main content

QR Data Object

V1.5

Overview

A Merchant-Presented QR Code payment transaction enables consumers to make payment for purchases using a merchant generated and displayed QR Code based on the merchant’s details. For example, it can be used to enable the transfer funds to a merchant account designated by the Merchant Account Information over a payment network in exchange for goods and services provided by the merchant.

Consumer may download an Issuer mobile application on their mobile phones that has the capability to scan a Merchant-Presented QR Code and execute a payment transaction. This mobile application may be an existing mobile banking application from an Issuer. The request to process the payment transaction will be directed to the Issuer managing the account from which the funds will be debited.

DuitNow QR Data Object

NameIDFormatLength (Decimal)PresenceDescription
Payload Format Indicator“00”N02MVersion “02”
Point of initiation method“01”N02M

11 – Static QR Code

12 – Dynamic QR Code

Merchant Account Information“26” – “27”ANSVariable up to 99M

Please see Merchant Account Information (IDs “26” – “27”) for details.

ID “27” is Reserved for Future Use (RFU).

Merchant Category Code“52”N04M

As defined in ISO18245.

  • “0000” to be used for P2P QRs
  • “6010” to be used for POS Cash Out QRs
Transaction Currency Code“53”N03M

As defined in ISO4217.

Use 458 for Malaysian Ringgit.

Transaction Amount“54”ANS, limited to numeric and the "." symbolVar. up to 13C

Please see Transaction Amount (ID “54”) & Value of Convenience Fee Fixed (ID “56”) for details.

Tip or Convenience Indicator“55”N02O
  1. Indicates that consumer should be prompted to enter Tip
  2. Indicates that the merchant would mandatorily charge a flat convenience fee
  3. Indicates that merchant would charge a percentage convenience fee
Value of Convenience Fee Fixed“56”ANS, limited to numeric and the “.” symbolVar. up to 13C

The Value of Convenience Fee Fixed must be present if the data object ID “55” is present with a value of 02. Otherwise, this data object must be absent.

Please see Transaction Amount (ID “54”) & Value of Convenience Fee Fixed (ID “56”) for details.

Value of Convenience Fee Percentage“57”ANS, limited to numeric and the “.” symbolVar. up to 05C

The Value of Convenience Fee Percentage must be present if the data object ID “55” is present with a value of 03. Otherwise, this data object must be absent.

Example;

“0.06” indicates that the convenience fee percentage is 0.06% and must be calculate as transaction amount * 0.06% Note: Valid value “0.01”-“99.99”.

Country Code“58”ANS02M

As defined by ISO3166.

Use “MY” for Malaysia.

Merchant Name“59”ANSVar. up to 25M

Name of the Merchant.

e.g. “Interesting Wares Sdn Bhd”

Merchant City“60”ANSVar. up to 15MUse “MY” if this field is not applicable.
Postal Code“61”ANS05OMust be 5 numeric values.
Additional Data Field Template“62”SVariable Up to 99C

Additional information beyond that mentioned above may be required in certain cases. This information may be either presented by the merchant or Acquirer. The acquirer / merchant should provide only minimum information in order to avoid making the size of data onerous. The length of each tag is variable up to 30 characters and overall it is not to exceed the maximum of 99 characters for the total size of the Additional Data Field.

Required for JomPAY QR.

Please see Additional Data Field Template (ID “62”) for Data Object.

Merchant Information – Language Template“64”SVar. up to 9O

As defined by ISO 639.

The Merchant Information—Language Template includes merchant information in an alternate language and may use a character set different from the Common Character Set.

If the ID “64” is present, the Language Preference (ID “00”) and Merchant Name (ID “01”) must be present.

“00”
Language PreferenceANS02M
“01”
Merchant Name – Alternate LanguageSVar. up to 25M
“02”
Merchant City – Alternate LanguageSVar. up to 15O
Cyclic Redundancy Check (CRC)“63”ANS04M

Checksum calculated over all the data objects included in the QR Code.

Please see CRC (ID “63”) for details.

Data Integrity Check“82”ANS99O

To carry hash value or any other authentication value to ensure data integrity.

Please see Data Integrity Check (ID “82”) for details.

Transaction Amount (ID “54”) & Value of Convenience Fee Fixed (ID “56”)

  1. If present, the amount shall be different from zero, shall only include (numeric) digits "0" to "9" and may contain a single "." character as the decimal mark. When the amount includes decimals, the "." character shall be used to separate the decimals from the integer value and the "." character may be present even if there are no decimals.

    The number of digits after the decimal mark should align with the currency exponent associated to the currency code defined in [ISO 4217].

    The above describes the only acceptable format for the amount. It cannot contain any other characters (for instance, no space character, or comma can be used to separate thousands).

    The following are examples of valid amounts: "98.73", "98" and "98.", “0.1” and “0.01”. The following are NOT valid Transaction Amounts: "98,73", "3 705" and “3,705”.

  2. The amount shall not be included if the mobile application should prompt the consumer to enter the value to be paid to the Merchant.

Additional Data Field Template (ID “62”)

  1. If present, the Additional Data Field Template shall contain at least 1 data object.

  2. If present, the content of the data object value for IDs "01" to "08" shall be either "" or a value defined by the merchant. The presence of "" indicates that the mobile application is responsible for obtaining the necessary information.

    Example: A Customer Label input characters “0603***” means consumer is prompted for Customer Label.

  3. If present, the Additional Consumer Data Request (ID “09”) shall contain any combination of the characters “A”, “M” and/or “E”, and there shall only be a single instance of each character.

  4. If present, each of the three positions in the Merchant Channel (ID “11”) identifies a characteristic of the channel used for a QR transaction. The values and definitions are listed in Tables 3, 4 and 5 below.


Table 3: Merchant Channel - First Character - Media

ValueDefinition
"0"Print – Merchant sticker
"1"Print – Bill/Invoice
“2”Print – Magazine/Poster
“3”Print – Others
“4”Screen/Electronic – Merchant POS/POI
“5”Screen/Electronic – Website
“6”Screen/Electronic – App
“7”Screen/Electronic – Others

Table 4: Merchant Channel - Second Character - Transaction Location

ValueDefinition
“0”At Merchant premises/registered address
“1”Not at Merchant premises/registered address
“2”Remote commerce
“3”Others

Table 5: Merchant Channel - Third Character - Merchant Presence

ValueDefinition
“0”Attended POS/POI
“1”Unattended
“2”Semi-attended (self-checkout)
“3”Others

Table 6: Additional Data Field Template for ID “62”

NameIDFormatLengthPresenceDescription
Bill Number01ANSVariable up to 25OInvoice number or bill number.
Mobile Number02ANSVariable up to 25OTo be used for mobile number.
Store Label03ANSVariable up to 25OA distinctive number associated to a store.
Loyalty Number04ANSVariable up to 25OLoyalty card number as provided.
Reference Label05ANSVariable up to 25OAny value as defined by merchant or Acquirer in order to identify the transaction.
Customer Label06ANSVariable up to 25OTo be used to identify a specific consumer.
Terminal Label07ANSVariable up to 25OTo be used to identify a specific terminal.
Purpose of Transaction08ANSVariable up to 25OConsumer to input a value describing the purpose of the transaction.
Additional Consumer Data Request09AVariable up to 03OMobile application to provide the requested information in order to complete the transaction.
Merchant Tax ID10ANSVariable up to 15OMerchant Tax Identification Number (TIN).
Merchant Channel“11”ANSVariable up to 3OTo identify the channel for how the QR is displayed.
RRN“90”ANSVariable up to 20C

Recipient Reference Number (Ref-1).

Required for JomPAY QR.

RRN2"91"ANSVariable up to 30O

Recipient Reference Number (Ref-2).

Optional for JomPAY QR.

Geo Coordinates“92”ANSVariable up to 35OLatitude and Longitude of the Merchant.
Payment System Specific

“50” – “89”

“92” – “99”

SVar .OReserve for Future Use (RFU) for Payment Network.

Merchant Account Information (IDs “26” – “27”)

  1. The Merchant Account Information template shall be used when the payment system corresponding to the Merchant Account Information is explicitly identified in the template
NameIDFormatLengthPresenceDescription
Application Identifier (AID)“00”ANS14MMalaysia AID: A0000006150001
Acquirer ID“01”ANSVar. up to 06MAcquirer ID.

Please see Section Acquirer ID (ID “01”) for details.

QR ID“02”ANVar. up to 28M

Merchant/Recipient Identification Number assigned by Acquirer.

For Dynamic QR – Merchant/Recipient ID should be maintained across different QR generated by the same Merchant/Recipient.

For JomPAY QR – Use Biller Code.

Merchant Descriptor“03”ANSVar. up to 20OMerchant Description assigned by Acquirer.
Mobile Number“04”ANSVar. up to 15OMerchant mobile number.

CRC (ID “63”)

  1. The checksum shall be calculated according to [ISO/IEC 13239] using the polynomial '1021' (hex) and initial value 'FFFF' (hex). The data over which the checksum is calculated shall cover all data objects, including their ID, Length and Value, to be included in the QR Code, in their respective order, as well as the ID and Length of the CRC itself (but excluding its Value).

  2. Following the calculation of the checksum, the resulting 2-byte hexadecimal value shall be encoded as a 4-character Alphanumeric Special value by converting each nibble to an Alphanumeric Special character.

    Example: a CRC with a two-byte hexadecimal value of '007B' is included in the QR Code as "6304007B".

Data Integrity Check (ID “82”)

  1. Data integrity is the maintenance of, and the assurance of the accuracy and consistency of, data over its entire life-cycle and is a critical aspect to the design, implementation and usage of any system which stores, processes, or retrieves data with the usage of Hash Function.

  2. Hash Function Algorithm is standardized in ISO/IEC 10118-3. SHA-256 takes as input messages of arbitrary length and produces a hash value.

Acquirer ID (ID “01”)

The Acquirer ID value defined must be used using the ID and Code as below:


Table 9: List of Acquirer IDs (ID “01”)

No.Name of ParticipantAcquirer IDBIC Code
1AEON Bank (M) Berhad629295ACDBMYK2
2Affin Bank Berhad501664PHBMMYKL
3Al Rajhi Banking & Investment Corporation (Malaysia) Berhad432134RJHIMYKL
4Alliance Bank Malaysia Berhad504374MFBBMYKL
5AmBank Malaysia Berhad564169ARBKMYKL
6Ampersand Pay Sdn Bhd890293APSBMYNB
7Axiata Digital eCode Sdn Bhd890061BOSTMYNB
8Bank Islam Malaysia Berhad603346BIMBMYKL
9Bank Kerjasama Rakyat Malaysia Berhad589267BKRMMYKL
10Bank Muamalat Malaysia Berhad564167BMMBMYKL
11Bank of America (M) Berhad629188BOFAMY2X
12Bank of China (M) Berhad629152BKCHMYKL
13Bank Pertanian Malaysia Berhad (Agrobank)589373AGOBMYKL
14Bank Simpanan Nasional420709BSNAMYK1
15Beez Fintech Sdn Bhd890236BEEZMYNB
16BigPay Malaysia Sdn Bhd890012BGPYMYNB
17BNP Paribas Malaysia Berhad629204BNPAMYKL
18Boost Bank Berhad629303BOBEMYK2
19Boost Connect Sdn Bhd890244BCNTMYNB
20China Construction Bank (Malaysia) Berhad629261PCBCMYKL
21CIMB Bank Berhad501854CIBBMYKL
22Citibank Berhad589170CITIMYKL
23Curlec Sdn Bhd890160CRLCMYNB
24Deutsche Bank (M) Berhad629246DEUTMYKL
25Fass Payment Solutions Sdn Bhd890145FSPYMYNB
26Fave Asia Technologies Sdn Bhd890020FAVEMYNB
27Finexus Cards Sdn Bhd890038FNXSMYNB
28GHL Cardpay Sdn Bhd890103GHLCMYNB
29Global Payments Asia-Pacific Limited890186GLPYMYNB
30GPay Network (M) Sdn Bhd890046GRABMYNB
31GX Bank Berhad629279GXSPMYKL
32Hong Leong Bank Berhad588830HLBBMYKL
33HSBC Bank Berhad589836HBMBMYKL
34Industrial and Commercial Bank of China (M) Berhad629253ICBKMYKL
35Instapay Technologies Sdn Bhd890178INSTMYNB
36iPay88 (M) Sdn Bhd890079IPAYMYNB
37JP Morgan Chase Bank Berhad629212CHASMYKX
38KAF Investment Bank Berhad629311KAFBMYK2
39Kiplepay Sdn Bhd890152KPLPMYNB
40Koperasi Co-opbank Pertama Malaysia Berhad890228KCPMMYK1
41Kuwait Finance House (Malaysia) Berhad639406KFHOMYKL
42Malayan Banking Berhad588734MBBEMYKL
43ManagePay Systems Sdn Bhd890301MPAYMYNB
44MBSB Bank Berhad432310AFBQMYKL
45Merchantrade Asia Sdn Bhd890111MASBMYNB
46Mizuho Bank (Malaysia) Berhad629220MHCBMYKA
47MobilityOne Sdn Bhd890210MBLOMYNB
48Mobiedge E-commerce Sdn Bhd890277MDGEMYNB
49MRuncit Commerce Sdn Bhd890327MRCTMYNB
50MUFG Bank (Malaysia) Berhad629196BOTKMYKX
51OCBC Bank Berhad504324OCBCMYKL
52Paydibs Sdn Bhd890269PDBSMYNB
53Payex PLT890194PAYXMYNB
54Public Bank Berhad564162PBBEMYKL
55Razer Merchant Services Sdn Bhd890087RZMSMYNB
56Revenue Solution Sdn Bhd890095RSSBMYNB
57RHB Bank Berhad564160RHBBMYKL
58Setel Ventures Sdn Bhd890129SVSBMYNB
59ShopeePay Malaysia Sdn Bhd890004ARPYMYNB
60SiliconNet Technologies Sdn Bhd890202SPAYMYNB
61Standard Chartered Bank Malaysia Berhad539981SCBLMYKX
62Stripe Payments Singapore Pte Ltd890137STRPMYNB
63Sumitomo Mitsui Banking Corporation (M) Berhad629238SMBCMYKL
64TNG Digital Sdn Bhd890053TNGDMYNB
65UniPin (M) Sdn Bhd890251UNPNMYNB
66United Overseas Bank (Malaysia) Berhad519469UOVBMYKL
67Wannapay Sdn Bhd890319WANNMYNB
68YTL Digital Bank Berhad629287SCCHMYKL
692C2P System Sdn Bhd890285C2P2MYNB
70JomPAY898989N/A