Supported Terminal Models
- LANDI A8 / A8S — All payment methods supported
- PAX A920 — QR code payments only
1. POS-KEY
POS-KEY is a secret key used to encrypt transaction data. It is generated via the Haojin App. Encryption is enabled by default. Merchants may toggle encryption on/off or regenerate the POS-KEY from the Merchant Portal (MMS). After changes, the POS device must refresh via the Haojin App.Refresh POS-KEY
Haojin App → My → Settings → POS-Key → GenerateCheck POS-KEY
Merchant Portal → Settings → Device Settings → POS Key Mgmt2. Encryption
- Algorithm: AES
- Key: POS-KEY
- IV:
qfpay202306_hjsh - Output: Base64 encoded
3. Request Payload Format
3.1 Payment
QR Mode
- MPM / CPM auto-selected based on last usage
0back (default)1front
- Card: time to tap/swipe
- Wallet/QR: time to confirm
- PayMe max timeout: 120 seconds
QRCODE_PAYSCAN_PAY
0stay on result screen (default)1return to home after transaction
3.2 Refund / Void
For Visa, Mastercard, UnionPay Card, and Amex, same-day refunds must be full amount.
3.3 Print Receipt
3.4 Print Summary
3.5 Transaction Inquiry
3.6 Cancel Request
4. Signature Generation
- Encrypt
contentusing AES - Generate digest from encrypted payload
5. Field Definitions
func_type
channel (Payment Method)
6. Response Format
Response Codes
7. Communication Methods
USB
Connect POS to register via USB. Payload must be AES encrypted and parsed according to protocol.HTTP / HTTPS
- Default port:
9001 - POST JSON payload
- AES encrypted
For HTTPS setup, please refer to the ECR Integration HTTPS documentation.
TCP
- Default port:
9002 - Socket communication
- AES encrypted
8. USB Protocol Overview
Start indicator:0x2f6ePayload max: 65536 bytes
Recommended: ≤ 1024 bytes
9. AES Encryption
- AES-128 CBC
- PKCS5 padding
- 16-byte key
- Required for request & response
10. Serial Port Settings
11. USB-Serial Chip Support
Chip support applies only to USB communication mode. HTTP / HTTPS and TCP integrations are unaffected.

