敢为人鲜小程序前端代码仓库
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

11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months 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. }