推拿小程序前端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

47 lines
1.3 KiB

// #ifdef H5
import jWeixin from './lib/jweixin-module.js'
// #endif
/**
* 调用微信支付
* @param {Object} res - 支付参数对象,包含appId、timeStamp、nonceStr等必要信息
* @returns {Promise} - 返回Promise对象,resolve表示支付成功,reject表示支付失败
*/
export function wxPay(res) {
return new Promise((resolve, reject) => {
// 配置微信JSSDK
jWeixin.config({
debug: false,
appId: res.result.appId, //必填,公众号的唯一标识
jsApiList: ['chooseWXPay'] //必填,需要使用的JS接口列表
});
// JSSDK配置成功后的回调
jWeixin.ready(function() {
// 调用微信支付接口
jWeixin.chooseWXPay({
appId: res.result.appId,
timestamp: res.result.timeStamp, // 支付签名时间戳
nonceStr: res.result.nonceStr, // 支付签名随机串
package: res.result.packageValue, // 统一支付接口返回的prepay_id参数值
signType: res.result.signType, // 签名类型,默认为MD5
paySign: res.result.paySign, // 支付签名
success: function(result) {
resolve(result);
},
fail: function(error) {
reject(error);
},
cancel: function(error) {
reject({ type: 'cancel', ...error });
}
});
});
// JSSDK配置失败处理
jWeixin.error(function(error) {
reject({ type: 'config_error', ...error });
});
});
}