本文闡述如何從零開始接入小程序支付,尤爲適合沒有微信支付接入經驗的開發者。php
1. 申請微信支付html
小程序認證之後,能夠在小程序後臺,微信支付菜單欄,申請微信支付。
前端
填寫企業信息和對公帳戶,微信支付會打一筆隨機金額到對公帳戶,輸入金額完成驗證後,在線簽署協議,這樣整個微信支付的申請流程完成了。算法
微信支付申請完,會發送微信支付商戶號,商戶平臺用戶名密碼等信息到註冊者郵箱。小程序
2. 準備工做微信小程序
2.1 配置小程序密鑰
api
在小程序後臺設置頁,點擊生成,管理員驗證二維碼後,會隨機生成 AppSecret。請妥善保管好 Appsecret,不要明文存儲於服務器,AppSecret 用於和微信服務器交互。好比獲取用戶的 openid 接口就須要用到。安全
2.2 設置密鑰和下載證書服務器
用申請微信支付得到的用戶名和密碼,登陸商戶平臺 (pay.weixin.qq.com),在帳戶中心,API 安全中下載證書和設置密鑰。微信
密鑰是 32 位,設置之後須要妥善保管,由於沒法查看密鑰,全部微信支付相關的接口都會使用這個密鑰加密。
2.3 配置 Https 服務器
小程序的前端是使用微信提供的框架開發,可是後臺依然是開發者本身的服務器。小程序發起的是 https 請求,意味着小程序開發者必須配置 https 服務器。
配置 https 服務器以前,先要獲取證書,證書能夠向相關機構購買,騰訊雲目前能夠向用戶提供免費的證書。
證書安裝指引在這裏查看:
https://www.qcloud.com/doc/pr...
3. 微信支付流程
微信支付有多種支付方式,包括刷卡支付,公衆號支付,掃碼支付,APP 支付,在這裏微信支付的全部接口:https://pay.weixin.qq.com/wik...
小程序是在微信裏調起支付的,實際上是公衆號支付。關於公衆號支付的詳細文檔可在這裏查看:https://pay.weixin.qq.com/wik...
全部公衆號支付相關的連接均可以在此連接找到,開發者首先須要大概瞭解這些接口。
小程序公衆號支付的主要流程以下(本圖只考慮了正常流程,異常流程參考公衆號支付文檔):
3.1 關於 openid
上述流程中請求 openid,用的是小程序最新 api 中的接口,開發者能夠查看小程序的登陸接口。
開發者從第三方服務器得到的 openid,在統一下單的接口裏面須要使用到。
3.2 關於小程序調起微信支付
上述流程中的小程序調起微信支付,用的是小程序微信支付接口 wx.requestPayment,該接口的詳細描述能夠查看小程序的微信支付 API。
這個接口中的 package 和 timeStamp 參數是從開發者的第三方服務器返回的,package 是第三方服務器從統一下單接口回覆中得到。
接口中其餘的參數,appId,noceStr,signType 以及 paySign 則由小程序這邊存儲或者計算而得。
其中 paySign 是簽名,簽名算法文檔在這裏:
https://pay.weixin.qq.com/wik...
整個公衆號支付的主要流程基本都是在第三方服務器上實現,開發者須要熟讀公衆號支付文檔,瞭解消息交互流程以及每一個接口。
這裏並無描述正常微信支付必不可少的一些功能:異常處理,查詢訂單,發起退款,下載對帳單等等。
「H5程序俱樂部」是一個專一微信小程序學習交流,相關外包/招聘需求信息發佈的微信公衆號。
「H5程序俱樂部」微信號:wxappclub 或者 微信掃一掃關注