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


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求小于1000的所有水仙花数的代码
Jan 10 PHP
php session劫持和防范的方法
Nov 12 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 PHP
php实现的单一入口应用程序实例分析
Sep 23 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
PHP Oauth授权和本地加密实现方法
Aug 12 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
Feb 28 PHP
PHP中常用的魔术方法
Apr 28 PHP
PHP获取当前系统时间的方法小结
Oct 03 PHP
php ajax confirm 删除实例详解
Mar 06 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 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
咖啡常见的种类
2021/03/03 新手入门
php输出表格的实现代码(修正版)
2010/12/29 PHP
php 生成短网址原理及代码
2014/01/23 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
php将数组存储为文本文件方法汇总
2015/10/28 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
JavaScript中eval()函数用法详解
2015/12/14 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
Vue组件通信实践记录(推荐)
2017/08/15 Javascript
简单实现jQuery轮播效果
2017/08/18 jQuery
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
Javascript的this详解
2019/03/23 Javascript
跟老齐学Python之关于类的初步认识
2014/10/11 Python
python使用Tkinter显示网络图片的方法
2015/04/24 Python
Python函数中的函数(闭包)用法实例
2016/03/15 Python
Python之ReportLab绘制条形码和二维码的实例
2018/01/15 Python
详解Python中的type和object
2018/08/15 Python
python设计tcp数据包协议类的例子
2019/07/23 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
教师实习的自我鉴定
2013/10/26 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
网络销售员岗位职责
2015/04/11 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
《日月潭》教学反思
2016/02/20 职场文书
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS