首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

銀聯支付服務端開發:後端工程師快速入門指南

     編輯:程式設計疑難解答

APP 接入銀聯支付,作為後端開發(Java/PHP/Node.js 等),核心職責是提供安全的下單、查詢、退款、通知驗簽介面,而非直接處理用戶輸入密碼等前端邏輯。

服務端核心職責

介面說明關鍵動作
下單/預下單前端請求 → 後端組裝參數 → 呼叫銀聯 SDK → 返回 tn (交易流水號) 給前端簽名、金額單位(分)、商戶訂單號唯一性
前台通知用戶支付完成 → 銀聯前端跳回商戶頁面 → 後端驗簽 → 展示結果驗簽、防重複處理、更新訂單狀態
後台通知銀聯伺服器主動 POST 通知商戶後端 → 後端驗簽 → 更新訂單 → 回應 "SUCCESS"冪等性、簽名驗證、異常重試邏輯
查詢/退款客服/對帳觸發 → 後端呼叫銀聯查詢/退款介面 → 同步狀態原交易流水號、退款金額校驗

快速上手步驟

  1. 申請商戶號:向銀聯/收單機構申請測試商戶號、終端號、簽名證書(.pfx/.cer)
  2. 下載對應語言 SDK:
    • Java:unionpay-acp-sdk (Maven Central 可獲取)
    • PHP:官方 unionpay-php-sdk
    • Node.js:unionpay-sdk (npm)
    • .NET:NuGet UnionPay.Acp.Sdk
  3. 配置關鍵參數(以 Java 為例):
    # acp_sdk.properties
    merId=你的商戶號
    signCert.path=簽名證書路徑
    signCert.pwd=證書密碼
    validateCert.dir=驗簽公鑰目錄
    frontUrl=前台通知地址(公開可訪問)
    backUrl=後台通知地址(公開可訪問)
    
  4. 整合 Demo 代碼:SDK 附帶 Demo 專案,直接跑通「下單 → 支付 → 通知」流程
  5. 自測驗簽:使用銀聯提供的測試卡號(如 622109...)在測試環境全流程走通

iOS/Android 客戶端協作要點

  • 客戶端只需呼叫 UPAPayPlugin.startPay(tn, mode),tn 由你的後端下單介面返回
  • 前台通知頁面由客戶端處理跳轉,後端只需提供驗簽介面供客戶端查詢結果
  • 後台通知必須在公開網路可訪問的 HTTPS 域名,本地測試用 ngrok/frp 穿透

避坑指南

  • 金額單位為「分」:1 元 = 100,整型傳輸,勿用浮點數
  • 商戶訂單號唯一:建議 時間戳 + 隨機數 + 業務前綴
  • 證書環境區分:測試環境用測試證書,生產環境換正式證書,路徑配置分離
  • 後台通知幂等性:同一 queryId 多次通知只處理一次,資料庫唯一索引保障

不需要從零造輪子,**官方 SDK 已封裝完整簽名、驗簽、報文組裝、HTTP 通訊**,核心工作是配置正確、業務邏輯閉環、異常情況處理。建議先跑通官方 Demo,再按業務模型封裝 Service 層。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved