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


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 相关文章推荐
打造计数器DIY三步曲(下)
Oct 09 PHP
Memcache 在PHP中的使用技巧
Feb 08 PHP
简单的PHP留言本实例代码
May 09 PHP
php 生成文字png图片的代码
Apr 17 PHP
php中调用其他系统http接口的方法说明
Feb 28 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 PHP
php中mysql连接方式PDO使用详解
Feb 25 PHP
php版微信小店API二次开发及使用示例
Nov 12 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
Laravel5.1框架注册中间件的三种场景详解
Jul 09 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
php使用sql数据库 获取字段问题介绍
2013/08/12 PHP
destoon常用的安全设置概述
2014/06/21 PHP
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
2014/06/20 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
setTimeout时间设置为0详细解析
2018/03/13 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
Django models文件模型变更错误解决
2020/05/11 Python
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
数据库专业英语
2012/11/30 面试题
介绍一下linux的文件权限
2014/07/20 面试题
妇产科护士自我鉴定
2013/10/15 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
家长写给孩子的评语
2014/04/18 职场文书
2014年度安全生产目标管理责任书
2014/07/25 职场文书
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
2015年元旦标语大全
2014/12/09 职场文书
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python