小说小程序前端代码仓库(小程序)
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.4 KiB

1 month ago
  1. // #ifdef H5
  2. import jWeixin from './lib/jweixin-module.js'
  3. // #endif
  4. /**
  5. * 调用微信支付
  6. * @param {Object} res - 支付参数对象包含appIdtimeStampnonceStr等必要信息
  7. * @param {Function} successCallback - 支付成功的回调函数
  8. * @param {Function} failCallback - 支付失败的回调函数
  9. * @param {Function} optionCallback - 配置失败的回调函数
  10. */
  11. export function wxPay(res, successCallback, failCallback, optionCallback) {
  12. // 配置微信JSSDK
  13. jWeixin.config({
  14. debug: false,
  15. appId: res.result.appId, //必填,公众号的唯一标识
  16. jsApiList: ['chooseWXPay'] //必填,需要使用的JS接口列表
  17. });
  18. // JSSDK配置成功后的回调
  19. jWeixin.ready(function() {
  20. // 调用微信支付接口
  21. jWeixin.chooseWXPay({
  22. appId: res.result.appId,
  23. timestamp: res.result.timeStamp, // 支付签名时间戳
  24. nonceStr: res.result.nonceStr, // 支付签名随机串
  25. package: res.result.packageValue, // 统一支付接口返回的prepay_id参数值
  26. signType: res.result.signType, // 签名类型,默认为MD5
  27. paySign: res.result.paySign, // 支付签名
  28. success: function() {
  29. successCallback && successCallback();
  30. },
  31. fail: function(error) {
  32. failCallback && failCallback();
  33. },
  34. cancel : function(){
  35. failCallback && failCallback();
  36. }
  37. });
  38. });
  39. // JSSDK配置失败处理
  40. jWeixin.error(function(res) {
  41. optionCallback && optionCallback()
  42. });
  43. }