微信開發(fā)-第五章(2)-接入動態(tài)數(shù)據(jù)遇到的問題

<blockquote>因為GetOpenid() 方法里有個Header跳轉(zhuǎn)的操作,所以在GetOpenid()方法之前生成的訂單信息會丟失,所以在這里要做一下處理:</blockquote>

$openId = $tools->GetOpenid($json);
//print_r($_GET);

    $json_back   = '';
    $wx_back_arr = [];
    foreach ($_GET as $k => $v) {
        if($v == null){
            $json_back .= $k ;
        }else{
            $wx_back_arr[$k] = $v ;
        }

    }
    $json_arr = json_decode($json_back,true);
    print_r($json_arr);
    echo '<br>';
    print_r($wx_back_arr);  

//  echo $openId;
    exit;

在打印366行的$order時,會報這樣的錯誤:

Array
(
[return_code] => FAIL
[return_msg] => invalid total_fee /  簽名錯誤
)


<blockquote>原因:充值金額0.01,在傳給GetOpenid() 方法后,再傳回控制器時,會變成0_01,所以在這里你,充值金額以分為單位(微信官方也說了,total_fee 單位為分,只能為整數(shù))</blockquote>

所以在剛收到時就給其變?yōu)榉?,并轉(zhuǎn)換成int型,因為有時候,float(7) 后邊莫名出現(xiàn)7.000000000001 這樣的情況:

<blockquote>不太確定在Header的url傳參會不會影響URL注冊問題,估計應(yīng)該不會,因為在Header后,微信服務(wù)器會在URL加入code和state,另一個辦法是可以不用get傳參,把訂單數(shù)據(jù)存到cookie里</blockquote>

在微信公眾號支付里:


由于392行函數(shù)的調(diào)用,會導(dǎo)致重新請求該頁面,此時,350里收不到get參數(shù),從而導(dǎo)致352行的寫法會報錯,換用353行的寫法就行了。

392行里的coin參數(shù)是作為標記用的,用來在同一項目的不同地方調(diào)用該方法。

重定向時,get到的參數(shù)的保存問題:

訂單金額的問題:如果金額為0會報下面的錯誤:


<blockquote>FatalThrowableError
in WxPay.Api.php line 326:Cannot throw objects that do not implement Throwable</blockquote>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容