微信支付完成后執(zhí)行回調(diào)DEMO

集成支付并不是一件多難的事情,難的是支付流程,

本文就當(dāng)做我們已經(jīng)有了一個(gè)完整支付流程的網(wǎng)站,只剩下集成微信支付了。

能夠正常支付并不是微信支付的終點(diǎn),因?yàn)槲覀冞€要執(zhí)行回調(diào)

當(dāng)我們支付成功之后微信會(huì)向我們指定的回調(diào)方法發(fā)送請(qǐng)求,這個(gè)請(qǐng)求的路徑我們已經(jīng)在上面的代碼塊中指定

$input->SetNotify_url("http://www.\*\*\*\*.com/index.php/index/Order/notify");

具體回調(diào)方法如下:

//微信回調(diào)
    public function notify()
    {
        $data=$GLOBALS['HTTP_RAW_POST_DATA'];
        $result=xmlToArray($data);
        $outTradeTo = $result['out_trade_no'];
        if($result['return_code'] == 'FAIL'){
            $failResult="
                <xml>
                    <return_code><![CDATA[FAIL]]></return_code>
                    <return_msg><![CDATA[OK]]></return_msg>
                </xml>
            ";
            echo $failResult;
            exit;
        }else{
            if($result['result_code'] == 'FAIL'){
 
            }else{
                 db('order')->where(array('out_trade_no'=>$outTradeTo))->update(['pay_status'=>1]);
            }
        }
 
        $failResult="
                <xml>
                    <return_code><![CDATA[FAIL]]></return_code>
                    <return_msg><![CDATA[OK]]></return_msg>
                </xml>
            ";
            echo $failResult;
            exit;
 
    }

回調(diào)方法的目的就接到微信的通知后告訴微信我們知道處理結(jié)果了。
這里還沒完

再有最后一步就是支付成功或者失敗的時(shí)候,我們要?jiǎng)討B(tài)的提示給掃碼的用戶,這個(gè)一般的做法就是ajax異步訪問,查詢微信訂單,但是我在做這個(gè)的時(shí)候總是才坑,所以就自己寫了一個(gè)方法,ajax怎么異步訪問我想沒有必要貼出代碼了吧,我們已經(jīng)做過太多次,

貼出我自己改的查詢訂單狀態(tài)的代碼

//查詢訂單
    public function orderQuery(){
        $out_trade_no=input('out_trade_no');
        $orders=db('order')->where(array('out_trade_no'=>$out_trade_no))->find();
        if($orders['pay_status']==1){
            return 'SUCCESS';
        }else{
            return 'ERROR';
        }
    }

ajax得到返回的結(jié)果為success就提示支付成功,error就提示失敗。至此就完成了微信支付。

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

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

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