|
|
@@ -0,0 +1,155 @@
|
|
|
+/**
|
|
|
+ * Created by 黄诚天 on 2017-11-03.
|
|
|
+ */
|
|
|
+
|
|
|
+// var proId;
|
|
|
+// var amount;
|
|
|
+// var payWay;//0支付宝 1微信 2银联
|
|
|
+// var uuid = "10041166";
|
|
|
+
|
|
|
+const userAgent = navigator.userAgent;
|
|
|
+const isMobile = /(iPhone|iPad|Opera Mini|Android.*Mobile|NetFront|PSP|BlackBerry|Windows Phone)/ig.test(userAgent);
|
|
|
+
|
|
|
+var pay =function (proId, amount, payWay) {
|
|
|
+ var customAmount = $("#custom-amount" + proId).val();
|
|
|
+ console.log(customAmount);
|
|
|
+ if ($.trim(customAmount) != "") {
|
|
|
+ var reg = "^(([0-9]+\.[0-9]{1,2})|([0-9]*[1-9][0-9]*\.[0-9]{1,2})|([0-9]*[1-9][0-9]*))$";
|
|
|
+ var patt = new RegExp(reg);
|
|
|
+ var r = patt.test(customAmount);
|
|
|
+ if (r) {
|
|
|
+ amount = customAmount;
|
|
|
+ } else {
|
|
|
+ alert('输入金额有误,请正确输入金额且最多保留两位小数!');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var yuanIndex = amount.toString().indexOf("元");
|
|
|
+ if (yuanIndex > 0) {
|
|
|
+ amount = amount.toString().substring(0, yuanIndex);
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取支付方式
|
|
|
+ if(payWay == "支付宝") {
|
|
|
+ aliPay(proId, amount);
|
|
|
+ } else if (payWay == "微信支付") {
|
|
|
+ wxPay();
|
|
|
+ } else if (payWay == "网银支付") {
|
|
|
+ unionPay();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+var wxPay = function () {
|
|
|
+ //公众号支付js模板 需引入http://res.wx.qq.com/open/js/jweixin-1.0.0.js
|
|
|
+ //对浏览器的UserAgent进行正则匹配,不含有微信独有标识的则为其他浏览器
|
|
|
+ //var userAgent = navigator.userAgent;
|
|
|
+ if (userAgent.match(/MicroMessenger/i) == 'MicroMessenger') {
|
|
|
+ //公众号支付逻辑(微信浏览器)
|
|
|
+ $.ajax({
|
|
|
+ url : "/wxpay/webPay",
|
|
|
+ type : "POST",
|
|
|
+ dataType : 'json',
|
|
|
+ //TODO ProjectRecord json数据
|
|
|
+ success : function(data) {
|
|
|
+ WeixinJSBridge.invoke('getBrandWCPayRequest', {
|
|
|
+ "appId" : data.appId, //公众号名称,由商户传入
|
|
|
+ "timeStamp" : data.timeStamp, //时间戳,自1970年以来的秒数
|
|
|
+ "nonceStr" : data.nonceStr, //随机串
|
|
|
+ "package" : data.package,
|
|
|
+ "signType" : data.signType, //微信签名方式:
|
|
|
+ "paySign" : data.paySign
|
|
|
+ //微信签名
|
|
|
+ }, function(res) {
|
|
|
+ if (res.err_msg == "get_brand_wcpay_request:ok") {
|
|
|
+ alert("支付成功");
|
|
|
+ // 使用以上方式判断前端返回:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ alert("支付失败");
|
|
|
+ //res.err_msg;
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ //这个if判断后面加的 不知道作用
|
|
|
+ if (typeof WeixinJSBridge == "undefined") {
|
|
|
+ if (document.addEventListener) {
|
|
|
+ document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
|
|
|
+ } else if (document.attachEvent) {
|
|
|
+ document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
|
|
|
+ document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ onBridgeReady();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ //H5支付逻辑
|
|
|
+ //电脑or手机?
|
|
|
+
|
|
|
+ $.ajax({
|
|
|
+ type : "POST",
|
|
|
+ url : "/wxpay/wapPay",
|
|
|
+ dataType : "json",
|
|
|
+ contentType : 'application/json;charset=UTF-8',
|
|
|
+ //data : JSON.stringify({orderId:orderId}),//TODO ProjectRecord json数据
|
|
|
+ success : function(res){
|
|
|
+ if("success" == res.errCode){
|
|
|
+ var mwebUrl = res.data;
|
|
|
+ window.location.href = mwebUrl;
|
|
|
+ }else{
|
|
|
+ alert("支付操作异常,请稍后再试!");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ error : function(XMLHttpRequest, textStatus, errorThrown) {
|
|
|
+ alert('支付异常,请联系客服!');
|
|
|
+ },
|
|
|
+ complete : function(XMLHttpRequest, textStatus) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+var aliPay = function (proId, amount) {
|
|
|
+ var jsonStr = "{proId:" + proId + "," +
|
|
|
+ "amount:" + amount + "," +
|
|
|
+ //"uuid:" + uuid + "," +
|
|
|
+ "way:'支付宝'" +
|
|
|
+ "}";
|
|
|
+
|
|
|
+ //location.href="/alipay/pcPay?jsonStr=" + jsonStr;
|
|
|
+
|
|
|
+ var url = "/alipay/pcPay";
|
|
|
+
|
|
|
+ if (isMobile) {
|
|
|
+ url = "/alipay/wapPay";
|
|
|
+ }
|
|
|
+
|
|
|
+ $.ajax({
|
|
|
+ type : "POST",
|
|
|
+ url : url,
|
|
|
+ dataType : "html",
|
|
|
+ //contentType : "application/json;charset=UTF-8",
|
|
|
+ async: false,
|
|
|
+ data: {
|
|
|
+ jsonStr : jsonStr
|
|
|
+ },
|
|
|
+ success : function(data) {
|
|
|
+ document.write(data);
|
|
|
+ },
|
|
|
+ error : function() {
|
|
|
+ alert('支付异常,请联系客服!');
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+var unionPay = function () {
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|