zoukankan      html  css  js  c++  java
  • 微信公众号支付JSAPI网页,total_fee错误不正确,header重定向参数丢失,无法获取订单号和金额解决

    微信公众号支付官方demo错误,

    公众号支付只能用在微信里,也就是微信内部浏览器.

    1.到WxPayHubHelper.php文件 JsApi_pub()类下createOauthUrlForCode($redirectUrl)方法, 第二个参数
    改为 $urlObj["redirect_uri"] = urlencode($redirectUrl); //对$url变量进行url编码 不然header重定向时无法获取订单号和金额

    2.wx.jsapi.php这个文件在header重定向后,get,post等方式传递的参数就没有了,不过重定向的URL里面有个STATE,可以把数据放里面,就OK了.具体看代码.

    文件为wx.jsapi.php

    if (!isset($_GET['code']))  
    {  
        //触发微信返回code码  
        $url = $jsApi->createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);
        //重定向的URL里面有个STATE,把GET到的数据参数放在一个数组后转换成json格式的字符串            
        $state = json_encode(array(  
                   "bill_no" => $data["bill_no"],  //订单号           
                   "title" => $data["title"],  //标题
                   "return_url" => $data["return_url"],  //返回地址
                   "total_fee" => $data["total_fee"] //金额
                ));  
        //替换这个STATE            
        $url = str_replace("STATE", $state, $url);
        //重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节    
        Header("Location: $url");  
    } else {  
        //获取code码,以获取openid  
        $code = $_GET['code'];  
        $jsApi->setCode($code);  
        $openid = $jsApi->getOpenId();  
        $state = $_GET['state'];  
        $state = str_replace("\", "", $state);  //去掉\要不解析不了
        $param = json_decode($state, true);  //解析
        $data["bill_no"] = $param['bill_no'];  //订单号
        $data["total_fee"] = $param['total_fee']; //金额
        $data["title"] = $param['title'];      //标题
        $data["return_url"] = $param['return_url'];      //返回地址
    }  
    $data["openid"] = $openid;
  • 相关阅读:
    POJ 1003 解题报告
    POJ 1004 解题报告
    POJ-1002 解题报告
    vi--文本编辑常用快捷键之光标移动
    常用图表工具
    September 05th 2017 Week 36th Tuesday
    September 04th 2017 Week 36th Monday
    September 03rd 2017 Week 36th Sunday
    September 02nd 2017 Week 35th Saturday
    September 01st 2017 Week 35th Friday
  • 原文地址:https://www.cnblogs.com/hiit/p/5997140.html
Copyright © 2011-2022 走看看