5. How to use PayOn khqr library
@PayOn development group
PayOn khqr library is follow to Khqr spec and add more spec for PayOn app to use.
5.1 Generate QR data
First we create new PayloadAPI and set id, value (setId(), setValue()) according to we need the field, then add payloadAPI object to map by use field id for map key.
ID | Sub ID | Name | Variable | Length |
"00" | payload format indicator | payload_format_indicator_value | 02 | |
"01" | point of initiation method | point_of_initiation_method_value | 02 | |
RFU | merchant account information template | merchant_account_template | 02 | |
RFU | merchant account information | merchant_account_info_id (input ), merchant_account_info_value (input value) | Var. up to 99 | |
"52" | merchant category code | country_code_value | 04 | |
"53" | transaction currency | transaction_currency_value | 03 | |
"58" | country code | country_code_value | 02 | |
"54" | transaction amount | transaction_amount_value | Var. up to 13 | |
"89" | merchant name | merchant_name_value | Var. up to 25 | |
"60" | merchant city | transaction_currency_value | Var. up to 15 | |
"55" | convenience indicator | tip_or_con_indicator_value | 02 | |
"61" | postal code | postal_code_value | 10 | |
"56" | convenience fee fixed | value_of_convenience_fee_fixed_value | Var. up to 13 | |
"57" | convenience fee percentage | value_of_con_fee_percentage_value | Var. up to 05 | |
"62" | additional data | Var. up to 99 | ||
"01" | bill number | bill_number_value | Var. up to 25 | |
"02" | mobile number | mobile_number_value | Var. up to 25 | |
"03" | store label | store_label_value | Var. up to 25 | |
"04" | loyalty number | loyalty_number_value | Var. up to 25 | |
"05" | reference label | reference_label_value | Var. up to 25 | |
"06" | customer label | customer_label_value | Var. up to 25 | |
"07" | terminal id | terminal_label_value | Var. up to 25 | |
"08" | purpose of transaction | purpose_of_transaction_value | Var. up to 25 | |
"09" | consumer | add_consumer_data_req_value | Var. up to 25 | |
"10" to "49" | emvco | reserved_for_emvco_value | Var. up to 25 | |
"50" | fps | reserved_for_fps_value | Var. up to 25 | |
"51" tp "55" | wg | reserved_for_the_wg_value | Var. up to 25 | |
"56"-"99" | cambodia payment | reserved_for_cam_pay_opt_value | Var. up to 25 | |
"81" | transaction id (PayOn) | transaction_id_value | Var. up to 16 | |
"82" | terminal id (PayOn) | terminal_id_value | 10 | |
"83" | transaction type (PayOn) | transaction_type_value | 2 | |
"84" | api mode (PayOn) | api_mode_value | 1 | |
"85" | request date (PayOn) | req_date_value | 14 | |
"86" | merchant id (PayOn) | merchant_value | 8 | |
"87" | product id (PayOn) | product_value | 8 | |
"88" | ticket (PayOn) | ticket_value | 16 | |
"89" | purchase datetime (PayOn) | purchase_datetime_value | 14 | |
"90" | product name (PayOn) | product_name_value | Var. up to 50 | |
"91" | product image (PayOn) | product_image_value | Var. up to 50 | |
"92" | member id (PayOn) | member_value | Var. up to 50 | |
"93" | quantity gifton (PayOn) | quantity_value | Var. up to 50 | |
"64" | merchant information - language template | Var. up to 99 | ||
"00" | language preference | language_preference_value | 02 | |
"01" | merchant name - alternate language | merchant_name_alt_lang_value | Var. up to 25 | |
"02" | merchant city alternate language | merchant_city_alt_lang_value | Var. up to 25 | |
"03" to "99" | rfu for emvco | Var. up to 99 |
5.2 Read QR data
Input QR string in EMVCoParser.parse(qr String). Use field Id to get value from map. EMVCoParser.parseTlv(EMVCoParser.parse(qr String)) to get sub-data, Use field Id and sub field Id to sub value from map.
Last updated