文档章节

玩转微信2次开发2_微信支付开发_处理响应(微擎版)

R
 Rain_coder
发布于 2015/11/19 15:20
字数 376
阅读 328
收藏 0

用户在微信订单系统支付成功以后--微信订单服务器会主动请求我们在微信后台配置的回调url

微擎对应的是notify.php


该PHP的主要业务逻辑就是 匹配密钥

因为我们服务器要识别是微信订单服务器发的请求,还是其他服务器发的请求到这个PHP


这个PHP可处理回调业务呢 别处理错了哦


一旦密钥匹配成功

//如果一样说明是腾讯服务器的请求
$plid = $get['out_trade_no'];//获取商户订单号
$sql = 'SELECT * FROM ' . tablename('core_paylog') . ' WHERE `plid`=:plid';//找到这个订单
$params = array();
$params[':plid'] = $plid;//开始封装数据
$log = pdo_fetch($sql, $params);
if(!empty($log) && $log['status'] == '0') {//如果存在这个订单 但是没有支付成功
$log['tag'] = iunserializer($log['tag']);
$log['tag']['transaction_id'] = $get['transaction_id'];//微信支付订单号
$record = array();
$record['status'] = '1';
$record['tag'] = iserializer($log['tag']);
pdo_update('core_paylog', $record, array('plid' => $log['plid']));//更新数据
$site = WeUtility::createModuleSite($log['module']);//获取当前模块的site对象
if(!is_error($site)) {
$method = 'payResult';
if (method_exists($site, $method)) {//调用payResult方法
$ret = array();
$ret['weid'] = $log['weid'];
$ret['uniacid'] = $log['uniacid'];
$ret['result'] = 'success';
$ret['type'] = $log['type'];
$ret['from'] = 'notify';
$ret['tid'] = $log['tid'];
$ret['user'] = $log['openid'];
$ret['fee'] = $log['fee'];
$ret['tag'] = $log['tag'];
$site->$method($ret);
exit('success');
}
}
}

看看 又调用site对象的payResult方法了 我们可以重写此方法

来让PHP调用我们自己的业务 该方法参数封装了以上信息

© 著作权归作者所有

R
粉丝 24
博文 10
码字总数 12022
作品 0
鞍山
技术主管
私信 提问
微擎模块开发之微信支付报错get_brand_wcpay_request:fail解决方案

微擎模块开发之微信支付报错getbrandwcpay_request:fail解决方案 微擎模块开发之微信支付报错getbrandwcpay_request:fail解决方案 开发过程中遇到这个问题的朋友 请检查修改以下内容 1微擎微...

wx5ca58d86a5c57
04/12
0
0
微信公众号开发系列-玩转微信开发-目录汇总

引言 最遗憾的不是把理想丢在路上,而是理想从未上路。 每一个将想法变成现实的人,都值得称赞和学习。 致正在奔跑的您! 在现在这个无处不在的互联网背景下,各种应用已不再仅仅局限于网页或...

NET快速开发框架
06/20
0
0
微擎(php)开发的一套系统,支付宝和微信支付改成第四方支付

微擎开发的一套系统,商城和订餐,微信支付和支付宝支付都是使用的自己申请的那种,但是实际使用中,这种一是不容易申请,二是不方便,比如投诉多了,容易封号,现找了一家第四方支付,集成支...

zb1501222198553
2017/09/19
66
1
微信排号,扫码点单

【业务需求】 基于微信公众号开发 一、功能需求 微餐饮平台开发 主要功能列表: 1. 通过商家的二维码扫码登录WIFI 2. 排队叫号: 1.1 扫码领号 1.2 根据人数智能分配桌子 1.3 根据排号情况,...

pyangyong
2016/05/14
165
0
android开发之微信支付功能的实现

移动开发中,支付类的App越来越多,对于开发者来说也是不可少的,不可不会的:下面就来说一说支付开发的流程 1.申请你的AppID 请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置...

qq_35703234
2017/01/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Tensorflow 2.0安装

Tensorflow2.0安装环境: Ubuntu 16.04或更高(64位) Windows 7或者更高(64位,且支持python3) 安装Tensorflow 2.0 GPU版本的需要安装NVIDIA相关软件包: NVIDIA驱动 :版本必须410.x或更...

JosiahMg
16分钟前
4
0
TL138/1808/6748F-EasyEVM开发板硬件、CPU、FLASH、RAM

TL138/1808/6748F-EasyEVM是广州创龙基于SOM-TL138/SOM-TL1808/SOM-TL6748F核心板开发的一款开发板。由于SOM-TL138/SOM-TL1808/SOM-TL6748核心板管脚兼容,所以此三个核心板共用同一个底板。...

Tronlong创龙
24分钟前
4
0
百度嵌入式AI解决方案EdgeBoard之内存驱动设计介绍

1. 背景介绍 由于 FPGA 具备可编程和高性能计算的特点,基于FPGA硬件的AI计算加速,正广泛地应用到计算机视觉处理领域。其中极具代表性的部署方式之一就是使用FPGA和CPU组合构成异构计算系统...

AI君
30分钟前
6
0
开放应用模型(OAM):全球首个云原生应用标准定义与架构模型

Kubernetes 项目作为容器编排领域的事实标准, 成功推动了诸如阿里云 Kubernetes (ACK)等云原生服务的迅速增长。但同时我们也关注到,Kubernetes 的核心 API 资源比如 Service、Deploymen...

Mr_zebra
33分钟前
4
0
《Linux操作系统-Exynos4412》编译和安装Busybox

开发环境:Exynos4412-iTOP-4412开发板 现在 Busybox 的配置已经完成了,接下来开始编译 Busybox,在 Ubuntu 的终端输入 “make”命令开始编译 Busybox,如下图。 下图为编译过程中的截图。 ...

书白
36分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部