微信支付JSSDK的使用
2018-09-25 本文已影响0人
imxiaochao
微信内公众号支付
wx.chooseWXPay({
timestamp: timestamp,
// 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写
// 但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
nonceStr: nonceStr, // 支付签名随机串,不长于 32 位
package: package,
// 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
signType: 'MD5',
// 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
paySign: paySign, // 支付签名
success: function (res) {
// alert('成功:'+JSON.stringify(res))
$.hideLoading()
callback&&callback(res)
},
fail: function (res) {
$.hideLoading()
alert('失败:'+JSON.stringify(res))
toast("支付失败!请检查微信配置");
},
cancel: function (res) {
//支付取消
$.hideLoading()
toast("已取消支付!");
}
})
以上需注意的点是:
1) paySign 是以appId, timeStamp, nonceStr,
package, signType 5个值在后端进行签名,需要注意大小写。
2、nonceStr(随机字符串) 使用的是后台同一下单时使用的同一个随机串
3、公众号支付必须传openid
微信H5支付
后端调用微信H5支付的统一下单接口,微信接口返回跳转url,前端直接跳转微信返回的url即可
以上均需注意:微信商户后台中必须设置好支付允许目录,否则会有报错现象。