APP 接入銀聯支付,作為後端開發(Java/PHP/Node.js 等),核心職責是提供安全的下單、查詢、退款、通知驗簽介面,而非直接處理用戶輸入密碼等前端邏輯。
| 介面 | 說明 | 關鍵動作 |
|---|---|---|
| 下單/預下單 | 前端請求 → 後端組裝參數 → 呼叫銀聯 SDK → 返回 tn (交易流水號) 給前端 | 簽名、金額單位(分)、商戶訂單號唯一性 |
| 前台通知 | 用戶支付完成 → 銀聯前端跳回商戶頁面 → 後端驗簽 → 展示結果 | 驗簽、防重複處理、更新訂單狀態 |
| 後台通知 | 銀聯伺服器主動 POST 通知商戶後端 → 後端驗簽 → 更新訂單 → 回應 "SUCCESS" | 冪等性、簽名驗證、異常重試邏輯 |
| 查詢/退款 | 客服/對帳觸發 → 後端呼叫銀聯查詢/退款介面 → 同步狀態 | 原交易流水號、退款金額校驗 |
unionpay-acp-sdk (Maven Central 可獲取)unionpay-php-sdkunionpay-sdk (npm)UnionPay.Acp.Sdk# acp_sdk.properties
merId=你的商戶號
signCert.path=簽名證書路徑
signCert.pwd=證書密碼
validateCert.dir=驗簽公鑰目錄
frontUrl=前台通知地址(公開可訪問)
backUrl=後台通知地址(公開可訪問)
Demo 專案,直接跑通「下單 → 支付 → 通知」流程UPAPayPlugin.startPay(tn, mode),tn 由你的後端下單介面返回時間戳 + 隨機數 + 業務前綴queryId 多次通知只處理一次,資料庫唯一索引保障不需要從零造輪子,**官方 SDK 已封裝完整簽名、驗簽、報文組裝、HTTP 通訊**,核心工作是配置正確、業務邏輯閉環、異常情況處理。建議先跑通官方 Demo,再按業務模型封裝 Service 層。