1. 程式人生 > >微信支付和支付寶支付一直回調問題

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

無需 OS osql ucc 流程 告訴 urn 解決 order

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

支付寶很簡單,只要輸出 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>‘; }

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

 

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