前端微信支付js代码


Posted in Javascript onJuly 25, 2016

本文实例为大家分享了前端微信支付js代码,供大家参考,具体内容如下

$('.Save_Patient_Msg').click(function(){
 $('.Save_Patient_Msg').off('click');
 var hrdfId = getOrderId();
 var txnAmt = $('.sum_pay.font-red').html(); 
 
 var data = {orderId: hrdfId, txnAmt: "0.01", 
 prodDesc: "远程诊断服务", callType: "JSAPI",
 access_token: getUrlParam("access_token")
 };
 
 $.ajax({
 type: 'POST',
 url: '/hims/api/commonPay/queryTransNo?access_token='+getUrlParam('access_token'),
 dataType:'json',
 contentType:'application/json',
 data: JSON.stringify(data),
 success: function(Wxres){
 if(!Wxres){
 $.alert('服务器拥堵,请稍后访问')
 }else{
  console.log(Wxres);
  if(Wxres.data.respCode == 'fail'){
  $.alert(Wxres.data.respMsg);
  }else{
  //10 微信支付接口
  // 10.1 发起一个支付请求
  // 注意:此 Demo 使用 2.7 版本支付接口实现,建议使用此接口时参考微信支付相关最新文档。
  var param = Wxres.data;
  wx.config({
  debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  appId: 'wx403ead26691402fb', // 必填,公众号的唯一标识
  timestamp: param.timestamp, // 必填,生成签名的时间戳
  nonceStr: param.noncestr, // 必填,生成签名的随机串
  signature: param.signJs,// 必填,调用js签名,
  jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,这里只写支付的
  });
  wx.chooseWXPay({
  timestamp: param.timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
  nonceStr: param.noncestr, // 支付签名随机串,不长于 32 位
  package: "prepay_id="+param.transNo, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
  signType: "MD5", // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
  paySign: param.sign, // 支付签名
  success: function (res) {
  if(res.errMsg == "chooseWXPay:ok"){
   //alert("支付成功");
   window.location.href = "/hims/weixin/pages/Order_ok.html?access_token="+getUrlParam("access_token");
  }else{
   alert(res.errMsg);
  }
  },
  cancel: function(res){
  //alert('取消支付');
  }
  });
  }
  
 } 
 },
 error:function(data){
  var msg = data.message || data.status;
  $.alert('服务器错误'+msg);
 }
 }); 
 return false;
 
 });
 
 function getUrlParam(name){
 var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
 var r = window.location.search.substr(1).match(reg); //匹配目标参数
 if (r!=null) return unescape(r[2]); return null; //返回参数值
 } 
 
 })

本文已被整理到了《JavaScript微信开发技巧汇总》,欢迎大家学习阅读。

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
回车直接实现点击某按钮的效果即触发单击事件
Feb 27 Javascript
jquery动态加载js/css文件方法(自写小函数)
Oct 11 Javascript
jQuery原理系列-常用Dom操作详解
Jun 07 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
Sep 03 Javascript
在vue.js中抽出公共代码的方法示例
Jun 08 Javascript
使用vue构建一个上传图片表单
Jul 04 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
Sep 13 Javascript
node.js使用express框架进行文件上传详解
Mar 03 Javascript
vue登录注册实例详解
Sep 14 Javascript
javascript sort()对数组中的元素进行排序详解
Oct 13 Javascript
jQuery操作动画完整实例分析
Jan 10 jQuery
js利用iframe实现选项卡效果
Aug 09 Javascript
javascript与jquery动态创建html元素示例
Jul 25 #Javascript
jquery siblings获取同辈元素用法实例分析
Jul 25 #Javascript
js动态添加的DIV中的onclick事件简单实例
Jul 25 #Javascript
js微信分享API
Oct 11 #Javascript
jQuery简单注册和禁用全局事件的方法
Jul 25 #Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
Jul 25 #Javascript
Javascript的比较汇总
Jul 25 #Javascript
You might like
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
用PHP书写安全的脚本代码
2012/02/05 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
比Jquery的document.ready更快的方法
2010/04/28 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
jQuery+CSS实现的table表格行列转置功能示例
2018/01/08 jQuery
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
使用jquery实现轮播图效果
2021/01/02 jQuery
Python深入学习之装饰器
2014/08/31 Python
Python常用模块用法分析
2014/09/08 Python
图解Python变量与赋值
2018/04/03 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
在python3中实现更新界面
2020/02/21 Python
详解css3 Transition属性(平滑过渡菜单栏案例)
2017/09/05 HTML / CSS
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
求职信结尾怎么写
2014/05/26 职场文书
班子四风对照检查材料
2014/08/21 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python
Windows server 2012 R2 安装IIS服务器
2022/04/29 Servers
Java对文件的读写操作方法
2022/04/29 Java/Android