Skip to main content
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 → Generate

Check POS-KEY

Merchant Portal → Settings → Device Settings → POS Key Mgmt

2. 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
Camera
  • 0 back (default)
  • 1 front
Timeout
  • Card: time to tap/swipe
  • Wallet/QR: time to confirm
  • PayMe max timeout: 120 seconds
Scan Type
  • QRCODE_PAY
  • SCAN_PAY
Return to Home
  • 0 stay on result screen (default)
  • 1 return 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

If encryption is enabled:
  1. Encrypt content using AES
  2. 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
Endpoints:
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: 0x2f6e
Payload max: 65536 bytes
Recommended: ≤ 1024 bytes
0x2f6e represents the ASCII string “/n” — not a newline.

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.