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


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 相关文章推荐
PHP编程之高级技巧——利用Mysql函数
Oct 09 PHP
php GD绘制24小时柱状图
Jun 28 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
Oct 13 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
php+mysql实现用户注册登陆的方法
Jan 03 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
PHP远程调试之XDEBUG
Dec 29 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
Mar 21 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
Mar 25 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
Oct 13 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 PHP
PHP 时间处理类Carbon
May 20 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显卡排行榜天梯图 显卡天梯图2020年3月最新版
2020/04/02 数码科技
php email邮箱正则
2008/10/08 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
PHP多进程编程实例详解
2017/07/19 PHP
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
2015/08/26 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
vue项目打包之开发环境和部署环境的实现
2020/04/23 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
python字典多条件排序方法实例
2014/06/30 Python
python动态性强类型用法实例
2015/05/09 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
2018/07/06 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
《翻越远方的大山》教学反思
2014/04/13 职场文书
产品开发计划书
2014/04/27 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
数学系毕业生求职信
2014/05/29 职场文书
总经理人事任命书
2014/06/05 职场文书
批评与自我批评发言稿
2014/10/15 职场文书
2015年售票员工作总结
2015/04/29 职场文书