一、商戶接入文檔資料php
二、商家註冊商戶號,獲得商戶密鑰之類的東西html
三、後臺處理前端
四、前端調用java
一、商戶接入文檔資料小程序
微信支付接入官網>>https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F後端
小程序支付開通流程>>https://pay.weixin.qq.com/static/product/product_intro.shtml?name=miniapp微信小程序
小程序支付後端開發文檔>>https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1api
小程序支付前端開發文檔>>https://developers.weixin.qq.com/miniprogram/dev/api/open-api/payment/wx.requestPayment.html微信
(微信小程序API->開放接口->支付)app
二、商家註冊商戶號,獲得商戶密鑰之類的東西
搜索微信支付,https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F,進入該連接後,點擊【接入指引】->【我有小程序】->【接入微信支付】->【註冊微信支付商戶號】,
微信掃碼,填寫對應的商戶資料,提交合法數據後要審覈大體3個工做日,審覈經過後發郵箱通知你。
三、後臺處理
微信小程序支付後端java代碼參考>>https://www.jianshu.com/p/a9f978dc1a3e
先梳理下後端支付流程的邏輯>>https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=4
(1)調用統一下單接口(API列表裏的第一個接口),須要先獲取到Openid用戶標識,具體可參考該文檔(微信小程序的受權登陸)>>http://www.javashuo.com/article/p-hlzngwmz-nh.html
(2)五個字段參與簽名,除了appId,其它四個參數是微信小程序前端支付接口wx.requestPayment須要用的
報錯示例:
(1)統一下單接口中的out_trade_no是商戶系統內部訂單號,值的長度不能過短,好比"1","123"之類的
(2)wx.requestPayment的timestamp參數要後端的時間戳轉化成字符串返回,不然前端會報簽名錯誤
(3)統一下單接口中的total_fee,訂單總金額,單位爲分,因此測試數值最小爲1,不能輸入小於1的值,如0,0.01,不然會報該參數不存在之類的錯誤
四、前端調用
根據前端開發文檔直接調用微信小程序的支付接口就好了。https://developers.weixin.qq.com/miniprogram/dev/api/open-api/payment/wx.requestPayment.html
(注意:前端調用支付接口前得先完成用戶受權登陸才行,具體可參考該文檔(微信小程序的受權登陸)>>http://www.javashuo.com/article/p-hlzngwmz-nh.html)
//前端調用該接口前先調用己方後臺接口獲得如下參數便可,即timeStamp、nonceStr、package、paySign
wx.requestPayment({ timeStamp: '', nonceStr: '', package: '', signType: 'MD5', paySign: '', success (res) { }, fail (res) { } })