/home/suroeste/public_html/payments.transportessuroeste.com/config
Edit: /home/suroeste/public_html/payments.transportessuroeste.com/config/config.php (7351B)
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;
}