Skip to content

v3.5.12

Choose a tag to compare

@j7-dev j7-dev released this 02 Jul 11:18
· 23 commits to master since this release

變更內容

PAYUNi 信用卡定期定額(免跳轉)修復

  • fix: CreditToken 淨化 — 顧客 email 含 PayUni 不允許字元(如 Gmail plus-alias 的「+」)時,token_get 回 TOKEN02019 致 SDK Token 取得失敗、首次付款無法發起。新增 CreditTokenUtils::sanitize():合法 email 原值不變(既有訂閱續扣不受影響),僅非法值以 wc_{customer_id} 取代
  • fix: 首次付款(金額 > 0)與零元取 Token 兩路徑補上 3D 驗證頁(OTP)導向;非 SUCCESS 且無 3D URL 的回應改判失敗,不再靜默導向感謝頁
  • fix: 前端 UNi Embed 支援定期定額閘道(isPayuni 納入、payment_fields() 輸出卡號與記憶卡號容器、getTradeResult 強制 useTokenType
  • fix: 覆寫 validate_fields() — Embed 卡號在 iframe 內不經 POST,父類卡號欄位驗證會誤擋(Credit card number is required)
  • fix: 零元取 Token 3D 流程於 webhook 授權成功後補排程取消 5 元驗證授權
  • fix: trade/canceltrade/closetrade/query API 路徑重複 /api 前綴致 404;trade/canceltrade/close 改帶 Version 1.0(3.0 回 API00003)
  • fix: 取消授權排程改用 Action Scheduler(WP-cron 單次事件於高流量/頁面快取站點會遺失)

安全性

  • fix: 移除 PayUni debug log 中 hash_key / hash_iv(AES 金鑰)明文;HTTP 回應非 JSON 時改拋明確例外

測試

  • test: 新增 CreditTokenUtilsTest(15 測項);整合測試 197/197 通過

Full Changelog: v3.5.11...v3.5.12