• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信公众号 > 详解微信支付开发交易通知实例代码

详解微信支付开发交易通知实例代码

作者:匿名 字体:[增加 减小] 来源:互联网

匿名通过本文主要向大家介绍了微信支付开发等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
本文主要介绍如何使用 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的弹出窗

详解微信支付开发交易通知实例代码

以上就是对微信支付开发交易通知的资料整理,谢谢支持!

以上就是详解微信支付开发交易通知实例代码的详细内容,更多请关注其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 微信支付开发之沙箱密钥步骤详解
  • VuePress做出个人网页
  • 关于微信开发冷知识的详细介绍(图)
  • 微信开发值得推荐的开源项目
  • 有关C#微信公众平台开发的课程推荐10篇
  • php微信公众号开发(3)php实现简单微信文本通讯
  • 微信开发之上传临时素材介绍
  • 微信现金红包接口实现红包发放的示例代码分享
  • JAVA微信开发如何使用?总结JAVA微信开发实例用法
  • 微信开发之微信支付

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信开发系列教程(2)
    • 微信小程序怎么注册
    • 微信开发之首页制作代码示例
    • 微信公众平台SDK过程详解
    • 微信公众平台开发入门教程(图文详解)
    • 微信公众账号开发者认证:uwsgi结合web.py的步骤详解
    • 实现类似微信中说话功能的录音处理代码实例
    • 什么是微信认证?微信认证使用方法总结
    • 微信公众平台开发:高级接口说明
    • 微信开发实现各种消息的响应

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有