zoukankan      html  css  js  c++  java
  • 微信公众号(服务号) 不能跨号支付 微信支付 闪一下就退了

    过去有两次微信支付失败的场景(http://www.cnblogs.com/sevenun/p/6445743.html)(http://www.cnblogs.com/sevenun/p/6088093.html)
    但是现在我居然又遇到了第三种支付失败的场景。

    为了推广,我们让一个粉丝比我们多的公众号帮我们宣传,通过微信图文链接到我们的网站去,但是因为是从其他公众号链接到我们的支付页面,所以这是微信不允许的,必须要从我们公众号进去我们的页面才能进行支付。

    但是安卓手机并不会显示错误,就只会一闪而过,正是因为一位苹果用户的告知,我们才知道有“不能跨号支付”的错误,所以知道原因后,我们就在支付失败后跳转到提示页面,让用户关注我们公众号并从我们公众号进入页面。

    function onBridgeReady(){
    		   WeixinJSBridge.invoke(
    		       'getBrandWCPayRequest', {
    		    	   "appId" : $appId,     //公众号名称,由商户传入     
    		           "timeStamp" : $timeStamp,         //时间戳,自1970年以来的秒数     
    		           "nonceStr" : $nonceStr, //随机串     
    		           "package" : $packageValue,     
    		           "signType" : $signType,         //微信签名方式:     
    		           "paySign" : $paySign //微信签名 
    		       },
    		       function(res){    
    		           if(res.err_msg == "get_brand_wcpay_request:ok" ) {
    		        	   window.location.href = $sendUrl;
    		           }     // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。 
    		           else if(res.err_msg == "get_brand_wcpay_request:fail") {
                                    // 关闭订单
    		        	   $.ajax({
    		        		   type : 'post',
    		        		   url : '<c:url value="/close_order" />',
    		        		   data : {orderId : $orderId},
    		        		   dataType : 'json',
    		        		   success : function(data) {
    		        			   if (data == '1') {
    		        				   //alert('关闭订单成功');
    		        			   } else {
    		        				  // alert('关闭订单失败')
    		        			   }
    		        		   }
    		        	   });
                                        // 跳转到提示页面,让用户关注公众号
    		        	   window.location.href = '<c:url value="/pay_failed" />';
    		           } else {
                                        // 用户取消支付则关闭订单
    		        	   $.ajax({
    		        		   type : 'post',
    		        		   url : '<c:url value="/close_order" />',
    		        		   data : {orderId : $orderId},
    		        		   dataType : 'json',
    		        		   success : function(data) {
    		        			   if (data == '1') {
    		        				   //alert('关闭订单成功');
    		        			   } else {
    		        				  // alert('关闭订单失败')
    		        			   }
    		        		   }
    		        	   });
    		           }
    		       }
    		   ); 
    		}
    
  • 相关阅读:
    常用js脚本
    lotus支持的java版本
    解决传递中文参数乱码问题
    Lotus的金额大小写转换
    lotus designer 8.5中创建JAVA代理
    一步一步带你进入Java世界(一)_Java环境配置
    实例 XPages 开发一个通用的 Dojo Tree 风格定制控件
    LOTUS中B/S开发初学者问题收集
    Lotus问题收集
    R6中文参数乱码解决
  • 原文地址:https://www.cnblogs.com/sevenun/p/6508512.html
Copyright © 2011-2022 走看看