首页 > 微信 > 详细

(用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正

时间:2014-11-11 20:30:43      阅读:384      评论:0      收藏:0      [点我收藏+]

native支付模式一demo(用微信扫的静态链接二维码)BUG修复,一共4个BUG

1.native_call_qrcode.php这个文件中的代码无法生存native支付的短地址
2.WxPayPubHelper.php中某个代码获取不到WxPayConf_pub类定义的常量CURL_TIMEOUT
3.WxPayPubHelper.php curl中cURL会话并且异常释放资源
4.微信支付长地址转换地址函数有误

1.纠正短微信短地址未生成支付二维码问题,页面地址native_call_qrcode.php
第39行:因为官方的$codeUrl获得为空。
第59行:

var url = "<?php echo $product_url;?>";

获得是长地址
修改为短地址:

var url = "<?php echo $codeUrl;?>";

长地址的字符信息量太大常常会导致扫码失败。

2.WxPayPubHelper.php中某个代码获取不到WxPayConf_pub类定义的常量CURL_TIMEOUT


WxPayPubHelper/WxPayPubHelper.php
第155行

curl_setopt($ch, CURLOP_TIMEOUT, $second);

这里获取不到CURLOP_TIMEOUT
应该改成

curl_setopt($ch, WxPayConf_pub::CURL_TIMEOUT, $second);

3.WxPayPubHelper.php curl中cURL会话并且异常释放资源
第176行 return $data;是画蛇添足的的,这里也会报错,因为第171行:

curl_close($ch);

已经关闭流

4.微信支付长地址转换地址函数有误
第600行 getShortUrl()获取不到短地址,

function getShortUrl()
{
$this->postXml();
$prepay_id = $this->result["short_url"];
return $prepay_id;
}

 

修改如下

function getShortUrl()
{

$this->postXml();
$postObj = simplexml_load_string($this->response, ‘SimpleXMLElement‘, LIBXML_NOCDATA);
$prepay_id = $postObj->short_url;
return $prepay_id;
}

微信开发交流 QQ:187395037  电话:15889726201

(用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正

原文:http://www.cnblogs.com/keleyu/p/4090226.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!