php處理微信支付回調改變訂單支付狀態的代碼

來源:互聯網
上載者:User
本篇文章給大家帶來的內容是關於php服務端APP支付回調驗證簽名改變訂單支付狀態,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。

<?php       //處理支付回調        $time = time();        $testxml  = file_get_contents("php://input");  //接收發送的支付成功資訊        //file_put_contents('D:\webroot\xianyijie\JK\weixin.txt',$testxml);       $result = XMLDataParse($testxml);       file_put_contents("D:\webroot\xianyijie\JK\weixin.txt", json_encode($result)."\r\n", FILE_APPEND); //將資訊寫入txt檔案做支付備份        $sign_return = $result['sign'];    //如果成功返回了                if($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS'){            $key = "商戶密鑰key";            unset($result['sign']);            $sign = appgetSign($result,$key);   if($sign == $sign_return)    //驗證簽名   {      //這裡是驗簽成功後的sql操作                                               //如果操作成功return "<xml><return_code><![CDATA[SUCCESS]]></return_code>                      <return_msg><![CDATA[OK]]></return_msg>                 </xml>";                //如果操作失敗                        return "fail";   }            }/* * 格式化參數格式化成url參數  產生簽名sign*/ function appgetSign($Obj,$appwxpay_key)  {    foreach ($Obj as $k => $v)    {      $Parameters[$k] = $v;    }    //簽名步驟一:按字典序排序參數    ksort($Parameters);    $String = formatBizQueryParaMap($Parameters, false);    //echo '【string1】'.$String.'</br>';    //簽名步驟二:在string後加入KEY        if($appwxpay_key){            $String = $String."&key=".$appwxpay_key;        }            //echo "【string2】".$String."</br>";    //簽名步驟三:MD5加密    $String = md5($String);    //echo "【string3】 ".$String."</br>";    //簽名步驟四:所有字元轉為大寫    $result_ = strtoupper($String);    //echo "【result】 ".$result_."</br>";    return $result_;  }//xml格式資料解析函數 function XMLDataParse($data){  $xml = simplexml_load_string($data,NULL,LIBXML_NOCDATA);  $array=json_decode(json_encode($xml),true);  return $array; }?>

相關文章推薦:

php的curl中post方式和get方式的請求代碼

關於PHP中間鍵的內容解析

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.