APP如何接入微信支付?
APP接入微信支付,是如何接入的 ?
核心概念理解
在開始前,先理解微信支付在APP內的角色模型:
商戶: 你自己(公司)。
微信支付商戶平臺: 你的資金和配置管理中心(pay.weixin.qq.com)。
微信開放平臺: 你的APP信息管理中心(open.weixin.qq.com),APP支付必須在這里創建應用。
用戶: 使用你APP的消費者。
流程: 你的APP(前端) -> 你的商戶服務器(后端) -> 微信支付服務器 -> 返回支付憑證 -> 調起微信SDK完成支付。
接入全流程步驟
第一步:前期準備(賬號與資料)
1:注冊公司主體: 微信支付要求企業或個體工商戶資質,個人無法申請。
2:申請微信支付商戶號:
前往 微信支付商戶平臺 注冊申請。
需要營業執照、法人身份證、對公賬戶等信息。
審核通過后,你會獲得重要的五參數:
mchid: 商戶號
appid: 關聯的公眾號/小程序/APP的AppID(注意:APP支付需使用開放平臺的AppID)
api_v3_key: 用于解密回調通知的密鑰
serial_no: 商戶API證書序列號
private_key: 商戶API私鑰(從商戶平臺下載的證書文件里獲取)
3:注冊微信開放平臺并創建APP:
前往 微信開放平臺 創建移動應用,通過審核后獲得 開放平臺AppID。
關鍵操作: 在開放平臺的應用詳情中,將你的 微信支付商戶號 與這個 APP 進行綁定。這樣支付權限才通。
4:獲取開放平臺AppKey: 在開放平臺中生成,用于獲取用戶登錄授權等(支付本身不直接用它,但常需登錄態)。
第二步:技術集成(以Android/iOS原生為例)
核心:在你的APP中集成微信支付SDK,在你的服務器端實現下單、驗簽邏輯。
1:客戶端(APP)集成:
下載SDK: 從微信開放平臺官網下載對應平臺(iOS/Android)的SDK。
集成配置:
Android: 將SDK庫引入項目;在AndroidManifest.xml中注冊支付Activity;在應用包名對應的目錄下創建wxapi包,并創建WXPayEntryActivity類處理支付結果回調。
iOS: 將WechatOpenSDK添加到項目;在Info.plist中添加URL Types(URL Schemes為你APP的AppID);在AppDelegate中處理OpenURL回調。
調用支付: 在你的支付頁面,當用戶點擊支付時,客戶端應請求你自己的后端服務器獲取支付參數(見下文),然后用此參數調用微信SDK的支付方法。
Android: IWXAPI.sendReq(payReq)
iOS: WXApi.sendReq(payReq)
2:服務器端(你的后端)開發:
這是安全的關鍵,絕對不要在APP內直接生成支付簽名!所有與微信服務器的敏感交互都應通過你的后端。
下單接口: 當你的APP發起支付請求時,你的后端需要調用微信支付的 【統一下單API】(或現在的V3版合單下單API)。
構造請求參數,包括:appid(開放平臺的)、mchid、out_trade_no(你生成的唯一訂單號)、description、total_fee、notify_url(支付結果異步回調地址,最重要!)等。
使用你的private_key對參數進行簽名(V2使用MD5或HMAC-SHA256,V3使用SHA256-RSA)。
將簽名后的請求發送給微信支付服務器。
返回預付單信息: 微信支付服務器會返回一個包含prepay_id的響應。你的后端用這個prepay_id和必要參數,再次簽名,生成一個客戶端調起支付所需的參數包(通常包含appId, partnerId, prepayId, nonceStr, timeStamp, package, sign等),返回給你的APP。
處理異步通知: 用戶支付成功后,微信支付服務器會向你的notify_url發送一個POST請求,通知你支付結果。你的后端必須:
驗證此通知的簽名(確保來自微信)。
處理業務邏輯(更新訂單狀態為已支付,發放商品等)。
給微信返回一個成功的XML或JSON響應(<xml><return_code><![CDATA[SUCCESS]]></return_code></xml> 或V3格式),否則微信會重復通知。
第三步:測試與上線
1:沙箱測試: 微信支付提供沙箱環境,可用于模擬支付流程。但更常用的是...
2:真實場景測試:
在 微信商戶平臺 -> 產品中心 -> APP支付 中,配置 測試白名單。將測試人員的微信賬號(OpenID)添加到白名單。
使用測試白名單賬號,安裝你的測試包,進行真實的1分錢支付測試。務必完整測試支付成功、失敗、取消等各種流程,并驗證異步通知和訂單狀態更新。
3:上線前檢查:
確保商戶平臺的所有配置(如API密鑰、通知URL)正確。
確保開放平臺的APP信息已審核通過,且綁定了正確的商戶號。
移除測試白名單。
4:申請正式上線: 測試無誤后,在微信開放平臺提交你的APP審核,審核通過后即可發布。
上一篇:windows系統:網站安裝ssl后,安卓手機打開正常,蘋果手機不信任ssl的解決辦法
下一篇:網站制作:10個冷門HTML標簽,讓前端效率翻倍
