本文主要介紹如何使用 JS API支付時如何獲得交易通知,并提供代碼實例,希望對開發(fā)微信支付的小伙伴有所幫助
一、交易通知
用戶在成功完成支付后,微信后臺通知(POST)商戶服務器(notify_url)支付結(jié)果。商戶可以使用notify_url的通知結(jié)果進行個性化頁面的展示。
對后臺通知交互時,如果微信收到商戶的應答不是success或超時,微信不為通知失敗,微信會通過一定的策略(如30分鐘共8次)定期重新發(fā)起通知,盡可能提高通知的成功率,但微信不保證通知最終能成功。
后臺通知通過請求中的 notify_url 迚行,采用 POST 機制。
同時,在postData中還將包含xml數(shù)據(jù)。
二、交易結(jié)果獲取與響應
根據(jù)官方文檔,創(chuàng)建notice.php用于通知結(jié)果。
程序內(nèi)容如下所示:
<?php foreach ($_GET as $key=>$value)? { ?logger("Key:?$key;?Value:?$value"); } $postStr?=?$GLOBALS["HTTP_RAW_POST_DATA"]; logger($postStr); if?(isset($_GET)){ ?echo?"success"; } //日志記錄 function?logger($log_content) { ?$max_size?=?100000; ?$log_filename?=?"log.xml"; ?if(file_exists($log_filename)?and?(abs(filesize($log_filename))?>?$max_size)){unlink($log_filename);} ?file_put_contents($log_filename,?date('H:i:s')."?".$log_content."\r\n",?FILE_APPEND); } ?>
上述程序的作用是:
獲取post到url的通知,他們以GET變量形式
獲取post的XML數(shù)據(jù)包
返回成功消息 success
將notice.php的完整路徑放入JS API支付的notice url中。
$wxPayHelper->setParameter("notify_url",?http://www.doucube.com/wxpay/notice.php);
這樣當交易完成后,該url將收到通知,并記錄在日志文件中,我們的測試如下所示:
獲得的GET變量及XML如下所示:
Key:?bank_billno;?Value:?201405273540085997 Key:?bank_type;?Value:?2011 Key:?discount;?Value:?0 Key:?fee_type;?Value:?1 Key:?input_charset;?Value:?GBK Key:?notify_id;?Value:?Gx8ov6tT6_yaARrtKG6RFZ4KiVtKqVnJzvulFlteJ3dhBg38iRtKs0pTXXfgh8WnH15mIhG6j65ggbzzYguh1mutG3B5oHsK Key:?out_trade_no;?Value:?JfuKdiBig4zZnE4n Key:?partner;?Value:?1234567890 Key:?product_fee;?Value:?1 Key:?sign;?Value:?08876C4A9F7A36A9EA972C211C122362 Key:?sign_type;?Value:?MD5 Key:?time_end;?Value:?20140527194139 Key:?total_fee;?Value:?1 Key:?trade_mode;?Value:?1 Key:?trade_state;?Value:?0 Key:?transaction_id;?Value:?1218614901201405273313473135 Key:?transport_fee;?Value:?0 <xml><OpenId><![CDATA[o0pk9uIVnlY-fJkzFKEbQ6LJ4cFc]]></OpenId> <AppId><![CDATA[wx0000000000000000]]></AppId> <IsSubscribe>1</IsSubscribe> <TimeStamp>1401190899</TimeStamp> <NonceStr><![CDATA[iOb2flJ0ILFAmBqJ]]></NonceStr> <AppSignature><![CDATA[66678894aae680ba140e18e66d1295dfadabd9ab]]></AppSignature> <SignMethod><![CDATA[sha1]]></SignMethod> </xml>
而在微信窗口中將收到OK的彈出窗
以上就是對微信支付開發(fā)交易通知的資料整理,謝謝支持!
以上是詳解微信支付開發(fā)交易通知實例代碼的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機

Video Face Swap
使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)