Skip to main content
支援的終端機型號
  • Landi A8 / A8S:支援所有支付方式
  • PAX A920:僅支援 QR Code 支付

1. POS-KEY

POS-KEY 為交易資料加密金鑰,由 Haojin App 產生。 系統預設為 啟用加密
商戶可於商戶平台(MMS)開啟 / 關閉加密或重新產生 POS-KEY,並需於 Haojin App 重新整理裝置後才會生效。

重新產生 POS-KEY

Haojin App → 我的 → 設定 → POS-Key → 產生

查詢 POS-KEY

商戶平台 → 設定 → 裝置設定 → POS Key 管理

2. 加密方式(Encryption)

  • 所有交易資料皆使用 AES-128 / CBC / PKCS5Padding
  • 加密金鑰:POS-KEY
  • IV:qfpay202306_hjsh
  • 加密後再進行 Base64 編碼

3. 請求資料格式(Request Payload)


3.1 付款(Payment)

  • QR Code 模式:MPM / CPM 依最近一次使用自動切換
  • camera_id 可指定前 / 後鏡頭
  • 刷卡交易:wait_card_timeout 為最大等待時間
  • 錢包交易:payment_timeout 為整筆交易等待時間
  • PayMe 最長僅支援 120 秒
  • scan_type
    • QRCODE_PAY
    • SCAN_PAY
  • moveToBack
    • 0:不返回(預設)
    • 1:交易完成後自動返回首頁

3.2 退款(Refund / Void)

Visa / Mastercard / 銀聯卡 / 美國運通卡
當日退款必須全額退款,不支援當日部分退款。

3.3 列印收據


3.4 列印交易摘要


3.5 交易查詢

支援參數 out_trade_no

3.6 取消付款 / 退款請求


4. 簽名產生機制(Signature Generation)

計算流程

若啟用加密:
  1. 先將 content 進行 AES 加密
  2. 再以加密結果計算 digest

5. 欄位定義

5.1 func_type


5.2 channel

CPM = 消費者出示碼
MPM = 商戶出示碼

6. 回應格式

回應代碼


7. USB 傳輸方式

  1. 以 USB 連接 POS 與收銀機
  2. 依 USB 協議封裝資料
  3. 回傳資料需解析後再進行 AES 解密

8. HTTP / HTTPS 通訊協議

  • 預設 Port:9001
  • 使用 POST
  • Header:
如需設定 HTTPS,請參閱 ECR HTTPS 整合文件

API 路徑


9. TCP 協議

  • 預設 Port:9002
  • 使用 Socket
  • 所有內容皆為 AES 加密

10. USB 封包結構

0x2f6e 為 ASCII 字串 /n 的十六進制表示,不是換行字元。

Timeout

回應逾時:1000ms

串列埠設定


USB-to-Serial 支援

此限制僅適用於 USB 模式整合。
若使用 HTTP / TCP 整合方式,則不受晶片限制。

封包範例

明文: {“content”:”{"amt":100,"channel":"wx","funcType":1,"mode":1}”,“digest”:“2f0c4683e25a7b9407265033070e9034”} Hex: 2f6e011001007f00747b22636f6e74656e74223a227b5c22616d745c223a3130302c5c226368616e6e656c5c223a5c2277785c222c5c2266756e63547970655c223a312c5c226d6f64655c223a317d222c22646967657374223a223266306334363833653235613762393430373236353033333037306539303334227d2f6e