GitHub Repository
Completa el boilerplate de FastAPI + Dodo Payments
Descripción general
La plantilla de FastAPI proporciona un punto de partida listo para producción para integrar Dodo Payments con tu backend de Python. Esta plantilla incluye manejo de sesiones de pago, verificación de webhooks, integración de portal de clientes y patrones de API asíncronos para ayudarte a comenzar a aceptar pagos rápidamente.Este boilerplate utiliza FastAPI con patrones async/await, Pydantic para la validación y el
dodopayments SDK de Python para una integración fluida con la API.Características
- Configuración rápida - Comienza en menos de 5 minutos
- Soporte asíncrono - Construido con los patrones nativos async/await de FastAPI
- Sesiones de pago - Flujo de pago preconfigurado utilizando el SDK de Python
- Manejo de webhooks - Punto final de webhook seguro con verificación de firma
- Portal de clientes - Creación fácil de sesiones del portal de clientes
- Seguridad de tipos - Validación completa de Pydantic y sugerencias de tipo
- Configuración del entorno - Configuración de variables de entorno lista para usar
Requisitos previos
Antes de comenzar, asegúrate de tener:- Python 3.9+ (recomendado: Python 3.11+)
- pip o uv para la gestión de paquetes
- Cuenta de Dodo Payments (para acceder a las claves de API y Webhook desde el panel)
Inicio rápido
Create Virtual Environment
Configura un entorno de Python aislado:O usando uv para una gestión de dependencias más rápida:
Get API Credentials
Regístrate en Dodo Payments y obtén tus credenciales desde el panel:
- Clave de API: Panel → Desarrollador → Claves de API
- Clave de Webhook: Panel → Desarrollador → Webhooks
Configure Environment Variables
Crea un archivo Actualiza los valores con tus credenciales de Dodo Payments:
.env en el directorio raíz:.env
Run the Development Server
Deberías ver la interfaz Swagger UI de FastAPI con todos los endpoints disponibles listos para probar.
Estructura del Proyecto
Puntos finales de la API
La plantilla incluye los siguientes puntos finales preconfigurados:| Endpoint | Método | Descripción |
|---|---|---|
/checkout | POST | Crear una nueva sesión de pago |
/webhook | POST | Procesar webhooks de Dodo Payments |
/customer-portal | POST | Generar URL del portal del cliente |
Ejemplos de Código
Creando una Sesión de Pago
Manejo de Webhooks
Integración del Portal de Clientes
Eventos de Webhook
La plantilla demuestra el manejo de eventos comunes de webhook:| Evento | Descripción |
|---|---|
payment.succeeded | Pago completado con éxito |
payment.failed | Intento de pago fallido |
subscription.active | La suscripción está activa ahora |
subscription.cancelled | La suscripción fue cancelada |
refund.succeeded | Reembolso procesado con éxito |
- Actualizar permisos de usuario en tu base de datos
- Enviar correos electrónicos de confirmación
- Proveer acceso a productos digitales
- Rastrear análisis y métricas
Pruebas de Webhooks Localmente
Para el desarrollo local, utiliza herramientas como ngrok para exponer tu servidor local:Despliegue
Docker
Consideraciones de Producción
Solución de Problemas
Import errors or missing modules
Import errors or missing modules
Asegúrate de que tu entorno virtual esté activado y que las dependencias estén instaladas:
Checkout session creation fails
Checkout session creation fails
Causas comunes:
- ID de producto inválido: verifica que exista en tu panel de Dodo
- Clave de API o configuración de entorno incorrecta en
.env - Revisa los registros de FastAPI para obtener mensajes de error detallados
Webhooks not receiving events
Webhooks not receiving events
Para pruebas locales, usa ngrok para exponer tu servidor:Actualiza la URL del webhook en tu panel de Dodo a la URL de ngrok. Asegúrate de actualizar tu archivo
.env con la clave correcta de verificación del webhook.Webhook signature verification fails
Webhook signature verification fails
- Asegúrate de que
DODO_PAYMENTS_WEBHOOK_KEYesté configurado correctamente en tu.env - Verifica que estés usando el cuerpo de solicitud sin procesar para la verificación de la firma
- Comprueba que estés leyendo correctamente el encabezado
webhook-signature
Aprende Más
Python SDK
Documentación completa del SDK de Python con soporte async
Webhooks Documentation
Aprende sobre todos los eventos de webhook y las mejores prácticas
Checkout Sessions
Profundiza en la configuración de sesiones de pago
API Reference
Documentación completa de la API de Dodo Payments
Soporte
¿Necesitas ayuda con la plantilla?- Únete a nuestra comunidad de Discord para preguntas y discusiones
- Revisa el repositorio de GitHub para problemas y actualizaciones
- Contacta a nuestro equipo de soporte para asistencia