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