> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK de Facturación

> Infraestructura de facturación completa para aplicaciones web modernas con componentes de React, herramientas de CLI e integración de pila completa

<Frame>
  <iframe className="w-full aspect-video rounded-md" src="https://www.youtube.com/embed/32RVbEllEi0" title="Billing SDK | Dodo Payments" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />
</Frame>

El SDK de Facturación es una solución integral de código abierto que proporciona una infraestructura de facturación completa para aplicaciones web modernas. Incluye componentes de React, herramientas de CLI y soporte de integración de pila completa para múltiples frameworks con Dodo Payments.

## Descripción General

El SDK de Facturación ofrece:

* **Componentes de React**: Componentes de facturación preconstruidos y personalizables para aplicaciones de React
* **Herramientas de CLI**: Interfaz de línea de comandos para la inicialización de proyectos y gestión de componentes
* **Soporte de Frameworks**: Integración con Next.js, Express.js, Hono, Fastify y React
* **Proveedor de Pagos**: Integración completa con Dodo Payments

## Inicio Rápido

Comienza con el SDK de Facturación en minutos:

<Steps>
  <Step title="Install the CLI">
    Usa npx para ejecutar la CLI sin instalarla:

    ```bash theme={null}
    npx @billingsdk/cli --help
    ```

    O instálala globalmente para un uso frecuente:

    ```bash theme={null}
    npm install -g @billingsdk/cli
    ```
  </Step>

  <Step title="Initialize a Project">
    Ejecuta la configuración interactiva para crear un nuevo proyecto de facturación:

    ```bash theme={null}
    npx @billingsdk/cli init
    ```

    Se te pedirá que selecciones:

    * Tu framework preferido (Next.js, Express.js, Hono, Fastify, React)
    * Tu proveedor de pagos (Dodo Payments)
  </Step>

  <Step title="Add Components">
    Añade componentes de facturación individuales a tu proyecto:

    ```bash theme={null}
    npx @billingsdk/cli add pricing-table-one
    npx @billingsdk/cli add subscription-management
    ```
  </Step>
</Steps>

## Frameworks Soportados

El SDK de Facturación soporta múltiples frameworks con integración completa de Dodo Payments:

| Framework  | Dodo Payments |
| ---------- | ------------- |
| Next.js    | ✅ Sí          |
| Express.js | ✅ Sí          |
| Hono       | ✅ Sí          |
| React      | ✅ Sí          |
| Fastify    | ✅ Sí          |

## Comandos de CLI

### `@billingsdk/cli init`

Inicializa un nuevo proyecto de facturación con configuración completa, incluyendo configuración de framework, integración de Dodo Payments y dependencias esenciales.

**Qué hace:**

1. **Selección de Framework**: Elige tu framework preferido
2. **Instalación de Plantillas**: Descarga e instala plantillas específicas del framework con integración de Dodo Payments
3. **Gestión de Dependencias**: Instala automáticamente las dependencias requeridas
4. **Generación de Archivos**: Crea los archivos de configuración necesarios y el código base

**Ejemplo:**

```bash theme={null}
npx @billingsdk/cli init
```

### `@billingsdk/cli add`

Agrega componentes de facturación individuales a tu proyecto existente utilizando el sistema de registro shadcn/ui.

**Ejemplos:**

```bash theme={null}
# Add a pricing table
npx @billingsdk/cli add pricing-table-one

# Add subscription management
npx @billingsdk/cli add subscription-management

# Add usage monitoring
npx @billingsdk/cli add usage-meter-circle
```

**Qué sucede:**

1. Descarga la configuración del componente desde el registro
2. Instala los archivos del componente en tu `components/billingsdk/` directorio
3. Actualiza la configuración de tu proyecto si es necesario
4. Instala cualquier dependencia adicional

## Estructura de Archivos Generados

Después de ejecutar `init`, obtendrás una estructura de proyecto completa con:

* **Rutas API**: Puntos finales completos para checkout, clientes, productos, suscripciones y webhooks
* **Hooks**: Hooks de React para operaciones de facturación (si usas React/Next.js)
* **Archivos de Biblioteca**: Inicialización del cliente del proveedor de pagos y utilidades
* **Configuración del Entorno**: Archivos de variables de entorno de ejemplo

### Estructura de Ejemplo de Next.js

```
your-project/
├── app/api/
│   └── (dodopayments)/
│       ├── checkout/route.ts
│       ├── customer/route.ts
│       ├── customer/payments/route.ts
│       ├── customer/subscriptions/route.ts
│       ├── product/route.ts
│       ├── products/route.ts
│       └── webhook/route.ts
├── hooks/
│   └── useBilling.ts
├── lib/
│   └── dodopayments.ts
└── .env.example
```

## Configuración del Entorno

Configura tus variables de entorno después de la inicialización:

```bash theme={null}
# DodoPayments
DODO_PAYMENTS_API_KEY=your_api_key_here
DODO_PAYMENTS_ENVIRONMENT=test_mode
DODO_PAYMENTS_WEBHOOK_KEY=your_webhook_key_here

# App URL
NEXT_PUBLIC_APP_URL=http://localhost:3000
```

<Warning>
  Guarda siempre tus claves de API de forma segura usando variables de entorno. Nunca las incluyas en el control de versiones.
</Warning>

## Componentes Disponibles

El SDK de Facturación proporciona una colección completa de componentes de React:

* **Tablas de Precios**: Múltiples variantes para mostrar precios de productos
* **Gestión de Suscripciones**: Componentes para gestionar suscripciones de clientes
* **Monitoreo de Uso**: Componentes visuales para rastrear la facturación basada en el uso
* **Componentes de Checkout**: Flujos de checkout preconstruidos
* **Portal del Cliente**: Componentes para autoservicio del cliente

## Código Abierto

El SDK de Facturación se basa en principios de código abierto:

* 🔍 **Transparencia**: Visibilidad total sobre cómo funcionan los componentes
* 🤝 **Comunidad**: Construido por desarrolladores, para desarrolladores
* 🔒 **Seguridad**: Código abierto significa mejor seguridad a través de la revisión por pares
* 📈 **Innovación**: Iteración más rápida a través de contribuciones de la comunidad

<Info>
  Billing SDK se publica bajo la Licencia Pública General de GNU (GPL), lo que garantiza que el proyecto siga siendo abierto y gratuito.
</Info>

## Obtener Ayuda

¿Necesitas asistencia con el SDK de Facturación?

* **Problemas de GitHub**: [Abre un problema](https://github.com/dodopayments/billingsdk/issues)
* **Documentación**: Visita [billingsdk.com/docs](https://billingsdk.com/docs)
* **Documentación Completa de LLMs**: [billingsdk.com/llms-full.txt](https://billingsdk.com/llms-full.txt)

## Contribuyendo

¡Damos la bienvenida a las contribuciones! Consulta nuestra [guía de contribución](https://billingsdk.com/docs/contribution-open-source) para obtener detalles sobre:

* Informar errores
* Solicitar funciones
* Enviar solicitudes de extracción
* Agregar nuevos componentes
* Mejorar la documentación

## Aprende Más

<CardGroup cols={3}>
  <Card title="Full Documentation" icon="book" href="https://billingsdk.com/docs">
    Guía completa de Billing SDK con ejemplos y buenas prácticas
  </Card>

  <Card title="CLI Reference" icon="terminal" href="https://billingsdk.com/docs/cli">
    Documentación detallada de la CLI para todos los comandos y opciones
  </Card>

  <Card title="Component Library" icon="boxes-stacked" href="https://billingsdk.com/docs/components">
    Explora todos los componentes disponibles con ejemplos en vivo
  </Card>
</CardGroup>
