爱数据专家

123
查看: 3317|回复: 0
打印 上一主题 下一主题

[教程帮助] 微信支付官方配置方法及修复支付功能BUG专用帖(不断增加中)

[复制链接] [手机访问]

企业官网 爱华网 电话:0898-36692983

  • TA的每日心情
    奋斗
    2021-3-8 16:30
  • 签到天数: 122 天

    [LV.7]常住居民III

    管理员

    爱网指数:
    487.94点

    资料完善: 40%

    193

    主题

    205

    帖子

    1万

    积分

    玖币:790 元

    爱币:4427 枚

    金券:2848 券

    银子:7847 两

    跳转到指定楼层
    楼主
    发表于 2017-1-2 16:10:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 | 招呼Ta 关注Ta
    1、BUG文件目录:weimicms\Lib\ORG\Weixinnewpay\WxPayPubHelper.class.php

    使用文本编辑器,打开


    1.         public function getParameters()
    2.         {
    3.                 $jsApiObj["appId"] = $this->appid;
    4.                 $timeS**p = time();
    5.             $jsApiObj["timeS**p"] = "$timeS**p";        
    6.             $jsApiObj["nonceStr"] = $this->createNoncestr();
    7.             $jsApiObj["package"] = "prepay_id=".$this->prepay_id[prepay_id];
    8.             $jsApiObj["signType"] = "MD5";
    9.             $jsApiObj["paySign"] = $this->getSign($jsApiObj);
    10.             $this->parameters = json_encode($jsApiObj);
    11.                 return $this->parameters;
    12.         }
    13. }
    复制代码
    $jsApiObj["package"] = "prepay_id=".$this->prepay_id[prepay_id];


    蓝色的对应你的程序进行修改 这个是官方用变量名称和对象名不严谨造成的!完美修复!prepay_id是数组的变量名,也是键值名,this->prepay_id就返回了一个数组,得不到预支付ID所以会出错!提示为缺少key0参数

    2、BUG文件目录:weimicms\Lib\ORG\Weixinnewpay\WxPayPubHelper.class.php
    错误:点击支付按钮后,调用JSAPI没反应;提示:调用支付jsapi缺少参数 total_fee
    分析:total_fee错误不正确,header重定向参数丢失,无法获取订单号和金额
    解决:
    找到以下代码

    1. {
    2.         public $code;
    3.         public $openid;
    4.         public $parameters;
    5.         public $prepay_id;
    6.         public $curl_timeout;
    7.         public function createOauthUrlForCode($redirectUrl)
    8.         {
    9.                 $urlObj['appid'] = $this->appid;
    10.                 $urlObj["redirect_uri"] = $redirectUrl;
    11.                 $urlObj['response_type'] = 'code';
    12.                 $urlObj['scope'] = 'snsapi_base';
    13.                 $urlObj['state'] = 'STATE' . '#wechat_redirect';
    14.                 $bizString = $this->formatBizQueryParaMap($urlObj, false);
    15.                 return 'https://open.weixin.qq.com/connect/oauth2/authorize?' . $bizString;
    16.         }
    复制代码
    修改为
    1. {
    2.         public $code;
    3.         public $openid;
    4.         public $parameters;
    5.         public $prepay_id;
    6.         public $curl_timeout;
    7.         public function createOauthUrlForCode($redirectUrl)
    8.         {
    9.                 $urlObj['appid'] = $this->appid;
    10.                 $urlObj["redirect_uri"] = urlencode($redirectUrl);
    11.                 $urlObj['response_type'] = 'code';
    12.                 $urlObj['scope'] = 'snsapi_base';
    13.                 $urlObj['state'] = 'STATE' . '#wechat_redirect';
    14.                 $bizString = $this->formatBizQueryParaMap($urlObj, false);
    15.                 return 'https://open.weixin.qq.com/connect/oauth2/authorize?' . $bizString;
    16.         }
    复制代码
    修改urlencode($redirectUrl);这部分
    3、




    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 转播转播 分享分享

    爱数据专家 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与爱数据专家享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和爱数据专家的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、爱数据专家管理员和版主有权不事先通知发贴者而删除本文

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

      网站条款

    • 版权说明
    • 隐私条款
    • ----------
    二维码图片
    GMT+8, 2024-5-1 13:53, 地址:海口市龙华区龙昆北路海外大厦15楼3A   琼公网安备46010802000247号

    © 2002-2021 虹鑫科技 ( 琼ICP备07000595号-5 ) 本站已运行天 空间、技术由 9in1.cn 全程赞助

    快速回复 返回顶部 返回列表