. /** * Check URL и Pay URL протокола MONETA.Assistant. * * @package paygw_moneta * @copyright 2026 Moneta Labs {@link https://moneta.ru/} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ define('NO_MOODLE_COOKIES', true); define('NO_DEBUG_DISPLAY', true); require_once(__DIR__ . '/../../../config.php'); use paygw_moneta\local\callback\CallbackHandler; use paygw_moneta\local\ErrorLogLogger; use paygw_moneta\local\protocol\CallbackResponse; $method = $_SERVER['REQUEST_METHOD'] ?? ''; $fields = match ($method) { 'POST' => $_POST, 'GET' => $_GET, default => null, }; $response = null; if ($fields !== null) { try { $response = (new CallbackHandler())->handle($fields); } catch (\Throwable $exception) { (new ErrorLogLogger())->error('Колбэк отклонён: ' . get_class($exception)); } } $response ??= CallbackResponse::fail(); header('Cache-Control: no-store'); header('Content-Type: ' . $response->contentType); echo $response->body;