November 2020

Bakong as a payment switch
A single QR Code for receiving payment from any mobile banking apps

Leng Sereywath
National Bank of Cambodia

Merchant - Presentedv 1.4

of Content

01

What is KHQR?

02

Benefts of KHQR

03

How it works

304

How to implement

405

FAQs

12

10

What is KHQR?

The standardization of KHQR code speciﬁcation will help prOMOte wider use of MOBILE
retail PAYMENTS in CAMBODIA and provide consistent user experience for MERchants
and CONSUMERs. It can enable interoperability in the PAYMENT industry. A COMMON QRcode would facilitate PAYMENTS AMONG different SCHEMES, e-wallets and banks andwould encourage SMALL MERchants to adopt KHQR code as PAYMENT MEthod.

KHQR is created for Retail PAYMENT in CAMBODIA and cross-border PAYMENT within
ASEAN countries. It only requires a single QR for receiving PAYMENT frOM any MOBILE
apps including Bakong App, MAKING QR PAYMENT SIMPLE for both cusTOMERs andMERchants in CAMBODIA. For MORe detail spec please refer to Prakas KHQR CodeSpeciﬁcation in CAMBODIA. This DOCUMENT will guide you through on how to IMPLEMENT KHQR by using Bakong PAYMENT Network as PAYMENT Switch.

of KHQR
For customers
No more confusion with multiple QR codes stand when making payment.
Simply look out for the KHQR label.

Using your own favourite app including Bakong App to make payment
anywhere that has a KHQR label.

For merchants
Saving Space for your counter. Only need to display a single KHQR standinstead of multiple QR labels.

Simple, fast, and secure payment solution.

Can accept payment from anyone and any bank app. No need to sign bilateralcontracts with many acquirers anymore.

it works
KHQR Pyament via Bakong Mobile App

13

Scan KHQR

Send Push Notifcation

Bakong user

Merchant

Merchant’s BankKHQR embbed

2

Send Payment Instruction

1

User scan KHQR via Bankong App

2

User Confrms Payment

3

Process Payment

KHQR Pyament via Mobile Banking App
1

5

Scan KHQR

Send Push Notifcation

Bank user

Merchant

4Merchant’s Bank

Instruction

KHQR embbed

2

3in Mobile Banking App

instruction to receive

Sender’s Bank
1Bank Customer Scans KHQR

2Bank Customer Confrms Payment in Mobile Banking App

3Sender Bank Forwards Payment Instruction

4Receive Payment Instruction

5

Process Payment Instruction, Notify

to implement

CRC

Cyclic Redundancy Check

MCC

Merchant Category Codes

Prerequisite

KHQR endorser must have KHQR settlement account as Bakong desktop
wallet where you can create via Bakong Desktop app.

Update QR label by follow Prakas specification of KHQR as prepared andaccepted by ABC as in Prakas in this document: KHQR for Payment inCambodia

Accept T&C to use Bakong as a payment switch for KHQR especially fee
sharing which is stated in Bakong Rule & Procedure (BRP).

Developers shall check and test if the acquirer system can generate QR Codecompliant with KHQR Specification, or parse KHQR Code from Bakong App.

How to generate KHQR LabelKHQR Tag 29
Solo merchant or IndividualThis QR code can be generated via Bakong Mobile/Desktop app with Receive
Function or by using Bakong page: www.bakong.nbc.org.kh . FIs can also use theAPI as presented detail in this link: KHQR API specification

Static KHQR Example

QR Code with tag 29 as a solo merchant with static KHQR

QR Code Convention

Payload format indicator“000201”

Version 1

Point of Initiation Method“010211”

Unique QR Code is shown for eachconsumer or Static QR CodeCRC“6304102F”

ChecksumMerchant Account Information

Gobally Unique Indentifer“2920”

Gobally Unique Indentifer“0016test_bakong@devb”

Global Unique Identiﬁer = test_bakong@devb 

is Bakong account

Additional Merchant Account Information

MCC“52045999”

Miscellaneous and speciality retail outlets

Country Code“5802KH”

Cambodia

Merchant Name

“5917Lucky Supermarket”

Lucky Supermarket

Merchant City

“6010Phnom Penh”

Phnom Penh

Timestamp“991700131633921024778” 131633921024778 is timestamp in milisecond

Transaction Value

Transaction AmountTransaction Currency

0 or Prompt for input“5303116”

KHR** Understanding the code
“5303116” divided into 3 parts “53”, “03”, “116” wherea
First part (53) is the tag I
Second part (03) is the length of data of the third part (116 has 3 digits
Third part (116) is the dataDynamic KHQR Example
QR Code with tag 29 as a solo merchant with dynamic KHQR

QR Code Convention

Payload format indicator“000201”

Point of Initiation Method“010212”DynamicCRC“6304D1EB”

Checksum

Version 1

QR CodeMerchant Account Information

Gobally Unique Indentifer“2920”

Gobally Unique Indentifer“0016test bakong_@devb” Global Unique Identiﬁer = test_bakong@devb 

is Bakong account

Additional Merchant Account Information

MCC“52045999”

Miscellaneous and speciality retail outlets

Country Code“5802KH”

Cambodia

Merchant Name

“5917Lucky Supermarket”

Lucky Supermarket

Merchant City

“6010Phnom Penh”

Phnom Penh

Timestamp“991700131633923455582” 131633923455582 is timestamp in milisecond** Note for checksum
In order to get the checksum value or CRC, get the value of the code except last 4 digits computedwith CRC algorithm to get the 4 digits value.

Transaction Value

Transaction Amount“54041000”

Transaction Currency“5303116”

Amount 1000
KHR

Remittance KHQR

This KHQR generates for remittance transaction, there is a must follow the KHQR
speciﬁcation. After owning the desktop account for example: “khqr@devb”(KHQR desktop account ), the content of QR Code shall be generate similar to this:Static KHQR Example
QR Code with tag 29 as a remittance KHQR with static KHQR

QR Code Convention

Payload format indicator“000201”

Version 1

Point of Initiation Method“010211”

Static QR CodeCRC“6304F256”

Checksum

Account Information

Gobally Unique Indentifer“2946”

Gobally Unique Indentifer“0009khqr@devb”

Global Unique Identiﬁer = khqr@devb

is Bakong account.

Account Information“0112000000001021”

Acquiring Bank

“0208Dev Bank”

Account Info = 000000001021 is accountnumberDev BankAdditional Account Information

MCC“52045999”

Country Code“5802KH”

Cambodia

Merchant Name

“5910Jonh Smith”

Jonh Smith

Merchant City

“6010Phnom Penh”

Phnom PenhTimestamp“991700131675223676621” 1675223676621 is timestamp in milisecond

Miscellaneous and speciality retail outlets

Transaction Value

Transaction Amount0 or Prompt for input

Transaction Currency“5303116”KHR

KHQR Tag 30
This KHQR generates for corporate merchant, there is a must follow the KHQR
speciﬁcation. After owning the desktop account for example: “khqr@devb” , thecontent of the QR Code shall be generate similar to this:Dynamic KHQR Example
QR Code with tag 30 as a corporate merchant with dynamic KHQR

QR Code Convention
Payload format indicator“000201”

Version 1

Point of Initiation Method“010212”Dynamic QR Code“6304846A”

CRC

ChecksumMerchant Account Information

Gobally Unique Indentifer

Gobally Unique Indentifer“3045”“0009khqr@devb”

Global Unique Identiﬁer = khqr@devb

is Bakong account.

Merchant ID“0109013345168”

013345168 is merchant ID

Acquiring Bank

“0208Dev Bank”

Dev Bank

Additional Merchant Account Information

MCC“52045999”

Miscellaneous and speciality retail outlets

Country Code“5802KH”

Cambodia

Merchant Name

“5914Coffee Khlaing”

Coffee Khlaing

Merchant City

“6010Phnom Penh”

Phnom Penh

Timestamp“991700131675224319881” 1675224319881 is timestamp in milisecond

Transaction Value

Transaction Amount“540410.0”

Amount 10.0

Transaction Currency“5303840”

USD

Additional Data Field Template

Additional Field Template“6233”Store Label“0310NBC SenSok”

NBC SenSok

Terminal Label“0708Number 2”

Number 2 is terminal label

What to do with FI’s Mobile App?
15Scan KHQR

Bank userSend

Push Notifcation

4Merchant

Merchant’s BankInstruction

KHQR embbed

23in Mobile Banking App

instruction to receive

Sender’s Bank

123BankCustomer Scans KHQR

Bank

Customer Confrms Payment in Mobile Banking App

Sender Bank

Payment Instruction

4Receive

5

Process Payment Instruction, Notify

Forwards Payment Instruction

KHQR Embbed Data (Tag)

3000

Unique ID of payment

merchant@BankA

01

Merchant ID

000340241

02

Acquiring BankBankA

52

Merchant Category Code5999

53Transaction CCY code

999

58

CCY codeKH

59

Merchant Name

Sosoro60

Merchant City

Phnom Penh

62

Additional Data Field

01

Bill Number

0978773121

02

Mobile Number

093524545

03Store Label

T000001

07

Terminal NumberT000001

asked questions (FAQs)
1. If my bank wants to know more or inquire about KHQR,
who should I talk to?
KHQR team of Association of Bank in Cambodia

2. If my bank wants to know more or inquire about How To
Implement KHQR By Using Bakong As a Payment Switch,
who should I talk to?
Bakong team of National Bank of Cambodia

3. How to identify remittance KHQR?
Remittance KHQR is the QR that contain information as below
Use tag 29
Global Unique Identifier in tag 00 is desktop wallet
Has customer account information in sub tag 01 (account number or phone number).

4.

How to identify solo merchant /individual KHQR?
Solo merchant/Individual KHQR is the QR that contain information as below
Use tag 29
Global Unique Identifier in tag 00 is customer Bakong account Id
No customer information in sub tag 01.

5.

How to identify corporate merchant KHQR?
Corporate merchant KHQR is the QR that contain information as below
Use tag 30
Global Unique Identifier in tag 00 is desktop wallet
Has merchant information in sub tag 01 (merchant id or merchant account number).

End of Document©2020 National Bank of Cambodia