<?php
require_once mvc::$cfg['AUTOLOAD']['Main']['path']."WxpayAPI_php_v3/WxPay.Base.php";
class MainWxNotify extends WxPayNotify
{
	/**
	  * @method 重写回调处理函数
	  * @author soul
	  * @copyright 2017/8/16
	  * @return
			成功：['status'=>true, 'data'=>]
			失败：['status'=>false, 'data'=>'xxx', 'code'=>'xxx']
	  */
	public function NotifyProcess($data, &$msg)
	{
		//($data {"appid":"wx0f4101f7c0262758","bank_type":"CITIC_CREDIT","cash_fee":"1","fee_type":"CNY","is_subscribe":"Y","mch_id":"1425099302","nonce_str":"qg7065yj5po06y5enchssh01vnx091ea","openid":"owl8Js8Cyr0AgLIkqeNIRhcBcF94","out_trade_no":"500028","result_code":"SUCCESS","return_code":"SUCCESS","sign":"77A4845EDB1F97A8EC383C9A87605728","time_end":"20170817160314","total_fee":"1","trade_type":"NATIVE","transaction_id":"4003352001201708176720013713"}
		if(isset($data['transaction_id']))
		{
			//查询订单，判断订单真实性
			$MainOrder = new MainOrder();
			$res = $MainOrder->get('pa_order', ['por_transaction_id', 'por_account'], sprintf(" AND por_transaction_id='%s'",  LibFc::Escape($data['transaction_id'])), true);
			if(!empty($res['data']['por_account']))
			{
				$result = $MainOrder->getWxPayOrder($res['data']['por_account'], $res['data']['por_transaction_id']);
				$result = $result['data'];
				if(array_key_exists("return_code", $result)
					&& array_key_exists("result_code", $result)
					&& $result["return_code"] == "SUCCESS"
					&& $result["result_code"] == "SUCCESS")
				{
					return true;
				}
			}
			echo json_encode($res)."订单查询失败";
			return false;
		}
		else
		{
			echo "输入参数不正确";
			return false;
		}
		return true;
	}
}