小程序中接入微信支付完整教程


小程序中微信支付的能力,是隨着小程序的發布一並推出的,然而小程序文檔里關於微信支付接口只有一個requestPayment函數的描述。

這個requestPayment函數確實是小程序前端唯一需要調用的函數,但是微信支付的成功接入實際遠遠不止這一個函數,對於沒有接入過微信支付的開發者,會覺得一頭霧水,完全沒法下手。

本文闡述如何從零開始接入小程序支付,尤其適合那些沒有微信支付接入經驗的開發者。

1. 申請微信支付

小程序認證以后,可以在小程序后台,微信支付菜單欄,申請微信支付。

圖片描述

填寫企業信息和對公賬戶,微信支付會打一筆隨機金額到對公賬戶,輸入金額完成驗證后,在線簽署遷移,即完成了微信支付的申請流程。

微信支付申請完,會發送微信支付商戶號,商戶平台用戶名密碼等信息到注冊者郵箱。

2. 准備工作

2.1 配置小程序密鑰

圖片描述

小程序后台設置頁,點擊生成,管理員驗證二維碼后,會隨機生成AppSecret。請妥善保管好Appsecret,不要明文存儲於服務器,AppSecret用於和微信服務器交互。比如獲取用戶的openid接口就需要用到.

2.2 設置密鑰和下載證書

用申請微信支付獲得的用戶名和密碼,登錄商戶平台(pay.weixin.qq.com),在賬戶中心,API安全中下載證書和設置密鑰。

密鑰是32位,設置以后需要妥善保管,因為無法查看密鑰,所有微信支付相關的接口都會使用這個密鑰加密。

2.3 配置HTTPS服務器 
小程序的前端是使用微信提供的框架開發,但是后台依然是開發者自己的服務器。小程序發起的是HTTPS請求,意味着小程序開發者必須配置HTTPS服務器。

配置HTTPS服務器之前,先要獲取證書,證書可以向相關機構購買,騰訊雲目前可以向用戶提供免費的證書。

證書安裝指引,可以參考這里: https://www.qcloud.com/doc/product/400/4143

3. 微信支付流程

微信支付有多種支付方式,包括刷卡支付,公眾號支付,掃碼支付,APP支付,所有微信支付的接口都可以在這里找到: 
https://pay.weixin.qq.com/wiki/doc/api/index.html

小程序是在微信里調起支付的,其實是公眾號支付,關於公眾號支付的詳細文檔可以這里找到:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1

所有公眾號支付相關的鏈接都可以在此鏈接找到,開發者首先需要大概了解這些接口 
小程序公眾號支付的主要流程如下(本圖只考慮了正常流程,異常流程參考公眾號支付文檔):

圖片描述

3.1 關於OpenID

上述流程中請求OpenID,用的是小程序最新API中的接口,開發者可以查看小程序的登錄接口。

開發者從第三方服務器獲得的OpenID,在統一下單的接口里面需要使用到.

3.2 關於小程序調起微信支付

上述流程中的小程序調起微信支付,用的是小程序微信支付接口wx.requestPayment,該接口的詳細描述可以查看小程序的微信支付API。

這個接口中的package和timeStamp參數是從開發者的第三方服務器返回的,package是第三方服務器從統一下單接口回復中獲得。

接口中其他的參數,appId,noceStr,signType以及paySign則由小程序這邊存儲或者計算而得。

其中paySign是簽名,簽名算法文檔在這里: 
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3&t=20161107

整個公眾號支付的主要流程基本都是在第三方服務器上實現,開發者需要熟讀公眾號支付文檔,了解消息交互流程以及每個接口。

這里並沒有描述正常微信支付必不可少的一些功能:異常處理,查詢訂單,發起退款,下載對賬單等等。

4. 小程序與JSSDK微信支付比較

JSSDK的微信支付接口是公眾號里用JS調起公眾號支付的方法,具體可以參考公眾平台的文檔。

可以看到,小程序和JSSDK的微信支付非常類似,這里比較一下兩者的區別:

圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM