sales2@gdinyan.com
86-20-86379008

微信支付常見問題

  • 發布時間: 2015-02-12 13:52:55
  • 浏覽次數: 3966
  1. 相信第一(yī)次開發微信支付的(de)童鞋都是從下載修改微信提供的(de)例子(zǐ)開始,而微信官方提供的(de)“微信公衆号支付接口文檔V3.3.7”中的(de)PHP版本例子(zǐ),一(yī)開始就跟大家開了個玩笑(這裏強烈鄙視(shì)一(yī)下微信開發團隊!!)

    Notice: Use of undefined constant CURLOP_TIMEOUT - assumed 'CURLOP_TIMEOUT' in /wx_pay_test/WxPayPubHelper/WxPayPubHelper.php on line 155
    Warning: curl_setopt() expects parameter 2 to be long, string given in wx_pay_test/WxPayPubHelper/WxPayPubHelper.php on line 155

    正确的(de)寫法為(wèi): curl_setopt($ch, CURLOPT_TIMEOUT, $second);


  2. “access_control:not_allow” 可(kě)能出現的(de)問題是:

    1)如(rú)果是未通過審核的(de)微信服務号,确認是否已經把測試用的(de)微信普通用戶号加入到“測試白名單(微信支付->開發配置->測試白名單)”

    2)負責發起支付的(de)php程序所在的(de)目錄,是否已經設置被設置成為(wèi)“支付授權目錄”或“測試目錄”,例如(rú):需要把例子(zǐ)中的(de)http://www.*****.com/WxPayController/ 設置為(wèi)支付授權目錄或測試目錄


  3. “支付金額參數total_fee問題”,這個金額是提交給微信的(de)扣款金額,單位是,所以假如(rú)扣款:12.98元, 提交的(de)數據應該是 1298


  4. 别嘗試使用AJAX 方式調用js_api_call.php,來進行微信支付。


  5. 公衆号支付使用了無效的(de)商戶号”,導緻這個錯誤出現的(de)原因有很多,下面隻能提供一(yī)個調試的(de)方法,可(kě)根據自(zì)己的(de)實際情況處理(lǐ)。由于微信支付測試比較困難,隻有在微信內(nèi)才可(kě)以測試。一(yī)些 xml格式的(de)文件無法使用var_dump來輸出,網上搜索找到一(yī)個生成log記錄信息的(de)方式:

    // 打印log
        function  log_d($word) 
        {
            $log_name="./logd.log";//log文件路徑
            $fp = fopen($log_name,"a");
            flock($fp, LOCK_EX) ;
            fwrite($fp,"執行日期:".strftime("%Y-%m-%d-%H:%M:%S",time())."\n".$word."\n\n");
            flock($fp, LOCK_UN);
            fclose($fp);
        }

    在demo裏面的(de) WxPayPubHelper.php 裏面 用 $this->log_d(xxx);調用。


    普通的(de)對象輸出可(kě)使用:var_dump(××××);


  6. 支付成功後的(de) notify_url ,無法接受到數據問題:

    首先 notify_url 不能使用如(rú) &a=1&b=2 格式 應使用如(rú)下 /a/1/b/2 Pathinfo模式 如(rú)果是Linux環境還需要對文件夾有 相應的(de)權限 才能寫入信息。

    開發者可(kě)以在 notify_url 中根據 支付返回的(de)狀态進行一(yī)些相應的(de)操作 例如(rú)修改訂單狀态...發送模闆消息 提醒用戶交易成功等等。



标簽:微信支付 微信支付遇到的(de)問題 微信支付接口 微信支付錯誤彙總