前端微信支付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 相关文章推荐
IE中jscript/javascript的条件编译
Sep 07 Javascript
textarea的value是html文件源代码,存成html文件的代码
Apr 20 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
Feb 02 Javascript
Node调试工具JSHint的安装及配置教程
May 27 Javascript
Javascript中Array.prototype.map()详解
Oct 22 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
Oct 29 Javascript
js图片跟随鼠标移动代码
Nov 26 Javascript
javascript实现的上下无缝滚动效果
Sep 19 Javascript
无循环 JavaScript(map、reduce、filter和find)
Apr 08 Javascript
Angularjs 动态添加指令并绑定事件的方法
Apr 13 Javascript
vue组件是如何解析及渲染的?
Jan 13 Vue.js
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
Jan 22 Vue.js
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
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
JavaScript URL参数读取改进版
2009/01/16 Javascript
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
JavaScript常用工具函数汇总(浏览器环境)
2020/09/17 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
python:pandas合并csv文件的方法(图书数据集成)
2018/04/12 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
Python中包的用法及安装
2020/02/11 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
幼儿如何来做好自我评价
2013/11/05 职场文书
雷人标语集锦
2014/06/19 职场文书
西双版纳导游词
2015/02/03 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
Ajax实现三级联动效果
2021/10/05 Javascript
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android
全网非常详细的pytest配置文件
2022/07/15 Python