예제 #1
0
파일: notify.php 프로젝트: aspnmy/weizan
require '../../framework/bootstrap.inc.php';
require_once "WxPayPubHelper/WxPayPubHelper.php";
require_once "monUtil.class.php";
require_once "dbutil.class.php";
$input = file_get_contents('php://input');
WeUtility::logging('info', "通用订单异步通知数据" . $input);
//WeUtility::logging('info',"商户key数据".$kjsetting);
$notify = new Notify_pub();
$notify->saveData($input);
$data = $notify->getData();
$ordersetting = DBUtil::findUnique(DBUtil::$TABLE_ORDER_SETTING, array(":appid" => $data['appid']));
if (empty($data)) {
    $notify->setReturnParameter("return_code", "FAIL");
    $notify->setReturnParameter("return_msg", "通用订单参数格式校验错误");
    WeUtility::logging('info', "通用订单回复参数格式校验错误");
    exit($notify->createXml());
}
if ($data['result_code'] != 'SUCCESS' || $data['return_code'] != 'SUCCESS') {
    $notify->setReturnParameter("return_code", "FAIL");
    $notify->setReturnParameter("return_msg", "通用订单参数格式校验错误");
    WeUtility::logging('info', "通用订单回复参数格式校验错误");
    exit($notify->createXml());
}
//更新表订单信息
WeUtility::logging('info', "通知订单更新");
if ($notify->checkSign($ordersetting['shkey'])) {
    DBUtil::update(DBUtil::$TABLE_ORDER_ORDER, array("status" => 3, 'paytime' => TIMESTAMP), array("outno" => $data['out_trade_no']));
    $order = DBUtil::findUnique(DBUtil::$TABLE_ORDER_ORDER, array(":outno" => $data['out_trade_no']));
    $notify->setReturnParameter("return_code", "SUCCESS");
    $notify->setReturnParameter("return_msg", "OK");
    exit($notify->createXml());