小程序之微信支付

之前做小程序支付的时候遇到一些问题,第一次接触关于支付的功能,经过实验公寓完成这部分功能,总结如下:

小程序支付流程

1、预支付

2、获得预支付的数据,发起支付

3、支付回调

参考小程序微信小程序支付API

做一个详细的解释:

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://www.cnblogs.com/simba-lkj/p/6547200.html