详解微信支付开发交易通知实例代码
本文主要介绍如何使用 JS API支付时如何获得交易通知,并提供代码实例,希望对开发微信支付的小伙伴有所帮助
一、交易通知
用户在成功完成支付后,微信后台通知(POST)商户服务器(notify_url)支付结果。商户可以使用notify_url的通知结果进行个性化页面的展示。
对后台通知交互时,如果微信收到商户的应答不是success或超时,微信不为通知失败,微信会通过一定的策略(如30分钟共8次)定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功。
后台通知通过请求中的 notify_url 迚行,采用 POST 机制。
同时,在postData中还将包含xml数据。
二、交易结果获取与响应
根据官方文档,创建notice.php用于通知结果。
程序内容如下所示:
<?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数据包
返回成功消息 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的弹出窗
以上就是对微信支付开发交易通知的资料整理,谢谢支持!
以上是详解微信支付开发交易通知实例代码的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
4 周前
By DDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
3 周前
By DDD
在哪里可以找到原子中的起重机控制钥匙卡
4 周前
By DDD
<🎜>:死铁路 - 如何完成所有挑战
1 个月前
By DDD
Atomfall指南:项目位置,任务指南和技巧
1 个月前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

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

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)