Update modules/gateways/hutko/hutko_helper.php

This commit is contained in:
2026-01-24 14:31:19 +02:00
parent 2f31569f2b
commit 2ea9bbc82b

View File

@@ -265,6 +265,7 @@ class Hutko_Helper
} }
/** /**
* Builds a base64 encoded JSON string containing reservation-related data. * Builds a base64 encoded JSON string containing reservation-related data.
* *
@@ -279,22 +280,33 @@ class Hutko_Helper
{ {
// 3. Construct the data array. // 3. Construct the data array.
$data = [
$phone = isset($params['clientdetails']['phonenumber']) ? $params['clientdetails']['phonenumber'] : '';
$addr1 = isset($params['clientdetails']['address1']) ? $params['clientdetails']['address1'] : '';
$country = isset($params['clientdetails']['country']) ? $params['clientdetails']['country'] : '';
$state = isset($params['clientdetails']['state']) ? $params['clientdetails']['state'] : '';
$city = isset($params['clientdetails']['city']) ? $params['clientdetails']['city'] : '';
$zip = isset($params['clientdetails']['postcode']) ? $params['clientdetails']['postcode'] : '';
$last = isset($params['clientdetails']['lastname']) ? $params['clientdetails']['lastname'] : '';
$first = isset($params['clientdetails']['firstname']) ? $params['clientdetails']['firstname'] : '';
$email = isset($params['clientdetails']['email']) ? $params['clientdetails']['email'] : '';
$data = array(
"cms_name" => "WHMCS", "cms_name" => "WHMCS",
"cms_version" => $params['whmcsVersion'], "cms_version" => $params['whmcsVersion'],
"shop_domain" => $params['systemurl'], "shop_domain" => $params['systemurl'],
"phonemobile" => $params['clientdetails']['phonenumber'], "phonemobile" => $phone,
"customer_address" => self::getSlug($params['clientdetails']['address1']), "customer_address" => self::getSlug($addr1),
"customer_country" => self::getSlug($params['clientdetails']['country']), "customer_country" => self::getSlug($country),
"customer_state" => self::getSlug($params['clientdetails']['state']), "customer_state" => self::getSlug($state),
"customer_name" => self::getSlug($params['clientdetails']['lastname'] . ' ' . $params['clientdetails']['firstname']), "customer_name" => self::getSlug($last . ' ' . $first),
"customer_city" => self::getSlug($params['clientdetails']['city']), "customer_city" => self::getSlug($city),
"customer_zip" => $params['clientdetails']['postcode'], "customer_zip" => $zip,
"account" => $params['clientdetails']['email'], "account" => $email,
"uuid" => hash('sha256', $params['clientdetails']['email'] . '|' . $params['systemurl']), "uuid" => hash('sha256', $email . '|' . $params['systemurl']),
]; );
return base64_encode(json_encode($data));
return base64_encode(json_encode($data)); return base64_encode(json_encode($data));
@@ -319,8 +331,9 @@ class Hutko_Helper
// Assuming validateResponse returns true on success, or a string error message on failure. // Assuming validateResponse returns true on success, or a string error message on failure.
$isSignatureValid = self::validateResponse($calbackContent, $gatewayParams); $isSignatureValid = self::validateResponse($calbackContent, $gatewayParams);
if ($isSignatureValid !== true) { if ($isSignatureValid !== true) {
\logTransaction($gatewayParams['name'] . ' [callback]', $calbackContent, 'Invalid hutko signature'); if (function_exists('logTransaction')) {
logTransaction($gatewayParams['name'] . ' [callback]', $calbackContent, 'Invalid hutko signature');
}
throw new Exception('Invalid hutko signature'); throw new Exception('Invalid hutko signature');
} }