赞
踩
发现网上教程很多,单只针对小程序的简单清晰的流程却很少,我这里来做一下总结。
然后通过下面的代码获取到code
uni.login({
provider: 'weixin',
success: function(loginRes) {
console.log('-------获取code-------')
console.log(loginRes.code);
}
});
然后将code传递给后端,后端开发人员返回openid
然后将openid和你当前项目的订单号或者金额数传递给后端,后端会返回5个参数
timeStamp: res.data.Data.Timestamp,
nonceStr: res.data.Data.NonceStr,
package: res.data.Data.PrepayIdPackage,
signType: "RSA",
paySign: res.data.Data.paySign,
然后通过微信requestPayment方法发送请求
wx.requestPayment({
timeStamp: res.data.Data.Timestamp,
nonceStr: res.data.Data.NonceStr,
package: res.data.Data
.PrepayIdPackage,
signType: "RSA",
paySign: res.data.Data.Signature,
success: function(res) {
// 支付成功处理逻辑
},
fail: function(res) {
// 支付失败处理逻辑
}
})
这是关于小程序端开发全部所需要做的事情,剩下的交给后端开发人员解决就行了。(虽然我也负责了后端开发
)
uni.login({
provider: 'weixin',
success: function(loginRes) {
console.log('-------获取code-------')
console.log(loginRes.code);
uni.request(
url: 'XXXXXXXXXXXXXXXXXXXXXX?code=' +loginRes.code,
data: {},
method: 'GET',
header: {
'Content-type': 'application/x-www-form-urlencoded',
},
success: (info) => {
console.log('----获取sessionKey、openid(unionid)----')
console.log(info.data.Data);
console.log(that.order.Id)
// 携带openid(可能要携带金额,传递给后端)
wx.request({
url: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
data: {
CsOrderId: that.order.Id,
OpenId: info.data.Data
},
method: 'POST',
header: {
'contentType': 'application/json',
},
success: (res) => {
console.log(res)
// 请求成功后,有服务端传过来的5个必要的参数,微信支付API调用,获取支付凭证
wx.requestPayment({
timeStamp: res.data.Data.Timestamp,
nonceStr: res.data.Data.NonceStr,
package: res.data.Data
.PrepayIdPackage,
signType: "RSA",
paySign: res.data.Data.Signature,
success: function(res) {
// 支付成功处理逻辑
},
fail: function(res) {
// 支付失败处理逻辑
}
})
},
fail: (res) => {
console.log(res)
}
});
},
fail: (res) => {
console.log(res.data)
}
});
}
});
},
fail: (res) => {
console.log(res.data)
}
});
}
});
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。