Files
jianfeng-server/weixinpay/lib/WxOrderNotify.php
2025-10-02 10:33:06 +08:00

98 lines
2.6 KiB
PHP
Executable File

<?php
ini_set('date.timezone','Asia/Shanghai');
error_reporting(E_ERROR);
use think\App;
use think\facade\Db;
require_once "WxPay.Api.php";
require_once 'WxPay.Notify.php';
class WxOrderNotify extends WxPayNotify
{
protected $app;
public function __construct ( App $app )
{
$this->app = $app;
}
//查询订单
public function Queryorder($transaction_id){
@file_put_contents('./weixinQuery.txt','in_query',FILE_APPEND);
$input = new WxPayOrderQuery();
$input->SetTransaction_id($transaction_id);
$result = WxPayApi::orderQuery($input);
if(array_key_exists("return_code", $result) && array_key_exists("result_code", $result) && $result["return_code"] == "SUCCESS" && $result["result_code"] == "SUCCESS") {
$arr = json_decode($result['attach'] , true);
switch ($arr['type']){
case 'Balance':
//余额卡
$order_model = new \app\farm\model\BalanceOrder();
break;
case 'Claim':
//认养
$order_model = new \app\farm\model\ClaimOrder();
break;
case 'Land':
//土地
$order_model = new \app\farm\model\LandOrder();
break;
case 'ClaimSend':
//配送订单
$order_model = new \app\farm\model\SendOrder();
break;
case 'Breed':
//养殖订单
$order_model = new \app\farm\model\BreedOrder();
break;
case 'SchoolShop':
//商城订单
$order_model = new \app\farm\model\ShopOrder();
break;
}
$order_model->orderResult($arr['out_trade_no'],$transaction_id);
}
return false;
}
//重写回调处理函数
public function NotifyProcess($data, &$msg)
{
$notfiyOutput = array();
if(!array_key_exists("transaction_id", $data)){
file_put_contents('./weixinQuery.txt','输入参数不正确',FILE_APPEND);
$msg = "输入参数不正确";
return false;
}
file_put_contents('./weixinQuery.txt','abc',FILE_APPEND);
//查询订单,判断订单真实性
if(!$this->Queryorder($data["transaction_id"],$data[''])){
$msg = "订单查询失败";
return false;
}
return true;
}
}