在开发之前一定要和微信支付的商务去沟通好支付分的模式 (避免浪费双方时间和 踩不必要的坑...亲自体验,后人珍重 )
wx.openBusinessView({}) 调起支付分,分为2种模式
- 免确认模式(https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore/chapter8_3.shtml)
- 确认模式 (https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/payscore/chapter8_2.shtml)
作者使用的确认模式
wx.openBusinessView({
businessType: 'wxpayScoreUse',
extraData: {
package: res.data.package,
mch_id: res.data.mchid,
// service_id: res.data.service_id,
// out_order_no: res.data.out_order_no,
timestamp: res.data.timestamp + "",
nonce_str: res.data.nonce_str,
sign_type: 'HMAC-SHA256',
sign: sign
},
success() {},
fail() {},
complete() {}
});
字段注释请看文档
sign 是怎么生成的 ! 重点 那小本记
sign的生成方式去对应的模式的api中找 我这个是确认模式的
左右 sign生成ASCII码从小到大排序(字典序);(大白话 首字母按照26个字母排序)
var str = "mch_id=" + res.data.mchid + "&nonce_str=" + res.data.nonce_str + "&package=" + res.data.package + "&sign_type=HMAC-SHA256×tamp=" + res.data.timestamp;
var stringSignTemp = str + "&key=商户号密钥key";
var sign = CryptoJS.HmacSHA256(stringSignTemp, "商户号密钥key").toString().toUpperCase();
CryptoJS是个加密文件 下面能下载CryptoJS
链接:https://pan.baidu.com/s/1NW49d6elktO0ZvdQWN-gNQ
提取码:9g78
后期更新 php 对应的代码
确定订单流程:
支付->支付分创建->调起支付分
大哥能不能更新一个php的