#Estoy desarrollando una API en Django
1 messages · Page 1 of 1 (latest)
Me he encontrado con muchas dudas implícitas que tienen que ver con arquitectura y buenas prácticas, más allá del simple consumo de la API. Algunas de ellas son:
• ¿Dónde debería estar la frontera entre la lógica de negocio y la lógica de integración con Stripe?
• ¿Qué información tiene sentido que persista en mi base de datos y cuál debería quedar solo en Stripe?
• ¿Cómo debería modelar mis recursos (clientes, pagos, productos) sin depender de los modelos de Stripe directamente? o si???
• ¿Cuál es la forma correcta de manejar los webhooks, sus validaciones y errores en producción? (con la asincronia)
• ¿Cómo se suelen diseñar sistemas reales de pagos cuando ya no hablamos de una compra puntual, sino de flujos más ágiles, frecuentes y críticos?
La mayoría de los tutoriales que he encontrado (incluso en inglés) explican lo básico: cómo crear un pago, redirigir al checkout y recibir una confirmación. Pero estoy buscando recursos que profundicen en casos más complejos y realistas. Me interesa ver cómo se maneja Stripe en aplicaciones reales, que tienen que ser robustas, seguras y desacopladas, no solo proyectos de prueba o ejemplos escolares.
¿Conocen algún video, artículo, guía, repositorio o documentación más avanzada que aborde esto desde una perspectiva más profesional y enfocada en Django? ¿Alguien que haya pasado por este tipo de desafíos tiene recomendaciones sobre cómo reorganizar este tipo de integraciones para que escalen bien?
épale, Fernando, lo que mencionas abarcas bastantes temas e intentar resolverlos puede resultar todo un reto, más cuando la logica y la API que estas usando se terminan entrelazando
Lo que te puedo decir y que funciona en la mayoria de contextos es:
- separar la logica de negocio con la integracion de Stripe. Lo ideal es encapsular la lógica de pagos en servicios independientes, evitando que se mezcle con la lógica de negocio principal.
- La persistencia de dados depende de cuanta información necesites realmente. Puedes guardar en tu base de datos las referencias a los pagos (ID de Stripe, estado, cliente) y usar la API de Stripe para verificar estados
- Sobre los webhooks en Django existen varias soluciones y faciles de implementar, uno que me encanta es Celery que permite ejecutar "tareas" de forma asincrona sin que tu aplicacion principal se detenga, realmente es muy bueno y tiene ejemplos oficiales para intregrarse con Django. Pero ten en cuenta que aqui es fundamentar validar los datos antes de procesar una tarea con Celery y evitar procesar tareas innecesarias o procesar datos manipulados