fetch( 'SELECT id, pago_estado FROM lab_domicilios WHERE id = ?', [$domId] ); if (!$exist) jsonError("Domicilio #$domId no encontrado"); $campos = [ 'pago_estado' => $estado, 'pago_modo' => ($estado === 'pagado') ? ($datos['pago_modo'] ?? null) : null, 'pago_monto' => ($estado === 'pagado') ? ((float)$datos['pago_monto']) : null, 'pago_fecha' => ($estado === 'pagado') ? date('Y-m-d H:i:s') : null, 'pago_notas' => !empty($datos['pago_notas']) ? trim($datos['pago_notas']) : null, 'pago_registrado_por' => $adminId, ]; $dom->actualizar($domId, $campos, $adminId); jsonOk([ 'domicilio_id' => $domId, 'pago_estado' => $estado, ], 'Pago registrado correctamente'); } catch (InvalidArgumentException $e) { jsonError($e->getMessage()); } catch (Exception $e) { jsonError($e->getMessage(), 500); }