From 389c851c42f211685472abc15b96707d135796e6 Mon Sep 17 00:00:00 2001 From: JuanEstebanGarciaV Date: Fri, 20 Feb 2026 11:26:40 -0500 Subject: [PATCH 1/3] redirect green --- .../modules/gateways/callback/epayco.php | 107 +++++++++--------- 1 file changed, 55 insertions(+), 52 deletions(-) diff --git a/payco_whmcs/modules/gateways/callback/epayco.php b/payco_whmcs/modules/gateways/callback/epayco.php index 63170fb..bac51ab 100644 --- a/payco_whmcs/modules/gateways/callback/epayco.php +++ b/payco_whmcs/modules/gateways/callback/epayco.php @@ -1,56 +1,59 @@ isActiveGateway($gatewayModule) || !$gateway->load($gatewayModule)) { - WHMCS\Terminus::getInstance()->doDie("Module not Active"); -} -$GATEWAY = $gateway->getParams(); -$gatewayParams = getGatewayVariables('epayco'); - -if (!$gatewayParams['type']) { - die("Module Not Activated"); -} -if($_GET['ref_payco'] === 'undefined'){ - $returnUrl = $gatewayParams['systemurl']; -} -$obj = new EpaycoConfig("Epayco",$gatewayModule); - - -if(!empty($_GET['ref_payco'])){ - $url = 'https://eks-checkout-service.epayco.io/validation/v1/reference/'.$_GET['ref_payco']; - $responseData = @file_get_contents($url); - if($responseData === false){ - echo "
ERROR: No se pudo obtener respuesta de la API
"; - logTransaction($gatewayParams['name'], $_GET, 'Ocurrio un error al intentar validar la referencia'); - header("Location: ".$gatewayParams['systemurl']); + include "../../../init.php"; + include ROOTDIR . "/includes/functions.php"; + include ROOTDIR . "/includes/gatewayfunctions.php"; + include ROOTDIR . "/includes/invoicefunctions.php"; + + use Illuminate\Database\Capsule\Manager as Capsule; + + require_once(ROOTDIR . "/modules/gateways/epayco/epayco.php"); + $gatewayModule = "epayco"; + $gateway = new WHMCS\Module\Gateway(); + + if (!$gateway->isActiveGateway($gatewayModule) || !$gateway->load($gatewayModule)) { + WHMCS\Terminus::getInstance()->doDie("Module not Active"); + } + $GATEWAY = $gateway->getParams(); + $gatewayParams = getGatewayVariables('epayco'); + + if (!$gatewayParams['type']) { + die("Module Not Activated"); + } + if ($_GET['ref_payco'] === 'undefined') { + $returnUrl = $gatewayParams['systemurl']; } - $jsonData = @json_decode($responseData, true); - - $validationData = $jsonData['data']; - - $obj->crearTablaCustomTransacciones(); - echo "
Procesando confirmación...
"; - $respuesta = $obj->epaycoConfirmation($GATEWAY, $validationData); - - $returnUrl = $gatewayParams['systemurl'].'modules/gateways/epayco/response.php'; - $fullRedirectUrl = $returnUrl.'?ref_payco='.$_GET['ref_payco']; - echo "
Redirigiendo...
"; - echo ""; - header("Location: ".$fullRedirectUrl); -}else { - if (!empty(trim($_REQUEST['x_ref_payco']))) { - $validationData = $_REQUEST; + $obj = new EpaycoConfig("Epayco", $gatewayModule); + + + if (!empty($_GET['ref_payco'])) { + $url = ' https://eks-checkout-service.epayco.io/validation/v1/reference/' . $_GET['ref_payco']; + $responseData = @file_get_contents($url); + + if ($responseData === false) { + echo "
ERROR: No se pudo obtener respuesta de la API
"; + + logTransaction($gatewayParams['name'], $_GET, 'Ocurrio un error al intentar validar la referencia'); + + header("Location: " . $gatewayParams['systemurl']); + } + $jsonData = @json_decode($responseData, true); + $validationData = $jsonData['data']; $obj->crearTablaCustomTransacciones(); - $respuesta = $obj->epaycoConfirmation($GATEWAY,$validationData,true); - echo $respuesta; - header("HTTP/1.1 " . $respuesta); - exit("Callback completo: " . var_export(200,1)); + echo "
Procesando confirmación...
"; + $respuesta = $obj->epaycoConfirmation($GATEWAY, $validationData); + $returnUrl = $gatewayParams['systemurl'] . 'modules/gateways/epayco/response.php'; + $fullRedirectUrl = $returnUrl . '?ref_payco=' . $_GET['ref_payco']; + echo "
Redirigiendo...
"; + + echo ""; + header("Location: " . $fullRedirectUrl); + } else { + if (!empty(trim($_REQUEST['x_ref_payco']))) { + $validationData = $_REQUEST; + $obj->crearTablaCustomTransacciones(); + $respuesta = $obj->epaycoConfirmation($GATEWAY, $validationData, true); + echo $respuesta; + header("HTTP/1.1 " . $respuesta); + exit("Callback completo: " . var_export(200, 1)); + } } -} \ No newline at end of file From 95ece5783d8faa8fbf00154b4036829ad4c2a889 Mon Sep 17 00:00:00 2001 From: JuanEstebanGarciaV Date: Fri, 20 Feb 2026 11:45:13 -0500 Subject: [PATCH 2/3] redirect green and preproduction --- .../modules/gateways/callback/epayco.php | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/payco_whmcs/modules/gateways/callback/epayco.php b/payco_whmcs/modules/gateways/callback/epayco.php index bac51ab..6e70db8 100644 --- a/payco_whmcs/modules/gateways/callback/epayco.php +++ b/payco_whmcs/modules/gateways/callback/epayco.php @@ -1,4 +1,4 @@ - ERROR: No se pudo obtener respuesta de la API"; - + error_log("EPAYCO CALLBACK: file_get_contents FAILED", 0); logTransaction($gatewayParams['name'], $_GET, 'Ocurrio un error al intentar validar la referencia'); - header("Location: " . $gatewayParams['systemurl']); + exit; } $jsonData = @json_decode($responseData, true); $validationData = $jsonData['data']; $obj->crearTablaCustomTransacciones(); - echo "
Procesando confirmación...
"; $respuesta = $obj->epaycoConfirmation($GATEWAY, $validationData); + $returnUrl = $gatewayParams['systemurl'] . 'modules/gateways/epayco/response.php'; $fullRedirectUrl = $returnUrl . '?ref_payco=' . $_GET['ref_payco']; - echo "
Redirigiendo...
"; - - echo ""; header("Location: " . $fullRedirectUrl); - } else { + exit; + }else { if (!empty(trim($_REQUEST['x_ref_payco']))) { $validationData = $_REQUEST; $obj->crearTablaCustomTransacciones(); @@ -56,4 +52,4 @@ header("HTTP/1.1 " . $respuesta); exit("Callback completo: " . var_export(200, 1)); } - } + } \ No newline at end of file From 78a244fbeff045370e06ea33c062e1bec77e9674 Mon Sep 17 00:00:00 2001 From: JuanEstebanGarciaV Date: Fri, 20 Feb 2026 11:46:32 -0500 Subject: [PATCH 3/3] redirect green and preproduction u --- payco_whmcs/modules/gateways/callback/epayco.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/payco_whmcs/modules/gateways/callback/epayco.php b/payco_whmcs/modules/gateways/callback/epayco.php index 6e70db8..aef864b 100644 --- a/payco_whmcs/modules/gateways/callback/epayco.php +++ b/payco_whmcs/modules/gateways/callback/epayco.php @@ -26,7 +26,7 @@ if (!empty($_GET['ref_payco'])) { - $url = 'https://secure.epayco.co/validation/v1/reference/' . $_GET['ref_payco']; + $url = 'https://eks-checkout-service.epayco.io/validation/v1/reference/' . $_GET['ref_payco']; $responseData = @file_get_contents($url); if ($responseData === false) { error_log("EPAYCO CALLBACK: file_get_contents FAILED", 0);