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