Digital payment industry with LankaQR

Sumudu Sahan Weerasuriya
5 min readMay 27, 2021

--

Hello Geeks!!! 😁😁😁

Today, I will explain about the lankaQR and how that is involving the digital payment industry.

We are using modern technologies such as Credit/Debit cards, QR codes, and NFC instead of physical money to make day-to-day life transactions easier and faster. Earlier, we have made payments by using physical money notes and coins.

As of the time of writing, we are in a middle of a pandemic situation and lockdowns in the entire world. Therefore, the digital payments industry has raised up moreover making transactions by using physical money notes.

When making transactions by using a technological way (Eg: Online transactions), that will consume only a couple of seconds to make the transaction end to end and save more time (without going to the bank, waiting in the queue, and make the transaction) reliably.

Eg: Bill payments, Fund transfers, Credit card payments, etc…

QR code-based transaction is the way that we can make transactions by scanning a QR code. Hence, you don’t need to ask for any other information such as the name of the bank, account numbers, etc…

Eg: When you go to a shop and when purchasing items and making the payment, you can simply scan the QR code that displays in the shop and make the relevant amount with just a few clicks.

But, when using QR-based transactions, we will think about the name of the bank and the possibility of making the payment from our account.

Eg: If the shop owner has an account that is opened in bank B1 and you are making the payment from an account that is in bank B2, the transaction will proceed like below.

Debiting from the account in B2 -> Crediting to the account in B1

According to the above use case, the QR code should be in a standard format and need to support all the banks to make transactions from any bank to any bank in Sri Lanka. Therefore, the lankaQR standard comes into the picture.

LankaQR is a project initiated by the Central Bank of Sri Lanka to ensure all QR codes and QR-based transactions in Sri Lanka are standardized and interoperable.[1]

How the LankaQR will help to standardize the QR payment industry?

LankaQR is a standard that involves standardized all the payment QR codes in Sri Lanka to support all the financial apps to make payment easily between the same bank or different banks. This has been inherited from the EMVCO QR standard[2]

Sample lankaQR code

Sample lankaQR code

Let’s dig more information about the lankaQR

LankaQR code is a QR code that combined information related to the payment, merchant, and terminal information, and these are combined with TAGS. LankaQR code has basically 2 verities.

  1. Dynamic QR codes
  2. Static QR codes

Dynamic QR codes

If the merchant has generated a QR code that relevant only for a unique payment, that will be a dynamic QR code.

Eg: If you go to the shop and purchase items, then the cashier generates a QR code with the transaction amount and a reference, you can scan the QR code and pay instantly.

Static QR codes

If the merchant has generated a QR code specifically for that merchant, that will be a static QR code.

Eg: If you go to the shop and purchase items, then the cashier displays a QR code to scan the QR code. Then you can scan the QR code and enter the amount that you need to pay and make the transaction.

Tags in LankaQR code

There are some tags included in the lankaQR codes. (* represents mandatory TAGS)

  • TAG00 — Payload Format Indicator *
  • TAG01 — Point of Initiation *

The point of Initiation tag can only have 11 or 12 as a value because this tag represents the QR code type.

When referring to a dynamic QR code, the value should be 12, and referring to a static QR code, the value should be 11.

  • TAG26 — Merchant Account Information *

According to the EMVCO specification, this tag ID can between 02–51, and the length of the tag value can be up to 99.

Merchant account information consists of few parameters and according to the lankaQR specification, the length of the tag value is 28.

Network Type(1 Digit) + Bank Code(4 Digits) + Sub Aquire(3 Digits) + Merchant ID(16 Digits) + Terminal ID (4Digits)

Eg: 1234512312345678901234561234

We can separate the above value to identify all the parameters included in the merchant account information clearly.

1 2345 123 1234567890123456 1234

  • TAG52 — Merchant Category Code *

This tag is representing the category of the business/merchant in ISO 18245 standard. Please refer to the link [3]

Eg: If the QR code generated with merchant account information belongs to a hospital, the value of the merchant category code should be 8062

You can find all the respective merchant category code by referring to the link [4] and link [5]

  • TAG53 — Currency Code*

This represents the currency used to make the transaction. According to the ISO 4217 standards, for Sri Lanka Rupees (LKR), the value of the TAG53 should be 144. You can find all the currency codes by referring to the link [6]

  • TAG54 — Amount

TAG54 represents the amount that you can pay via the application. When you scan the lankaQR code and if the TAG54 has a value, it will be picked from the payment application to make the transaction.

  • TAG55 — Tip or Convenience Indicator
  • TAG58 — Country Code*

This represents the country code in ISO 3166 standards (The value should be in Alpha2code). For example, LK is the country code value for Sri Lanka. You can find all the country codes in ISO 3166 standard by referring to the link [7]

  • TAG59 — Merchant Name*
  • TAG60 — Merchant City*
  • TAG61 — Postal Code
  • TAG62 — Additional Data Tag*

TAG62 represents additional information that needs to be passed along to the bank as references. (Eg: Bill Number, Reference Number, Terminal ID for a reference, etc…) This tag contains multiple subtags and the total character length of the TAG62 can be up to 99.

Below are some additional data tags as a reference.

  • TAG01 — Bill Number
  • TAG02 — Mobile Number
  • TAG03 — Store ID
  • TAG04 — Loyalty Number
  • TAG05 — Reference ID *

According to the LankaQR specifications, TAG05 is a mandatory tag. But that is not a mandatory tag in EMVCO QR specification.

  • TAG06 — Consumer ID
  • TAG07 — Terminal ID
  • TAG08 — Purpose
  • TAG09 — Additional Consumer Request

🚩 As of the time of writing, according to the lankaQR specification, TAG05 and TAG07 are the only tags that will be involved with transactions.

🚩 If any tag contains three stars (***), that means the payment application needs to pop up a field to enter a value by the user and that field is a mandatory field to proceed the particular transaction.

Congratulations!!! Now you know about the lankaQR standard and how that involves the digital payment industry to standardize all the QR codes in Sri Lanka. 😇😇😇

Stay safe and Good Bye until next time 😊😊😊

[1] https://www.lankaclear.com/products-and-services/lankaqr/

[2] https://www.emvco.com/wp-content/plugins/pmpro-customizations/oy-getfile.php?u=/wp-content/uploads/documents/EMVCo-Merchant-Presented-QR-Specification-v1.1.pdf

[3] https://en.wikipedia.org/wiki/Merchant_category_code

[4] https://web.archive.org/web/20070710202209/http://usa.visa.com/download/corporate/resources/mcc_booklet.pdf

[5] https://www.citibank.com/tts/solutions/commercial-cards/assets/docs/govt/Merchant-Category-Codes.pdf

[6] https://en.wikipedia.org/wiki/ISO_4217

[7] https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes

--

--

Sumudu Sahan Weerasuriya

Associate Technical Lead @ WSO2 | 2nd Runner-Up of WSO2 Certified Employee of the Year — 2021 | 10X WSO2 Certified | BIT(UCSC) | DiHN | OCPJP