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

# Pagos

> Elige los asistentes de pagos de Stripe o Razorpay para aplicaciones de TypeScript

<CodeGroup>
  ```bash npm theme={null}
  npm install @insforge/sdk@latest
  ```

  ```bash yarn theme={null}
  yarn add @insforge/sdk@latest
  ```

  ```bash pnpm theme={null}
  pnpm add @insforge/sdk@latest
  ```
</CodeGroup>

```javascript theme={null}
import { createClient } from '@insforge/sdk';

const insforge = createClient({
  baseUrl: 'https://your-app.insforge.app',
  anonKey: 'your-anon-key'  // Optional: for public/unauthenticated requests
});
```

Find the anon key with `npx @insforge/cli secrets get ANON_KEY`, or in the dashboard: click **Install** and open **API Keys**.

Los Pagos de InsForge son específicos del proveedor. Stripe usa Checkout alojado y Portal de Facturación. Razorpay usa órdenes y suscripciones nativas del proveedor más Razorpay Checkout. El SDK de TypeScript expone módulos de proveedor separados para ambos.

<CardGroup cols={2}>
  <Card title="Pagos con Stripe" icon="stripe" href="/sdks/typescript/payments-stripe">
    Crea sesiones de Checkout y Portal de Facturación con `insforge.payments.stripe`.
  </Card>

  <Card title="Pagos con Razorpay" icon="credit-card" href="/sdks/typescript/payments-razorpay">
    Crea órdenes o suscripciones con `insforge.payments.razorpay`, luego abre Razorpay Checkout.
  </Card>
</CardGroup>

## Configuración Compartida

```typescript theme={null}
import { createClient } from '@insforge/sdk';

const insforge = createClient({
  baseUrl: 'https://your-project.insforge.app',
  anonKey: 'your-anon-key'
});
```

Las llamadas de tiempo de ejecución de pagos requieren un token de usuario de InsForge. El pago único anónimo puede usar un token anónimo de InsForge. Las claves secretas del proveedor deben mantenerse en el lado del servidor y configurarse a través de Panel -> Pagos -> Configuración, CLI o API de administración.

## Cumplimiento

Para ambos proveedores, crea tablas propiedad de la aplicación como `public.orders`, `public.credit_ledger` o `public.team_entitlements`, luego rellena desde eventos de webhook del proveedor verificados en `payments.webhook_events`.

`payments.transactions` es una proyección de panel/informes. No la uses como flujo de trabajo empresarial principal.

## Próximos Pasos

* Usa [Pagos con Stripe](/sdks/typescript/payments-stripe) para `insforge.payments.stripe.createCheckoutSession(...)` y `insforge.payments.stripe.createCustomerPortalSession(...)`.
* Usa [Pagos con Razorpay](/sdks/typescript/payments-razorpay) para `insforge.payments.razorpay.createOrder(...)`, `createSubscription(...)`, verificación y gestión de suscripciones.
* Lee [Descripción general de pagos](/core-concepts/payments/overview) para la arquitectura de base de datos compartida y el modelo de cumplimiento.
