/
home
/
suroeste
/
public_html
/
payments.transportessuroeste.com
/
config
/
/home/suroeste/public_html/payments.transportessuroeste.com/config
mkdir
upload
Name
Size
Mode
Actions
.env
2455
0644
edit
dl
rm
.env.example
2795
0644
edit
dl
rm
config.php
7351
0600
edit
dl
rm
Edit:
/home/suroeste/public_html/payments.transportessuroeste.com/config/config.php
(7351B)
<?php /** * ============================================================================ * TRANSPORTES SUROESTE - CONFIGURACIÓN PRINCIPAL * ============================================================================ * API de Pasarela de Pagos con ePayco * Estándares: PCI-DSS, ISO 27001 * * @version 1.0.0 * ============================================================================ */ declare(strict_types=1); // Suprimir deprecación del SDK ePayco error_reporting(E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED); set_error_handler(function($errno, $errstr) { if (strpos($errstr, 'deprecated') !== false || strpos($errstr, 'Deprecated') !== false) { return true; // Ignorar } return false; }, E_DEPRECATED | E_USER_DEPRECATED); // Zona horaria Colombia date_default_timezone_set('America/Bogota'); // Cargar variables de entorno if (file_exists(__DIR__ . '/.env')) { $lines = file(__DIR__ . '/.env', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach ($lines as $line) { if (strpos(trim($line), '#') === 0) continue; if (strpos($line, '=') !== false) { list($key, $value) = explode('=', $line, 2); $_ENV[trim($key)] = trim($value); putenv(trim($key) . '=' . trim($value)); } } } // ============================================================================ // ENTORNO // ============================================================================ define('APP_ENV', getenv('APP_ENV') ?: 'production'); define('APP_DEBUG', APP_ENV === 'development'); define('APP_NAME', 'Transportes Suroeste - Payment Gateway'); define('APP_VERSION', '1.0.0'); define('APP_URL', getenv('APP_URL') ?: 'https://payments.transportessuroeste.com'); // Base path para subdirectorios en cPanel (ej: /transportes-suroeste/public) // Se autodetecta desde SCRIPT_NAME o se puede fijar en .env define('BASE_PATH', getenv('BASE_PATH') ?: rtrim(dirname($_SERVER['SCRIPT_NAME'] ?? ''), '/')); // ============================================================================ // BASE DE DATOS // ============================================================================ define('DB_CONFIG', [ 'host' => getenv('DB_HOST') ?: 'localhost', 'port' => (int)(getenv('DB_PORT') ?: 3306), 'database' => getenv('DB_NAME') ?: 'transportes_suroeste_payments', 'username' => getenv('DB_USER') ?: 'root', 'password' => getenv('DB_PASS') ?: '', 'charset' => 'utf8mb4', 'options' => [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_STRINGIFY_FETCHES => false, ] ]); // ============================================================================ // EPAYCO // ============================================================================ define('EPAYCO_CONFIG', [ 'public_key' => getenv('EPAYCO_PUBLIC_KEY') ?: '', 'private_key' => getenv('EPAYCO_PRIVATE_KEY') ?: '', 'p_key' => getenv('EPAYCO_P_KEY') ?: '', 'test_mode' => filter_var(getenv('EPAYCO_TEST_MODE') ?: 'true', FILTER_VALIDATE_BOOLEAN), 'language' => 'ES', ]); // ============================================================================ // SEGURIDAD // ============================================================================ define('SECURITY_CONFIG', [ 'encryption_key' => getenv('ENCRYPTION_KEY') ?: hash('sha256', 'transportes_suroeste_default_key_change_me', true), 'encryption_method' => 'AES-256-GCM', 'jwt_secret' => getenv('JWT_SECRET') ?: 'jwt_secret_change_in_production', 'jwt_algorithm' => 'HS512', 'jwt_expiry' => 3600, 'hmac_algorithm' => 'sha512', 'rate_limit_requests' => (int)(getenv('RATE_LIMIT_REQUESTS') ?: 100), 'rate_limit_window' => (int)(getenv('RATE_LIMIT_WINDOW') ?: 60), 'rate_limit_ban_time' => (int)(getenv('RATE_LIMIT_BAN_TIME') ?: 3600), 'security_headers' => [ 'X-Content-Type-Options' => 'nosniff', 'X-Frame-Options' => 'DENY', 'X-XSS-Protection' => '1; mode=block', 'Strict-Transport-Security' => 'max-age=31536000; includeSubDomains', 'Content-Security-Policy' => "default-src 'self'", 'Cache-Control' => 'no-store, no-cache, must-revalidate', 'Pragma' => 'no-cache', ], ]); // ============================================================================ // BASE DE DATOS DEL CLIENTE (reservas_clientes) // ============================================================================ define('CLIENT_DB_CONFIG', [ 'host' => getenv('CLIENT_DB_HOST') ?: 'localhost', 'port' => (int)(getenv('CLIENT_DB_PORT') ?: 3306), 'database' => getenv('CLIENT_DB_NAME') ?: '', 'username' => getenv('CLIENT_DB_USER') ?: '', 'password' => getenv('CLIENT_DB_PASS') ?: '', 'charset' => 'utf8mb4', 'options' => [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ] ]); // ============================================================================ // URL DE REDIRECCION POST-PAGO // ============================================================================ define('CLIENT_REDIRECT_URL', getenv('CLIENT_REDIRECT_URL') ?: 'https://gorbus.transportessuroeste.com/form_genera_tiquetes'); // ============================================================================ // LOGS // ============================================================================ define('LOG_CONFIG', [ 'path' => __DIR__ . '/../logs/', 'level' => APP_DEBUG ? 'DEBUG' : 'INFO', 'max_file_size' => 10485760, 'max_files' => 30, 'channels' => [ 'transactions' => 'transactions.log', 'security' => 'security.log', 'audit' => 'audit.log', 'errors' => 'errors.log', 'access' => 'access.log', ], ]); // ============================================================================ // TRANSACCIONES // ============================================================================ define('TRANSACTION_CONFIG', [ 'min_amount' => 1000, 'max_amount' => 10000000, 'currency' => 'COP', 'timeout' => 300, 'retry_attempts' => 3, ]); // ============================================================================ // AUTOLOAD // ============================================================================ spl_autoload_register(function ($class) { $prefix = 'TransportesSuroeste\\'; $base_dir = __DIR__ . '/../src/'; $len = strlen($prefix); if (strncmp($prefix, $class, $len) !== 0) return; $relative_class = substr($class, $len); $file = $base_dir . str_replace('\\', '/', $relative_class) . '.php'; if (file_exists($file)) require $file; }); // ============================================================================ // COMPOSER AUTOLOAD // ============================================================================ $composerAutoload = __DIR__ . '/../vendor/autoload.php'; if (file_exists($composerAutoload)) { require $composerAutoload; }
Save
cmd:
run