微信支付开发交易通知实例


Posted in PHP onJuly 12, 2016

一、交易通知

用户在成功完成支付后,微信后台通知(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 相关文章推荐
Windows下PHP的任意文件执行漏洞
Oct 09 PHP
解决中英文字符串长度问题函数
Jan 16 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
php设计模式 Builder(建造者模式)
Jun 26 PHP
PHP逐行输出(ob_flush与flush的组合)
Feb 04 PHP
保存到桌面、设为桌面且带图标的PHP代码
Nov 19 PHP
php计算数组不为空元素个数的方法
Jan 27 PHP
php生成高清缩略图实例详解
Dec 07 PHP
PHP单例模式是什么 php实现单例模式的方法
May 14 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
Mar 09 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
Oct 11 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
php实现的debug log日志操作类实例
Jul 12 #PHP
PHP数据库表操作的封装类及用法实例详解
Jul 12 #PHP
WordPress过滤垃圾评论的几种主要方法小结
Jul 11 #PHP
php处理带有中文URL的方法
Jul 11 #PHP
PHP实现JS中escape与unescape的方法
Jul 11 #PHP
php处理复杂xml数据示例
Jul 11 #PHP
php的debug相关函数用法示例
Jul 11 #PHP
You might like
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
javascript 读取xml,写入xml 实现代码
2009/07/10 Javascript
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
js注意img图片的onerror事件的分析
2011/01/01 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
python中redis的安装和使用
2016/12/04 Python
pandas object格式转float64格式的方法
2018/04/10 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
浅谈python3.6的tkinter运行问题
2019/02/22 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
2019/08/22 Python
pycharm导入源码的具体步骤
2020/08/04 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
利用三角函数在canvas上画虚线的方法
2018/01/11 HTML / CSS
欧缇丽英国官方网站:Caudalie英国
2016/08/17 全球购物
德国家具在线:Fashion For Home
2017/03/11 全球购物
印度第一网上礼品店:IGP.com
2020/02/06 全球购物
介绍一下write命令
2014/08/10 面试题
各营销点岗位职责范本
2014/03/05 职场文书
综治工作汇报材料
2014/10/27 职场文书
党员评议自我评价
2015/03/03 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL
分析Netty直接内存原理及应用
2021/06/14 Java/Android