小程序调用支付接口的完整流程记录
⼩程序调⽤⽀付接⼝的完整流程记录
⽬录
当然在开发之前,我们需要有下⾯这些东西:
步骤如下:
总结
官⽅的⽂档路径------》⽂档路径:
当然在开发之前,我们需要有下⾯这些东西:
appId(⼩程序分配)
⼩程序密钥(⼩程序配置界⾯获取)
商户号
api密钥(商家后台⾃⼰设置)
⾸先我们要知道把⼤象放进冰箱拢共需要三步(不是),那么我们调起⽀付也是⼀样的
步骤如下:
wx.login获取⽤户临时登录凭证code,发送到后端服务器换取openId
在下单时,⼩程序需要将商品Id,商品数量,以及openId传送到服务器
服务器在接收到商品Id、商品数量、openId后,⽣成服务期订单数据,同时经过⼀定的签名算法,向⽀付发送请求,获取预付单信息(prepay_id),同时将获取的数据再次进⾏相应规则的签名,向⼩程序端响应必要的信息(必须字段信息将在下⽂进⾏详细说明)
⼩程序端在获取对应的参数后,调⽤wx.requestPayment()发起⽀付,唤醒⽀付⼯作台,进⾏⽀付
1.通过wx.login拿到code,然后请求接⼝从后台拿去openId
千山万水总是情歌词login() {
var that=this
wx.login({
success(res) {
console.log(res)
data: { code: de } })
},
})
2.在调起⽀付前需要保证接收到所有我们要传递的值,在这⾥是openId,和⽀付⾦额。openId以及相应需要的商品信息发送到后端,换取服务端的prepay_id
let {
money,
openId
} = this.data
let token = wx.getStorageSync('user_token')
let openList = await request('/接⼝', {
...需要给后端的字段
openid: openId
})
this.setData({
prepay_id: openList.data.prepay_id
})
接下来我们就可以写⼀版调起⽀付接⼝的数据
let random = (Math.random()).toString() //这个随机数⼀定要变成字符串
let timestamp = (new Date().getTime()).toString() //时间戳⼀定要是字符串
let mch_key = 'FVmZcEmubX817JRKHmWo1vaVHzte2Oha'
沂怎么读拼音
let obj = {
appId: 'wxb9811d3b2e3de44c',
nonceStr: random,
package: "prepay_id=" + this.data.prepay_id,
signType: 'MD5',
钢琴乐谱timeStamp: timestamp
}
//参数名ASCII码从⼩到⼤排序(字典序)
let arr = Object.keys(obj).sort().map(item => {
return `${item}=${obj[item]}`;
郁金香的养殖方法
});
//最后拼接上key(商户密钥)得到字符串
let str = arr.join('&') + '&key=' + mch_key;
console.log(str);
//对str进⾏MD5运算,再将得到的字符串所有字符转换为⼤写
let paySign = md5.hexMD5(str).toUpperCase()
"timeStamp": timestamp,
"nonceStr": random,
"package": "prepay_id=" + this.data.prepay_id,
服务承诺书范文
"signType": "MD5",
"paySign": paySign,
"success": function (res) {
console.log('成功了');
背影 阅读答案},
"fail": function (res) {
console.log(res);
if (Msg === 'requestPayment:fail cancel') {
wx.showToast({
title: '⽤户取消⽀付',
icon: 'none',
duration: 2000
})
} else {
wx.showToast({
title: Msg,
icon: 'none',
duration: 2000
})
}
},
})
注意:以上信息中timeStamp、nonceStr、prepay_id、signType、paySign各参数均建议必须都由服
务端返回(这样会尽最⼤可能性保证签名数据⼀致性),⼩程序端不做任何处理。⼤家改⼀下接⼝和传递的参数就可以啦,这已经是模板可以直接⽤!
总结
到此这篇关于⼩程序调⽤⽀付接⼝的⽂章就介绍到这了,更多相关⼩程序调⽤⽀付接⼝内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。