之前做小程序支付的时候遇到一些问题,第一次接触关于支付的功能,经过实验公寓完成这部分功能,总结如下:
小程序支付流程
1、预支付
2、获得预支付的数据,发起支付
3、支付回调
做一个详细的解释:
1、预支付(通过前端提交的信息:订单号、用户身份标识等具体看后台接口如何部署,再由后台提交到微信,而后返回前端需要进行支付的一些信息)
eg:返回信息
data:{
” nonceStr”:”AS**************SD”,
“prepay_id”:”ds*****faf”,//统一下单接口返回的 prepay_id 参数值
“paySign”:”sfs***********dfs”,//签名
“signType”:”fd********df”,//签名算法,暂支持 MD5
“timeStamp”:”dsf*************df”, //订单生成时间戳
}
2、预支付请求成功后 发起支付
wx.requestPayment({ nonceStr: res.data.nonceStr, package: "prepay_id="+res.data.prepayId, //注意:这里一定要加前缀 "prepay_id=" signType: 'MD5', timeStamp: res.data.timestamp, paySign: sign,//五个字段参与签名(区分大小写):appId,nonceStr,package,signType,
timeStamp(需要注意的是,这5个参数签名排序的顺序按照ASCII字典序排序)注意严格区分大小写 success: function(res){ console.log("支付成功"); }, fail: function() { }, complete: function() { } })
生成签名最好在后台操作返回给前端
在填坑路上遇到问题 首先是请求时
package: “prepay_id=” 这里一定要加前缀
再就是
paySign: sign,
签名的时候要按顺序,区分大小写,这里因为大小写的问题,还和后台测试了很久
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/6120.html