程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> (用微信掃的靜態鏈接二維碼)微信native支付模式官方提供的demo文件中的幾個bug修正,nativedemo

(用微信掃的靜態鏈接二維碼)微信native支付模式官方提供的demo文件中的幾個bug修正,nativedemo

編輯:關於PHP編程

(用微信掃的靜態鏈接二維碼)微信native支付模式官方提供的demo文件中的幾個bug修正,nativedemo


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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved