* @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; } }