发布于 1970-01-01 08:00
  • 7 个回答
    • 我最终是这样处理的:

              $jsApi = new JsApi_pub();
              if (!isset($_GET['code'])) {
                  // 触发微信返回code
                  $url = $jsApi->createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);
                  $state = json_encode(array(
                      "body" => $body,
                      "out_trade_no" => $out_trade_no,
                      "total_fee" => "$total_fee",
                  ));
                  $url = str_replace("STATE", $state, $url);
                  Header("Location:$url");
              } else {
                  // 获取code码,以此获取openid
                  $code = $_GET['code'];
                  $jsApi->setCode($code);
                  $openid = $jsApi->getOpenId();
                  $state = $_GET['state'];
              }
      

      在官方给的URL中有这么个参数state,默认值是STATE,只需要将STATE替换成你所需要的内容就可以了。

      2022-12-01 13:10 回答
    • $state = $_GET['state'];之后呢,怎样把这三个参数分解出来!求大神解答!

      2022-12-01 13:10 回答
    • 前几天我也在开发微信支付也遇到这个问题了
      原本获取code的这个链接是
      const JS_API_CALL_URL = 'http://xxxxxx.cn/?c=WeixinBack&a=js_api_call_url';
      发现只能获取c,a这个参数获取不到。
      解决办法:
      const JS_API_CALL_URL = 'http://xxxxxx.cn/?c=WeixinBack|js_api_call_url|...
      只能带一个参数就把所有的参数组合成一个字符串带上了
      然后在服务器上重写一个规则,将链接写成原本的格式。

      2022-12-01 13:10 回答
    • 你是怎么解决的呢,我也遇到这个问题现在,我用thinkphp

      2022-12-01 13:10 回答
    • 我使用的方法,在一切业务开始之前,先获取到openId然后存到session里。

      然后开始业务逻辑,这时候,因为你微信的所有的个人信息都已经在session里了,所以就不会有任何的跳转问题。

      2022-12-01 13:10 回答
    • 认真看一下微信支付的文档,发现是可以传递参数的~ 现在发现另外一个问题:
      就是支付完成后,用js写的location.href 不能跳转回支付成功的页面,有遇到这个问题的么??? 又是咋解决的嘞?

      2022-12-01 13:10 回答
    • $state = $_GET['state'];之后呢,怎样把这三个参数分解出来

      2022-12-01 13:10 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有