Files
Epay/plugins/unionpay/notify.php
2020-02-21 16:21:31 +08:00

39 lines
1.3 KiB
PHP

<?php
require_once('./includes/common.php');
require(PAY_ROOT.'inc/class/Utils.class.php');
require(PAY_ROOT.'inc/config.php');
require(PAY_ROOT.'inc/class/ClientResponseHandler.class.php');
$resHandler = new ClientResponseHandler();
$cfg = new Config();
$xml = file_get_contents('php://input');
$resHandler->setContent($xml);
$resHandler->setKey($cfg->C('key'));
if($resHandler->isTenpaySign()){
if($resHandler->getParameter('status') == 0 && $resHandler->getParameter('result_code') == 0){
$transaction_id = $resHandler->getParameter('transaction_id');
$out_trade_no = $resHandler->getParameter('out_trade_no');
$total_fee = $resHandler->getParameter('total_fee');
$fee_type = $resHandler->getParameter('fee_type');
$openid = $resHandler->getParameter('openid');
if($out_trade_no == TRADE_NO && $total_fee==strval($order['money']*100) && $order['status']==0){
if($DB->exec("update `pre_order` set `status` ='1' where `trade_no`='".TRADE_NO."'")){
$DB->exec("update `pre_order` set `api_trade_no` ='$transaction_id',`endtime` ='$date',`buyer` ='$openid',`date`=NOW() where `trade_no`='".TRADE_NO."'");
processOrder($order);
}
}
//Utils::dataRecodes('½Ó¿Ú»Øµ÷ÊÕµ½Í¨Öª²ÎÊý',$resHandler->getAllParameters());
echo 'success';
exit();
}else{
echo 'failure1';
exit();
}
}else{
echo 'failure2';
}
?>