注意:以下测试用例的后端语言选取的是node.js,框架采用的是express。希望读者在看这篇博客前已经了解了相关知识,如果你想学习node.js,建议你上菜鸟教程。框架的话可以看下面这个链接,个人感觉讲解得很详细了。https://blog.youkuaiyun.com/qq_empire/article/details/80933726
开发步骤:
1.小程序内调用登录接口,拿到code,然后发送给后端,后端获取到openid(用户唯一标识符)。
2.获取到openid后,商户server调用支付统一下单。
3.商户server调用再次签名。
4.支付完成。
前端
wxml
<button bindtap='payMoney'>支付</button>
js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
payMoney: function (e) {
wx.login({
success: res => {
console.log(res.code)
var that = this;
wx.request({
url: 'http://127.0.0.1:3030/get_openid?code=' + res.code + '&money=' + 0.01,
success: function (res) {
console.log(res.data, '统一下单接口返回信息')
wx.requestPayment({
timeStamp: res.data.timeStamp , //时间搓
nonceStr: res.data.nonceStr, //随机字符串
package: 'prepay_id='+res.data.package, //prepay_id
signType: 'MD5', //签名算法
paySign: res.data.paySign, //签名
success(res) {
console.log(res, '微信支付成功!!!')
},
fail(error){
console.log(error, '微信支付失败!!!')
}
})
}
})
}
})
},
})
后端
var expr