Nuevas Características: • Visualizador de pagos mensuales con gráfica de dona (Chart.js) • Tarjetas estadísticas: clientes activos, pagados y pendientes • Tabla de clientes pendientes con saldos en tiempo real • Microservicio Node.js para metadata de Stripe (acceso directo a BD) Mejoras: • Fix crítico: Sincronización automática de saldo en CallBell al agregar facturas • Categorización mejorada de pagos OXXO y Transferencias Stripe • Normalización de valores: "OXXO" → "OXXO Pay" para evitar errores 422 • Configuración .env para credenciales de base de datos Correcciones: • Saldo y estado ahora se actualizan correctamente en CallBell • Fix networking Docker (ECONNREFUSED resuelto) • Fix validación de atributos en API de UCRM • Actualización automática de userId en pagos Stripe Archivos principales: public.php (visualizador de pagos) AbstractMessageNotifierFacade.php (logging sync) ClientCallBellAPI.php (comparación de campos) AbstractStripeOperationsFacade.php (normalización) manifest.json, README.md, CHANGELOG.md (docs)
34 lines
973 B
PHP
34 lines
973 B
PHP
<?php
|
|
chdir(__DIR__);
|
|
require_once 'vendor/autoload.php';
|
|
|
|
use Ubnt\UcrmPluginSdk\Service\UcrmApi;
|
|
use Ubnt\UcrmPluginSdk\Service\PluginConfigManager;
|
|
|
|
$ucrmConfig = json_decode(file_get_contents('ucrm.json'), true);
|
|
$ucrmUrl = $ucrmConfig['ucrmLocalUrl'] ?? 'http://localhost';
|
|
$appKey = $ucrmConfig['pluginAppKey'];
|
|
|
|
$client = new \GuzzleHttp\Client([
|
|
'base_uri' => rtrim($ucrmUrl, '/') . '/api/v1.0/',
|
|
'verify' => false,
|
|
'headers' => [
|
|
'X-Auth-App-Key' => $appKey
|
|
]
|
|
]);
|
|
|
|
try {
|
|
$response = $client->get('custom-attributes');
|
|
$attributes = json_decode($response->getBody(), true);
|
|
|
|
foreach ($attributes as $attr) {
|
|
if ($attr['key'] === 'tipoPagoStripe') {
|
|
echo "FOUND: ID=" . $attr['id'] . " Name='" . $attr['name'] . "' Type=" . $attr['attributeType'] . "\n";
|
|
exit(0);
|
|
}
|
|
}
|
|
echo "NOT FOUND: tipoPagoStripe\n";
|
|
} catch (\Exception $e) {
|
|
echo "ERROR: " . $e->getMessage() . "\n";
|
|
}
|