Saltar al contenido principal

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

1

Clone the Repository

2

Create Virtual Environment

Configura un entorno de Python aislado:
O usando uv para una gestión de dependencias más rápida:
3

Install Dependencies

O con uv:
4

Get API Credentials

Regístrate en Dodo Payments y obtén tus credenciales desde el panel:
¡Asegúrate de estar en Modo de Prueba mientras desarrollas!
5

Configure Environment Variables

Crea un archivo .env en el directorio raíz:
Actualiza los valores con tus credenciales de Dodo Payments:
.env
Nunca subas tu archivo .env al control de versiones. Ya está incluido en .gitignore.
6

Run the Development Server

Abre http://localhost:8000/docs para ver la documentación interactiva de la API!
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:

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: Agrega tu lógica de negocio dentro del manejador de webhook para:
  • 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:
Actualiza la URL del webhook en tu Panel de Dodo Payments:

Despliegue

Docker

Construir y ejecutar:

Consideraciones de Producción

Antes de desplegar en producción:
  • Cambia DODO_PAYMENTS_ENVIRONMENT a live_mode
  • Usa claves de API de producción del panel
  • Actualiza la URL del webhook a tu dominio de producción
  • Habilita HTTPS para todos los endpoints

Solución de Problemas

Asegúrate de que tu entorno virtual esté activado y que las dependencias estén instaladas:
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
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.
  • Asegúrate de que DODO_PAYMENTS_WEBHOOK_KEY esté 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?
Última modificación el 9 de junio de 2026