131 Comprobante de Pago Sistema de Reserva de Citas Medicas con LARAVEL(PHP-MySql) FullStack Parte 2
Duración: 15 min
Módulo: 💵 Pagos, Impresión y Cierre
Lección 9 de
11
Descripción
La Lección 131
Parte 2 de la implementación del Comprobante de Pago, se enfoca en añadir un elemento de seguridad al documento PDF mediante la integración de un Código QR con la información clave de la transacción.
⚙️ Implementación del Código QR de Seguridad
1. Instalación y Configuración [00:00]
El primer paso es incorporar la funcionalidad de generación de códigos QR a Laravel:
- Dependencia: Se instala la librería andreo/laravel-qrcode (mediante Composer) para manejar la generación de códigos QR de forma sencilla [00:00].
- Controlador: En el PagosController, se importan las clases de la librería (QrCode y Image) para poder utilizarlas en el método pdf [00:33].
2. Generación de Datos y Código QR [00:53]
Se define la información que estará contenida en el código de seguridad:
- Payload ($data): Se construye una cadena de texto que incluye los detalles esenciales del pago para que puedan ser verificados al escanear el código. Esta información incluye [01:14]:
- Generación del QR: El código QR se genera a partir de la cadena $data y se codifica como una imagen PNG en formato base64 [03:04]. Este formato permite incrustar directamente la imagen en el HTML (del PDF) sin depender de archivos temporales.
3. Diseño y Posicionamiento en el PDF [03:29]
La parte más compleja es la correcta visualización del QR en el documento:
- Inclusión en la Vista: En la vista pagos/pdf.blade.php, se inserta la imagen del QR directamente en la estructura de la tabla del recibo [03:51].
- Ajustes de Tabla: Para que el código QR (que tiene una forma cuadrada y es voluminoso) se posicione junto a los datos del pago y la fecha, se utiliza el atributo rowspan en la celda del QR [06:24]. Esto permite que el QR ocupe el espacio vertical de varias celdas adyacentes, creando un diseño limpio.
- Dimensiones: El tamaño del código QR se ajusta a 150 píxeles para que encaje de forma elegante en el diseño del comprobante [07:20].
4. Estructura Final del Comprobante [08:33]
Se finaliza el diseño visual del recibo:
- Se identifica claramente la copia como "Comprobante de Pago Original" [08:42].
- Se añade una línea divisoria (mediante guiones en una etiqueta <p>) que servirá para separar las copias del comprobante (Original y Copia) [09:06].
- Se realizan ajustes finales de espaciado y se prepara un espacio en la parte inferior para las futuras firmas de las partes [10:35].
El resultado es un comprobante de pago que incluye todos los detalles de la transacción y un código QR funcional para fines de auditoría y seguridad.
Lecciones
⚙️ Inicio y Estructura Base
👤 CRUD de Usuarios y UX Avanzada
Lección 2. 10 Listado de usuarios del controllador a la vista en el SISTEMA (PHP y MySql)FullStack
9 min
Lección 3. 11 Diseño de tabla con BOOTSTRAP en la vista en el SISTEMA (PHP y MySql) FullStack
12 min
Lección 6. 14 Registro y validación de datos para USUARIOS en el SISTEMA (PHP y MySql)FullStack
16 min
👩💼 Módulo de Secretarias
🤒 Gestión de Pacientes
Lección 4. 38 Como llamar desde un seeder a un factory de pacientes en LARAVEL(PHP-MySql) FullStack
14 min
Lección 8. 42 Show Pacientes en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack
12 min
Lección 9. 43 EDIT Pacientes en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack
14 min
🏥 Infraestructura: Consultorios y Doctores
⏰ Horarios y Lógica de Disponibilidad
Lección 1. 60 Calendario de Atención de Doctores en el sistema con LARAVEL(PHP-MySql) FullStack
14 min
Lección 10. 69 Plantilla Web para el sistema de reserva de citas con LARAVEL(PHP-MySql) FullStack
13 min
🔑 Seguridad, Roles y Permisos
Lección 6. 76 Identificando el ROL de cada Usuario en el Sistema con LARAVEL(PHP-MySql) FullStack
11 min
Lección 8. 78 Mostrar el Menú según los Roles y Permisos en Sistema con LARAVEL(PHP-MySql) FullStack
7 min
Lección 9. 79 Acceso No Autorizado con Roles y Permisos en Sistema con LARAVEL(PHP-MySql) FullStack
14 min
Lección 12. 82 Cargar Horario en la página principal en Sistema con LARAVEL(PHP-MySql) FullStack
16 min
Lección 13. 83 Redirigir a ADMIN desde Login y Register en Sistema con LARAVEL(PHP-MySql) FullStack
12 min
🗓️ Reserva de Citas y FullCalendar
Lección 2. 87 Formulario para Registrar Citas Medicas del Sistema con LARAVEL(PHP-MySql) FullStack
18 min
Lección 3. 88 Guardar Cita Medica en la Base de Datos de Sistema con LARAVEL(PHP-MySql) FullStack
15 min
Lección 9. 94 Cargar Reservas de Citas Medicas con AJAX del Sistema con LARAVEL(PHP-MySql) FullStack
20 min
📝 Historial Clínico, Configuraciones y Reportes
Lección 17. 116 Modificación del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
15 min
Lección 19. 118 Reporte Impreso del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
17 min
Lección 20. 119 Buscar Pacientes del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
17 min
Lección 21. 120 Buscar Pacientes del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
12 min
💵 Pagos, Impresión y Cierre
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️