/
home
/
suroeste
/
public_html
/
payments.transportessuroeste.com
/
docs
/
/home/suroeste/public_html/payments.transportessuroeste.com/docs
mkdir
upload
Name
Size
Mode
Actions
DIAGRAMAS.html
27426
0644
edit
dl
rm
DOCUMENTACION.html
16050
0644
edit
dl
rm
DOCUMENTACION_FUNCIONAL.md
34232
0644
edit
dl
rm
Edit:
/home/suroeste/public_html/payments.transportessuroeste.com/docs/DIAGRAMAS.html
(27426B)
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Diagrama de Flujo - API Transportes Suroeste</title> <style> body { font-family: Arial, sans-serif; background: #f5f5f5; padding: 20px; } .container { max-width: 1000px; margin: 0 auto; background: white; padding: 30px; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); } h1 { color: #1e40af; text-align: center; } h2 { color: #333; margin-top: 30px; } .diagram { background: #fafafa; padding: 20px; border-radius: 8px; margin: 20px 0; overflow-x: auto; } pre { font-family: monospace; line-height: 1.4; } </style> </head> <body> <div class="container"> <h1>π Transportes Suroeste - Diagramas de Flujo</h1> <h2>1. Diagrama de Secuencia - Flujo de Pago</h2> <div class="diagram"> <pre> βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β Sistema de β β API Gateway β β ePayco β β Banco β β Tickets β β (Este Sistema) β β β β β ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ β β β β β 1. POST /payments β β β β (ticket_ref, amount) β β β βββββββββββββββββββββββ>β β β β β β β β β 2. Validar request β β β β Crear transacciΓ³n β β β β Cifrar datos β β β β β β β 3. Response β β β β {transaction_uuid, β β β β payment_url} β β β β<βββββββββββββββββββββββ β β β β β β β 4. Usuario va a β β β β payment_url β β β β β β β β β 5. Tokenizar tarjeta β β β βββββββββββββββββββββββ>β β β β β β β β 6. Token response β β β β<βββββββββββββββββββββββ β β β β β β β 7. Procesar pago β β β βββββββββββββββββββββββ>β β β β β 8. Autorizar β β β βββββββββββββββββββββββ>β β β β β β β β 9. Respuesta β β β β<βββββββββββββββββββββββ β β β β β β 10. Resultado pago β β β β<βββββββββββββββββββββββ β β β β β β β 11. Actualizar BD β β β β Log auditorΓa β β β β β β β 12. Webhook β β β β {status: approved} β β β β<βββββββββββββββββββββββ β β β β β β β 13. Confirmar ticket β β β β Enviar email β β β β β β β </pre> </div> <h2>2. Diagrama de Estados de TransacciΓ³n</h2> <div class="diagram"> <pre> βββββββββββββββ β INICIO β ββββββββ¬βββββββ β βΌ βββββββββββββββ βββββββ PENDING βββββββ β ββββββββ¬βββββββ β β β β Timeout Procesar Cancelar β β β βΌ βΌ βΌ βββββββββββ βββββββββββββββ βββββββββββ β EXPIRED β β PROCESSING β βCANCELLEDβ βββββββββββ ββββββββ¬βββββββ βββββββββββ β ββββββββββββββΌβββββββββββββ β β β Aprobado Rechazado Error β β β βΌ βΌ βΌ ββββββββββββ ββββββββββββ ββββββββββ β APPROVED β β REJECTED β β FAILED β ββββββ¬ββββββ ββββββββββββ ββββββββββ β Reembolso β βΌ ββββββββββββ β REFUNDED β ββββββββββββ </pre> </div> <h2>3. Diagrama de Arquitectura</h2> <div class="diagram"> <pre> ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β CAPA DE PRESENTACIΓN β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β public/index.php β β β β (Router + Manejo de errores) β β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β βΌ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β CAPA DE MIDDLEWARE β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ ββββββββββββββββββββ β β β Security β β RateLimiter β β Auth β β Input Validator β β β β Middleware β β β β Middleware β β β β β β - Headers β β - Anti-DDoS β β - API Key β β - SanitizaciΓ³n β β β β - HTTPS β β - IP Block β β - HMAC β β - ValidaciΓ³n β β β β - XSS/SQLi β β β β - Timestamp β β β β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ ββββββββββββββββββββ β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β βΌ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β CAPA DE CONTROLADORES β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β ApiController β β β β - createPayment() - processPayment() - getPayment() β β β β - getPaymentByTicket() - handleCallback() - healthCheck() β β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β βΌ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β CAPA DE SERVICIOS β β ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββββββββββ β β β PaymentService β β EncryptionServiceβ β LogService β β β β - createPayment β β - encrypt/decryptβ β - transaction() β β β β - processCard β β - hashPassword β β - security() β β β β - callback β β - sign/verify β β - audit() β β β β - getStatus β β - generateUuid β β - access() β β β ββββββββββ¬ββββββββββ ββββββββββββββββββββ ββββββββββββββββββββββββββββ β β β β β βΌ β β ββββββββββββββββββββ β β β ePayco SDK β β β β - token.create β β β β - charge.create β β β β - customer.createβ β β ββββββββββββββββββββ β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β βΌ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β CAPA DE DATOS β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β Database (PDO) β β β β Prepared Statements - PrevenciΓ³n SQL Injection β β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β β βΌ β β βββββββββββββ βββββββββββββ βββββββββββββ βββββββββββββ βββββββββββββββββ β β βapi_clientsβ βtransactionsβ βaudit_trailβ β security β βrate_limit β β β β β β β β β β _events β β_tracking β β β βββββββββββββ βββββββββββββ βββββββββββββ βββββββββββββ βββββββββββββββββ β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ </pre> </div> <h2>4. Diagrama de Casos de Uso</h2> <div class="diagram"> <pre> βββββββββββββββββββββββββββββββββββββββββββ β Sistema de Pagos β β Transportes Suroeste β βββββββββββββββββββββββββββββββββββββββββββ ββββββββββββ ββββββββββββ β Sistema β β Admin β β Tickets β β Sistema β ββββββ¬ββββββ ββββββ¬ββββββ β β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β ββββ UC1: Crear TransacciΓ³n de Pago β β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β ββββ UC2: Consultar Estado de TransacciΓ³n β β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β ββββ UC3: Consultar por Referencia de Ticket β β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β ββββ UC4: Recibir NotificaciΓ³n Webhook βββββ€ β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β UC5: Verificar Estado del Servicio (Health) βββββ€ β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β UC6: Gestionar Clientes API βββββ€ β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β UC7: Consultar Logs de AuditorΓa βββββ€ β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β UC8: Generar Reportes de ConciliaciΓ³n βββββ€ β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β β ββββββ΄ββββββ ββββββ΄ββββββ β ePayco β β Banco β β β β β ββββββββββββ ββββββββββββ ACTORES: βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β’ Sistema de Tickets: Sistema externo que vende los boletos de autobΓΊs β’ Admin Sistema: Administrador de la pasarela de pagos β’ ePayco: Proveedor de servicios de pago β’ Banco: Entidad financiera que procesa la transacciΓ³n </pre> </div> <h2>5. Flujo de Datos Sensibles (Cifrado)</h2> <div class="diagram"> <pre> βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β FLUJO DE DATOS SENSIBLES β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ENTRADA PROCESO ALMACENAMIENTO βββββββ βββββββ ββββββββββββββ ββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ β payer_email β ββββββ> β AES-256-GCM β ββββββ> β Campo cifrado β β (texto plano)β β + HMAC-SHA512 β β en BD β ββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ β payer_doc β ββββββ> β AES-256-GCM β ββββββ> β Campo cifrado β β (texto plano)β β + HMAC-SHA512 β β en BD β ββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ β payer_name β ββββββ> β AES-256-GCM β ββββββ> β Campo cifrado β β (texto plano)β β + HMAC-SHA512 β β en BD β ββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ β card_number β ββββββ> β ePayco Token β ββββββ> β Solo ΓΊltimos 4 β β (texto plano)β β (nunca se β β dΓgitos en BD β ββββββββββββββββ β almacena) β ββββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ β api_secret β ββββββ> β Argon2id β ββββββ> β Hash en BD β β (texto plano)β β (one-way hash)β β (irreversible) β ββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ ALGORITMOS UTILIZADOS: βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β’ Cifrado simΓ©trico: AES-256-GCM (autenticado) β’ Integridad: HMAC-SHA512 β’ Hash de contraseΓ±as: Argon2id (memory-hard) β’ Firmas: HMAC-SHA512 β’ GeneraciΓ³n de claves: random_bytes() (CSPRNG) </pre> </div> </div> </body> </html>
Save
cmd:
run