-
Notifications
You must be signed in to change notification settings - Fork 24
/
f2fpay_notify.php
50 lines (39 loc) · 1.49 KB
/
f2fpay_notify.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
/* *
* 支付宝当面付异步通知页面
*/
require_once('./includes/common.php');
require_once(SYSTEM_ROOT."f2fpay/config.php");
require_once(SYSTEM_ROOT."f2fpay/AlipayTradeService.php");
$out_trade_no = daddslashes($_POST['out_trade_no']);
$srow=$DB->query("SELECT * FROM pay_order WHERE trade_no='{$out_trade_no}' limit 1 for update")->fetch();
//计算得出通知验证结果
$alipaySevice = new AlipayTradeService($config);
//$alipaySevice->writeLog(var_export($_POST,true));
$verify_result = $alipaySevice->check($_POST);
if($verify_result) {//验证成功
//商户订单号
$out_trade_no = $_POST['out_trade_no'];
//支付宝交易号
$trade_no = $_POST['trade_no'];
//交易状态
$trade_status = $_POST['trade_status'];
//买家支付宝
$buyer_id = $_POST['buyer_id'];
if($_POST['trade_status'] == 'TRADE_FINISHED') {
//退款日期超过可退款期限后(如三个月可退款),支付宝系统发送该交易状态通知
}
else if ($_POST['trade_status'] == 'TRADE_SUCCESS' && $srow['status']==0) {
//付款完成后,支付宝系统发送该交易状态通知
//$DB->query("update `pay_order` set `status` ='1',`endtime` ='$date',`buyer` ='$buyer_id' where `trade_no`='$out_trade_no'");
//设置所有订单为未审核
$DB->query("update `pay_order` set `status` ='2',`endtime` ='$date',`buyer` ='$buyer_id' where `trade_no`='$out_trade_no'");
processOrder($srow);
}
echo "success";
}
else {
//验证失败
echo "fail";
}
?>