微信支付和支付寶支付一直回調問題


  在做支付開發時,發現一個問題,就是說異步回調會一直不停的回調,這樣會導致有些業務邏輯的問題,比如說本人在做的一個項目,支付成功后,會有一系列的業務,比如會員升級,錢包判斷等功能,如果一直回調進行處理那出現問題的,那么如何解決了,也挺簡單的,就是在處理完看,你給支付寶或微信進行一個輸出,告訴支付寶或微信,我已處理完成,那么就不會一直在出現回調

支付寶很簡單,只要輸出  echo success;即可,而微信則需要return 一個xml 數據 

<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>

//支付寶
  $sql="select id,is_pay,mem_id from `order` where  ordernum='{$out_trade_no}'";
        //更新訂單
        $order = $dosql->GetOne($sql);
        //如果已支付過,就無需再進行游戲規則 1代表你也走過這個流程
        if($order['is_pay']===1){
            echo "success";
        }
   $order = $dosql->GetOne("select id,is_pay,mem_id from `order` where  ordernum={$data['out_trade_no']}");
        //微信支付回復
        if ($order['is_pay']==1) {
            return '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>';
        }

主要思想就是先判斷下是否已支付過,如果已支付過,就直接告訴支付寶或微信,已支付。無需再進行異步回調。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM