Files
checkprestabox/controllers/front/callbackapi.php
2025-09-13 12:09:42 +03:00

73 lines
2.4 KiB
PHP

<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2015 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
use Symfony\Component\HttpFoundation\Response;
/**
* @property \MonoPayment $module An instance of the MonoPayment module.
*/
class CheckPrestaBoxCallbackApiModuleFrontController extends ModuleFrontController
{
public function postProcess()
{
$response = new Response();
$message = file_get_contents('php://input');
$this->module->log(['CallbackApi' => $message, '$_SERVER' => $_SERVER]);
$response->setStatusCode(403);
$response->send();
exit;
if ($_SERVER['REQUEST_METHOD'] != 'POST' || !$this->module->verifySignature($signature, $message)) {
} else {
$this->module->log(['CallbackApi' => $message]);
try {
$callbackData = json_decode($message, true, 512, JSON_THROW_ON_ERROR);
$objectPayload = ObjectPayload::getInstance($callbackData['invoiceId'], $this->module->invoce_tag, $this->module->name);
$objectPayload->addRecord('callback', $callbackData);
$objectPayload->save();
if (isset($callbackData['status'])) {
$this->module->processCallbackAPI($callbackData, $objectPayload);
$response->setStatusCode(200);
}
} catch (Throwable $e) {
PrestaShopLogger::addLog($e->getTraceAsString(), 4);
$response->setStatusCode(500);
}
}
$response->send();
exit;
}
}