一、商户接入文档资料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) { } })