Skip to main content

Checkout Handler

Integra el checkout de Dodo Payments en tu aplicación Astro.

Customer Portal

Permite a los clientes gestionar sus suscripciones y datos.

Webhooks

Recibe y procesa eventos de webhook de Dodo Payments.

Instalación

1

Install the package

Ejecuta el siguiente comando en la raíz de tu proyecto:
2

Set up environment variables

Crea un archivo .env en la raíz de tu proyecto:
Nunca confirmes tu archivo .env ni tus secretos en el control de versiones.

Ejemplos de Route Handler

Todos los ejemplos asumen que utilizas Astro App Router.
Utiliza este handler para integrar el checkout de Dodo Payments en tu aplicación Astro. Admite flujos de pago estáticos (GET), dinámicos (POST) y de sesión (POST).

Route Handler de checkout

Dodo Payments admite tres tipos de flujos de pago para integrar pagos en tu sitio web; este adaptador admite todos los tipos de flujos de pago.
  • Enlaces de pago estáticos: URL que se pueden compartir al instante para recopilar pagos rápidamente y sin código.
  • Enlaces de pago dinámicos: Genera enlaces de pago mediante programación con datos personalizados usando la API o los SDK.
  • Sesiones de checkout: Crea experiencias de checkout seguras y personalizables con carritos de productos preconfigurados y datos del cliente.

Parámetros de consulta compatibles

string
requerido
Identificador del producto (por ejemplo, ?productId=pdt_nZuwz45WAs64n3l07zpQR).
integer
Cantidad del producto.
string
Nombre completo del cliente.
string
Nombre del cliente.
string
Apellido del cliente.
string
Dirección de correo electrónico del cliente.
string
País del cliente.
string
Línea de dirección del cliente.
string
Ciudad del cliente.
string
Estado o provincia del cliente.
string
Código postal del cliente.
boolean
Desactivar el campo de nombre completo.
boolean
Desactivar el campo de nombre.
boolean
Desactivar el campo de apellido.
boolean
Desactivar el campo de correo electrónico.
boolean
Desactivar el campo de país.
boolean
Desactivar la línea de dirección.
boolean
Desactivar el campo de ciudad.
boolean
Desactivar el campo de estado.
boolean
Desactivar el campo de código postal.
string
Especificar la moneda de pago (por ejemplo, USD).
boolean
Mostrar el selector de moneda.
integer
Especificar el importe del pago (por ejemplo, 1000 para $10.00).
boolean
Mostrar los campos de descuento.
string
Cualquier parámetro de consulta que comience por metadata_ se pasará como metadata.
Si falta productId, el handler devuelve una respuesta 400. Los parámetros de consulta no válidos también generan una respuesta 400.

Formato de respuesta

El checkout estático devuelve una respuesta JSON con la URL del checkout:

Formato de respuesta

El checkout dinámico devuelve una respuesta JSON con la URL del checkout:
Las sesiones de checkout proporcionan una experiencia de checkout alojada y más segura que gestiona el flujo de pago completo, tanto para compras únicas como para suscripciones, con control total de personalización.Consulta la guía de integración de Checkout Sessions para obtener más detalles y la lista completa de campos compatibles.

Formato de respuesta

Las sesiones de checkout devuelven una respuesta JSON con la URL del checkout:

Route Handler de Customer Portal

El Route Handler de Customer Portal te permite integrar sin problemas el portal de clientes de Dodo Payments en tu aplicación Astro.

Parámetros de consulta

string
requerido
El ID del cliente para la sesión del portal (por ejemplo, ?customer_id=cus_123).
boolean
Si se establece en true, envía al cliente un correo electrónico con el enlace al portal.
Devuelve 400 si falta customer_id.

Webhook Route Handler

  • Método: Solo se admiten solicitudes POST. Los demás métodos devuelven 405.
  • Verificación de firma: Verifica la firma del webhook usando webhookKey. Devuelve 401 si la verificación falla.
  • Validación del payload: Se valida con Zod. Devuelve 400 para payloads no válidos.
  • Gestión de errores:
    • 401: Firma no válida
    • 400: Payload no válido
    • 500: Error interno durante la verificación
  • Enrutamiento de eventos: Llama al event handler correspondiente según el tipo de payload.

Event Handlers de webhook compatibles


Prompt para LLM

Última modificación el 31 de julio de 2026