<?php
/**
 * 易支付异步回调入口（独立文件，避免URL参数编码问题）
 * 此文件由易支付服务器调用，需要快速响应
 */

// 记录每次回调请求（写入文件日志）
$logFile = __DIR__ . '/storage/yipay-notify.log';
$logDir = dirname($logFile);
if (!is_dir($logDir)) { @mkdir($logDir, 0755, true); }
$logLine = date('Y-m-d H:i:s') . ' | IP=' . ($_SERVER['REMOTE_ADDR'] ?? '?')
         . ' | URI=' . ($_SERVER['REQUEST_URI'] ?? '?')
         . ' | GET=' . json_encode($_GET, JSON_UNESCAPED_UNICODE) . "\n";
@file_put_contents($logFile, $logLine, FILE_APPEND | LOCK_EX);

// 跳过 session_start（回调不需要 session，避免锁等待）
define('SKIP_SESSION', true);

require __DIR__ . '/app/bootstrap.php';
require __DIR__ . '/app/database.php';

if (!plugin_is_enabled('payment-yipay')) {
    @file_put_contents($logFile, date('Y-m-d H:i:s') . " | RESULT=plugin_disabled\n", FILE_APPEND | LOCK_EX);
    exit('disabled');
}
require_once PLUGINS_PATH . '/payment-yipay/plugin.php';

// 清除 opcache 确保读取最新插件代码
if (function_exists('opcache_invalidate')) {
    @opcache_invalidate(PLUGINS_PATH . '/payment-yipay/plugin.php', true);
}

header('Content-Type: text/plain; charset=utf-8');
$result = yipay_handle_notify($_GET);

@file_put_contents($logFile, date('Y-m-d H:i:s') . " | RESULT=" . $result . "\n", FILE_APPEND | LOCK_EX);
echo $result;
