55 lines
1.9 KiB
TypeScript
55 lines
1.9 KiB
TypeScript
import wx from 'weixin-js-sdk'
|
||
export function pay(signInfo, payData,callback,errorCallBack?) {
|
||
wx.config({
|
||
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
||
appId: signInfo.appId, // 必填,公众号的唯一标识
|
||
timestamp: signInfo.timestamp, // 必填,生成签名的时间戳
|
||
nonceStr: signInfo.nonceStr, // 必填,生成签名的随机串
|
||
signature: signInfo.signature, // 必填,签名
|
||
jsApiList: ['checkJsApi', 'chooseWXPay'] // 必填,需要使用的JS接口列表
|
||
})
|
||
|
||
wx.ready(() => {
|
||
wx.checkJsApi({
|
||
jsApiList: ['chooseWXPay'],
|
||
success: function () {
|
||
wx.chooseWXPay({
|
||
// 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
|
||
// appId: payData.appId,
|
||
timestamp: payData.timeStamp, // 必填,生成签名的时间戳
|
||
nonceStr: payData.nonceStr, // 必填,生成签名的随机串
|
||
package: payData.package,
|
||
signType: payData.signType,
|
||
paySign: payData.paySign, // 必填,签名
|
||
success: function (res) { // 支付成功后的回调函数
|
||
console.log('支付成功' + res)
|
||
if (callback) {
|
||
callback()
|
||
}
|
||
},
|
||
fail: function (reg) {
|
||
console.log(JSON.stringify(reg))
|
||
if (errorCallBack) {
|
||
errorCallBack()
|
||
}
|
||
}
|
||
})
|
||
},
|
||
fail: function (res) {
|
||
console.log(JSON.stringify(res))
|
||
if (errorCallBack) {
|
||
errorCallBack()
|
||
}
|
||
}
|
||
})
|
||
|
||
})
|
||
|
||
wx.error(err => {
|
||
console.log(JSON.stringify(err))
|
||
if (errorCallBack) {
|
||
errorCallBack()
|
||
}
|
||
})
|
||
}
|