File: /var/www/vhost/disk-apps/qas.sports-crowd.com/app/Http/Controllers/Api/pagosbg.php
<?php
namespace App\Http\Controllers\Api;
function validateHash()
{
try {
include 'env.php'; // IMPORTAR ARCHIVO DE ENV PARA UTILIZAR LA VARIABLE 'CLAVE_SECRETA'
$orderId = $_GET['orderId'];
$status = $_GET['status'];
$hash = $_GET['hash'];
$domain = $_GET['domain'];
$values = base64_decode(CLAVE_SECRETA);
$secrete = explode('.', $values);
$signature = hash_hmac('sha256', $orderId . $status . $domain, $secrete[0]);
$success = strcmp($hash, $signature) === 0;
} catch (\Throwable $th) {
$success = false;
}
return $success;
}
function logFile($data)
{
$logFilePath = 'log.text';
ob_start();
// if you want to concatenate:
if (file_exists($logFilePath)) {
include($logFilePath);
} else {
touch($logFilePath);
}
// for timestamp
$currentTime = date(DATE_RSS);
// echo log statement(s) here
echo "\n\n$currentTime - [log statement here]";
$logFile = fopen($logFilePath, 'w');
fwrite($logFile, $data);
fclose($logFile);
ob_end_flush();
}
if (isset($_GET['orderId']) && isset($_GET['status']) && isset($_GET['domain']) && isset($_GET['hash'])) {
$this->logFile("llego al log");
header('Content-Type: application/json');
$success = validateHash();
if ($success) {
// Si es true, se debe cambiar el estado de la orden en la base de datos
}
echo json_encode(['succes' => $success]);
}