主頁 > 知識庫 > php對微信支付回調(diào)處理的方法

php對微信支付回調(diào)處理的方法

熱門標簽:電信外呼系統(tǒng)多少錢一個月 代理打電話機器人 合肥企業(yè)外呼系統(tǒng)線路 神龍斗士電話機器人 企業(yè)400電話辦理多少費用 萍鄉(xiāng)商鋪地圖標注 宿州正規(guī)外呼系統(tǒng)軟件 桂陽公司如何做地圖標注 太原400電話申請流程

應用場景

支付完成后,微信會把相關支付結果和用戶信息發(fā)送給商戶,商戶需要接收處理,并返回應答。

對后臺通知交互時,如果微信收到商戶的應答不是成功或超時,微信認為通知失敗,微信會通過一定的策略定期重新發(fā)起通知,盡可能提高通知的成功率,但微信不保證通知最終能成功。 (通知頻率為15/15/30/180/1800/1800/1800/1800/3600,單位:秒)

注意:同樣的通知可能會多次發(fā)送給商戶系統(tǒng)。商戶系統(tǒng)必須能夠正確處理重復的通知。

推薦的做法是,當收到通知進行處理時,首先檢查對應業(yè)務數(shù)據(jù)的狀態(tài),判斷該通知是否已經(jīng)處理過,如果沒有處理過再進行處理,如果處理過直接返回結果成功。在對業(yè)務數(shù)據(jù)進行狀態(tài)檢查和處理之前,要采用數(shù)據(jù)鎖進行并發(fā)控制,以避免函數(shù)重入造成的數(shù)據(jù)混亂。

特別提醒:商戶系統(tǒng)對于支付結果通知的內(nèi)容一定要做簽名驗證,并校驗返回的訂單金額是否與商戶側(cè)的訂單金額一致,防止數(shù)據(jù)泄漏導致出現(xiàn)“假通知”,造成資金損失。

微信支付回調(diào)處理分為

1.同步
2.異步

這里微信官方推薦使用 第二種

php對微信回調(diào)異步處理

//獲取返回的xml
$testxml = file_get_contents("php://input");
//將xml轉(zhuǎn)化為json格式
$jsonxml = json_encode(simplexml_load_string($testxml, 'SimpleXMLElement', LIBXML_NOCDATA));
//轉(zhuǎn)成數(shù)組
$result = json_decode($jsonxml, true);
if($result){
     //如果成功返回了
     if($result['return_code'] == 'SUCCESS'  $result['result_code'] == 'SUCCESS'){
     //進行改變訂單狀態(tài)等操作。。。。 
  }
}

本次微信支付返回的xml轉(zhuǎn)化為json格式如下:

{
  "appid": "12345",
  "attach": "pay",
  "bank_type": "CFT",
  "cash_fee": "1",
  "fee_type": "CNY",
  "is_subscribe": "Y",
  "mch_id": "12345",
  "nonce_str": "dZYFpaDYRpF5rwhv",
  "openid": "onhwF1hiutUySKCsrV21A6MCtT5Q",
  "out_trade_no": "SH201808222055598628",
  "result_code": "SUCCESS",
  "return_code": "SUCCESS",
  "sign": "5A019F52BEF1C3A98AE0F1FF29D01574",
  "time_end": "20180822205606",
  "total_fee": "1",
  "trade_type": "MWEB",
  "transaction_id": "4200000171201808221550954201"
}

其中

"result_code": "SUCCESS",
"return_code": "SUCCESS",

是判斷用戶是否已經(jīng)支付的依據(jù)

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • springboot整合微信支付sdk過程解析
  • Android自定義View實現(xiàn)微信支付密碼輸入框
  • 微信小程序與webview交互實現(xiàn)支付功能
  • Vue實現(xiàn)微信支付功能遇到的坑
  • 微信小程序調(diào)用微信支付接口的實現(xiàn)方法
  • java實現(xiàn)微信支付結果通知
  • 快速對接payjq的個人微信支付接口過程解析

標簽:廊坊 白銀 崇左 衡陽 鄂州 太原 綏化 辛集

巨人網(wǎng)絡通訊聲明:本文標題《php對微信支付回調(diào)處理的方法》,本文關鍵詞  php,對,微信,支付,回調(diào),處理,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php對微信支付回調(diào)處理的方法》相關的同類信息!
  • 本頁收集關于php對微信支付回調(diào)處理的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章