首頁 >微信小程式 >小程式開發 >微信小程式如何從0開始進入支付

微信小程式如何從0開始進入支付

高洛峰
高洛峰原創
2017-02-22 13:59:141861瀏覽

小程式中微信支付的能力是隨著小程式的發布一併推出的,然而小程式文件裡關於微信支付介面只有一個 requestPayment 函數的描述。

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

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

1. 申請微信支付

小程式認證以後,可以在小程式後台,微信支付選單欄,申請微信支付。

微信小程式如何從0開始進入支付

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

微信付款申請完,會寄微信支付商家號,商家平台使用者名稱密碼等資訊到註冊者信箱。

2. 準備工作

2.1  設定小程式金鑰

微信小程式如何從0開始進入支付

在小程式後台設定頁,點選生成,管理員驗證二維碼後,會隨機產生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

##所有公眾號支付相關的連結都可以在此連結找到,開發者首先需要大概了解這些介面。

小程式公眾號支付的主要流程如下(本圖只考慮了正常流程,例外流程參考公眾號支付文件):


微信小程式如何從0開始進入支付
########################## #######

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 的微信支付非常類似,這裡比較一下2 者的差異:

微信小程式如何從0開始進入支付

以上就是JeffChen(微信公眾號:行動開發技術) 關於小程式接取微信支付的分享,希望對你有幫助。

更多微信小程式如何從0開始進入支付相關文章請關注PHP中文網!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn