Descripción General
La plantilla mínima de Astro proporciona un punto de partida listo para usar para integrar Dodo Payments con tu aplicación Astro. Esta plantilla incluye sesiones de pago, manejo de webhooks, portal de clientes y componentes de UI modernos para ayudarte a comenzar a aceptar pagos rápidamente.Esta plantilla utiliza Astro 5 con TypeScript, Tailwind CSS 4 y el
@dodopayments/astro adaptador.Características
- Configuración Rápida - Comienza en menos de 5 minutos
- Integración de Pagos - Flujo de pago preconfigurado usando
@dodopayments/astro - UI Moderna - Página de precios limpia y con tema oscuro usando Tailwind CSS
- Manejador de Webhooks - Endpoint de webhook listo para usar para eventos de pago
- Portal de Clientes - Gestión de suscripciones con un solo clic
- TypeScript - Totalmente tipado con tipos mínimos y enfocados
- Checkout Pre-llenado - Demuestra cómo pasar datos del cliente para mejorar la experiencia de usuario
Requisitos Previos
Antes de comenzar, asegúrate de tener:- Versión LTS de Node.js (requerido para Astro 5)
- Cuenta de Dodo Payments (para acceder a las claves de API y Webhook desde el panel de control)
Inicio Rápido
1
Clona el Repositorio
2
Instala Dependencias
3
Obtén Credenciales de API
Regístrate en Dodo Payments y obtén tus credenciales desde el panel de control:
- Clave de API: Panel → Desarrollador → Claves de API
- Clave de Webhook: Panel → Desarrollador → Webhooks
4
Configura Variables de Entorno
Crea un archivo Actualiza los valores con tus credenciales de Dodo Payments:
.env en el directorio raíz:5
Agrega Tus Productos
Actualiza
src/lib/products.ts con tus IDs de producto reales de Dodo Payments:6
Ejecuta el Servidor de Desarrollo
Estructura del Proyecto
Personalización
Actualiza la Información del Producto
Editasrc/lib/products.ts para modificar:
- IDs de producto (desde tu panel de Dodo)
- Precios
- Características
- Descripciones
Pre-llenar Datos del Cliente
Ensrc/components/ProductCard.astro, reemplaza los valores codificados con los datos reales de tu usuario:
Actualiza el Portal de Clientes
Ensrc/components/Header.astro, reemplaza el ID de cliente codificado con el ID de cliente real de tu sistema de autenticación o base de datos:
Eventos de Webhook
La plantilla demuestra cómo manejar eventos de webhook ensrc/pages/api/webhook.ts:
onSubscriptionActive- Se activa cuando una suscripción se vuelve activaonSubscriptionCancelled- Se activa cuando una suscripción es cancelada
Despliegue
Esta plantilla utiliza salida estática con renderizado bajo demanda para rutas de API. Necesitarás instalar un adaptador para tu plataforma de despliegue:| Plataforma | Guía |
|---|---|
| Vercel | Desplegar en Vercel |
| Netlify | Desplegar en Netlify |
| Cloudflare | Desplegar en Cloudflare |
Actualiza la URL de Webhook
Después de desplegar, actualiza tu URL de webhook en el Panel de Dodo Payments:DODO_PAYMENTS_WEBHOOK_KEY en tu entorno de producción para que coincida con la clave de firma de webhook para tu dominio desplegado.
Solución de Problemas
Módulo no encontrado o errores de construcción
Módulo no encontrado o errores de construcción
Elimina
node_modules y reinstala las dependencias:La redirección de checkout falla
La redirección de checkout falla
Causas comunes:
- ID de producto inválido - verifica que exista en tu panel de Dodo
- Clave de API incorrecta o configuración de entorno en
.env - Revisa la consola del navegador y la terminal en busca de errores
Webhooks no reciben eventos
Webhooks no reciben eventos
Para pruebas locales, usa ngrok para exponer tu servidor:Actualiza la URL de webhook en tu panel de Dodo a la URL de ngrok. Recuerda actualizar tu archivo .env con la clave de verificación de webhook correcta.
El enlace del portal de clientes no funciona
El enlace del portal de clientes no funciona
Reemplaza el
CUSTOMER_ID codificado en src/components/Header.astro con un ID de cliente real de tu panel de Dodo.O integra tu sistema de autenticación y base de datos para obtener el ID de cliente dinámicamente.La construcción falla con error de adaptador
La construcción falla con error de adaptador
Esta plantilla utiliza salida estática con rutas de API bajo demanda. Necesitas instalar un adaptador para el despliegue:Consulta las guías de despliegue de Astro para más detalles.
Aprende Más
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