Cambios para validar cantidad, archivo AbstractOxxoOperationsFacade.php se agregó un cast donde se obtiene la variable ya que daba error

This commit is contained in:
server 2025-01-05 20:25:12 +00:00
parent 3b3cd70ece
commit 00a68dd8f1
5 changed files with 52 additions and 1018 deletions

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
"displayName": "SIIP - Procesador de Pagos en línea con Stripe, Sincronizador de CallBell y Envío de Notificaciones y comprobantes vía WhatsApp",
"description": "Este plugin sincroniza los clientes del sitema UISP CRM con los contactos de WhatsApp en CallBell, además procesa pagos de Stripe como las trasferencias bancarias y genera referencias de pago vía OXXO, además envía comprobantes de pago en formato imagen PNG vía Whatsapp a los clientes",
"url": "https://siip.mx/",
"version": "2.5.1",
"version": "2.5.2",
"unmsVersionCompliancy": {
"min": "2.1.0",
"max": null

View File

@ -102,11 +102,26 @@ abstract class AbstractOxxoOperationsFacade
$clientEmail = 'siip8873@gmail.com ';
}
}
$this->logger->info("Se analizó el email: " . $clientEmail . PHP_EOL);
// Validar y procesar el monto proporcionado
if ($amount !== null) {
if ($amount === null) {
$this->logger->info("Se obtiene el monto de los cargos pendientes del cliente" . PHP_EOL);
try {
// Obtener el monto pendiente del cliente en centavos
$amount = abs($arrayClientCRM['accountOutstanding']);
$this->logger->info("Monto pendiente del cliente (procesado): $amount " . PHP_EOL);
} catch (RequestException $e) {
$this->logger->error('Error al obtener el monto pendiente del cliente: ' . $e->getMessage() . PHP_EOL);
return 'errorobtenermontopendiente'; // Error al obtener el monto pendiente
}
} else {
// Extraer solo dígitos numéricos del monto
$numericAmount = preg_replace('/\D/', '', $amount);
$numericAmount = preg_replace('/\D/', '', (string) $amount); // Cast $amount to string
$this->logger->info("Se extrajeron los digitos" . PHP_EOL);
if (empty($numericAmount)) {
$this->logger->error("Cantidad no válida proporcionada: " . $amount . PHP_EOL);
@ -117,20 +132,10 @@ abstract class AbstractOxxoOperationsFacade
$amount = (int) $numericAmount;
$this->logger->info("Monto proporcionado directamente (procesado): $amount " . PHP_EOL);
} else {
try {
// Obtener el monto pendiente del cliente en centavos
$amount = abs($arrayClientCRM['accountOutstanding']);
$this->logger->info("Monto pendiente del cliente (procesado): $amount " . PHP_EOL);
} catch (RequestException $e) {
$this->logger->error('Error al obtener el monto pendiente del cliente: ' . $e->getMessage() . PHP_EOL);
return 'errorobtenermontopendiente'; // Error al obtener el monto pendiente
}
}
// Validar que el monto sea mayor a 0 antes de proceder
if ($amount > 10) {
if ($amount > 10 && $amount !== null) {
$amount = intval($amount * 100);
try {

View File

@ -136,7 +136,7 @@ class Plugin
// Construir la URL basada en el "client_id"
// $url = "https://siip.mx/wp/wp-content/uploads/img/voucher.png";
if (!empty($event_json->amount )) {
$this->logger->info('Valor del monto: ' . $event_json->amount . PHP_EOL);
$this->logger->info('Referencia persnoalizada, Valor del monto: ' . $event_json->amount . PHP_EOL);
$intentos = 0;
do {
if($intentos>1){
@ -167,7 +167,7 @@ class Plugin
'"url": "' . $url . '"' .
'}';
$this->logger->debug('Este ese el reponse que se envía a CallBell: ' . $response);
$this->logger->debug('Reponse que se envía a CallBell: ' . $response);
// $json_codificado = json_encode($response);
// if (json_last_error() !== JSON_ERROR_NONE) {
// $this->logger->error('Error en la codificación JSON: ' . json_last_error_msg() . PHP_EOL);

View File

@ -5,7 +5,7 @@
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'reference' => '9e78efdf2f231a3ca70be5cac52428f77f1700cf',
'reference' => '3b3cd70eced76670e2aad8fbe97b422f516ab7eb',
'name' => 'ucrm-plugins/sms-twilio',
'dev' => false,
),
@ -307,7 +307,7 @@
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'reference' => '9e78efdf2f231a3ca70be5cac52428f77f1700cf',
'reference' => '3b3cd70eced76670e2aad8fbe97b422f516ab7eb',
'dev_requirement' => false,
),
),