[更新]修改微信支付测试功能

This commit is contained in:
邹景立 2017-04-13 19:26:20 +08:00
parent 48664c9e9c
commit 30b4f2384f

View File

@ -15,6 +15,8 @@
namespace app\wechat\controller;
use think\Controller;
use think\Db;
use think\Log;
/**
* 微信支付通知处理控制器
@ -31,19 +33,30 @@ class Notify extends Controller {
// 获取支付通知
$notifyInfo = $pay->getNotify();
p($notifyInfo);
// 支付通知数据获取失败
if ($notifyInfo === FALSE) {
// 接口失败的处理
echo $pay->errMsg;
Log::error("微信支付通知消息验证失败,{$pay->errCode}[{$pay->errCode}]");
return $pay->errMsg;
} else {
//支付通知数据获取成功
if ($notifyInfo['result_code'] == 'SUCCESS' && $notifyInfo['return_code'] == 'SUCCESS') {
// 记录支付通知数据
Db::name('WechatPayNotify')->insert($notifyInfo);
$prepayMap = ['out_trade_no' => $notifyInfo['out_trade_no']];
$prepayData = Db::name('WechatPayPrepayid')->where($prepayMap)->find();
if (empty($prepayData)) {
$pay->replyXml(['return_code' => 'ERROR', 'return_msg' => '系统中未发现对应的预支付记录!']);
}
$prepayUpdateData = ['transaction_id' => $notifyInfo['transaction_id'], 'is_pay' => 1, 'pay_at' => date('Y-m-d H:i:s')];
if (false === Db::name('WechatPayPrepayid')->where($prepayMap)->update($prepayUpdateData)) {
$pay->replyXml(['return_code' => 'ERROR', 'return_msg' => '更新系统预支付记录失败!']);
}
// 支付状态完全成功,可以更新订单的支付状态了
// @todo 这里去完成你的订单状态修改操作
// 回复xmlreplyXml方法是终态方法
$pay->replyXml(['return_code' => 'SUCCESS', 'return_msg' => 'DEAL WITH SUCCESS']);
$pay->replyXml(['return_code' => 'SUCCESS', 'return_msg' => '系统业务处理成功!']);
}
}
}