wxpay.js 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. function wxRecharge(openId,orderId,coin,userCouponId){
  2. //alert("微信支付 openId:"+openId);
  3. if (typeof WeixinJSBridge == "undefined"){
  4. if( document.addEventListener ){
  5. document.addEventListener('WeixinJSBridgeReady', unifiedOrder(openId,orderId,coin,userCouponId), false);
  6. }else if (document.attachEvent){
  7. document.attachEvent('WeixinJSBridgeReady',unifiedOrder(openId,orderId,coin,userCouponId));
  8. document.attachEvent('onWeixinJSBridgeReady', unifiedOrder(openId,orderId,coin,userCouponId));
  9. }
  10. }else{
  11. unifiedOrder(openId,orderId,coin,userCouponId);
  12. }
  13. }
  14. function unifiedOrder(openId,orderId,coin,userCouponId){
  15. //alert("支付调用");
  16. $.ajax({
  17. url : '../wx/unifiedOrder',
  18. type : 'get',
  19. data : {
  20. "openId": openId,
  21. "orderId": orderId,
  22. "coin": coin,
  23. "userCouponId" : userCouponId,
  24. },
  25. success : function(data) {
  26. //hideProgressBar();
  27. /*alert("appId:"+data.appId+ //公众号名称,由商户传入
  28. ",timeStamp:"+data.timeStamp+ //时间戳,自1970年以来的秒数
  29. ",nonceStr:" + data.nonceStr+ //随机串
  30. ",package:" + data.myPackage+
  31. ",signType:" + data.signType+ //微信签名方式:
  32. ",paySign:" + data.paySign //微信签
  33. ); */
  34. wxinit(data);
  35. }
  36. });
  37. }
  38. function wxinit(data) {
  39. /*
  40. * 注意: 1.
  41. * 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 2.
  42. * 如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58
  43. * 版本及以上。 3. 完整 JS-SDK
  44. * 文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
  45. *
  46. * 如有问题请通过以下渠道反馈: 邮箱地址:weixin-open@qq.com 邮件主题:【微信JS-SDK反馈】具体问题
  47. * 邮件内容说明:用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团队会尽快处理你的反馈。
  48. */
  49. wx.config({
  50. debug : false,
  51. appId : data.appId,
  52. timestamp : data.timestamp,
  53. nonceStr : data.nonceStr,
  54. signature : data.signature,
  55. jsApiList : [ 'checkJsApi', 'chooseWXPay']
  56. });
  57. wx.error(function(res) {
  58. // alert(JSON.stringify(res));
  59. });
  60. wx.ready(function() {
  61. // 1 判断当前版本是否支持指定 JS 接口,支持批量判断
  62. wx.checkJsApi({
  63. jsApiList : ['chooseWXPay' ],
  64. success : function(res) {
  65. // alert(JSON.stringify(res));
  66. wx.chooseWXPay({
  67. timestamp: data.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
  68. nonceStr: data.nonceStr, // 支付签名随机串,不长于 32 位
  69. package: data.myPackage, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
  70. signType: data.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
  71. paySign: data.paySign, // 支付签名
  72. success: function (res) {
  73. window.location.href = '../suyuan#/user';
  74. },
  75. cancel : function(res) {
  76. window.location.href = '../suyuan#/user';
  77. },
  78. fail : function(res) {
  79. window.location.href = '../suyuan#/user';
  80. }
  81. });
  82. }
  83. });
  84. });
  85. }