# Documentación de vexorpay

Aprende a integrar vexorpay en tus productos con nuestra API para crear links de pago en dólares y cobrar de forma programática.

> [!WARNING]
> El SDK `vexor` de npm (Stripe, MercadoPago, PayPal, Square, Talo) está **deprecado**: ya no se mantiene y no debe usarse. vexorpay es hoy una **API REST de links de pago en USD sobre Polar (Merchant of Record), sin SDK oficial**. Migración: <https://developers.vexorpay.com/docs/migracion-desde-el-sdk>

Fuente: <https://developers.whop.vexorpay.com/docs>

vexorpay te permite **cobrar en dólares** desde Latinoamérica sin cuenta de empresa ni complicaciones. Con nuestra API puedes **crear links de pago** programáticamente, generar un **checkout único por compra**, recibir **webhooks** cuando un pago se confirma y **reconciliar todo** con el histórico de eventos.

## ¿Qué puedes construir con la API?

- **SaaS y suscripciones** — Cobra planes y suscripciones con links reutilizables y confirma cada pago al instante con webhooks firmados.
- **E-commerce** — Genera un checkout por compra con referencia propia (ORD-1001) y estado del pedido en tiempo real. Polar le envía al comprador su recibo y su factura.
- **Plataformas y marketplaces** — Opera en nombre de tus usuarios conectados (header Vexor-Account): crea sus links y checkouts y consulta sus ventas.
- **Pagos globales** — Cobra en dólares de clientes de todo el mundo desde Latinoamérica, sin cuenta de empresa ni cuenta bancaria en el exterior.
- **Soluciones a medida** — Automatiza cobros y sincroniza pagos con tu propio stack: APIs REST, webhooks y reconciliación por eventos.
- **Control en tiempo real** — Consulta saldo, cobros y eventos, y concilia en el historial de la API todo lo que recibes por webhook.

## Un request y ya está

Sin SDKs obligatorios: hablas con la API con curl, Node.js, PHP o el lenguaje que uses.

**curl**

```bash
curl https://api.vexorpay.com/api/v1/payment-links \
  -X POST \
  -H "Authorization: Bearer vxp_live_tu_clave" \
  -H "Content-Type: application/json" \
  -d '{ "amount": 19, "title": "Ebook UX en 30 días", "reference": "CATALOGO-UX" }'
```

**Node.js**

```js
const res = await fetch('https://api.vexorpay.com/api/v1/payment-links', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer vxp_live_tu_clave',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    amount: 19,
    title: 'Ebook UX en 30 días',
    reference: 'CATALOGO-UX',
  }),
})
```

**PHP**

```php
$client = curl_init('https://api.vexorpay.com/api/v1/payment-links');
curl_setopt($client, CURLOPT_RETURNTRANSFER, true);
curl_setopt($client, CURLOPT_POST, true);
curl_setopt($client, CURLOPT_HTTPHEADER, [
  'Authorization: Bearer vxp_live_tu_clave',
  'Content-Type: application/json',
]);
curl_setopt($client, CURLOPT_POSTFIELDS, json_encode([
  'amount' => 19,
  'title' => 'Ebook UX en 30 días',
  'reference' => 'CATALOGO-UX',
]));
```

**Python**

```python

res = requests.post(
    "https://api.vexorpay.com/api/v1/payment-links",
    headers={
        "Authorization": "Bearer vxp_live_tu_clave",
        "Content-Type": "application/json",
    },
    json={
        "amount": 19,
        "title": "Ebook UX en 30 días",
        "reference": "CATALOGO-UX",
    },
)
```

**Go**

```go
body := []byte(`{"amount":19,"title":"Ebook UX en 30 días","reference":"CATALOGO-UX"}`)
req, _ := http.NewRequest(
  "POST",
  "https://api.vexorpay.com/api/v1/payment-links",
  bytes.NewReader(body),
)
req.Header.Set("Authorization", "Bearer vxp_live_tu_clave")
req.Header.Set("Content-Type", "application/json")
```

La respuesta es `201 Created` con el link listo para compartir.

## Qué puedes hacer

- Crear y administrar links de pago en dólares vía API.
- Generar un checkout de Polar por cada pedido (`checkout`) con referencia propia (`ORD-1001`).
- Consultar ventas, reembolsos y saldo disponible/pendiente.
- Recibir webhooks firmados (`payment.completed`, `payment.refunded`, `payment.disputed`, `subscription.*`, `payout.paid`) y verificarlos con el histórico de `GET /api/v1/events`.
- Retirar el dinero acumulado en tu cuenta cuando quieras.

## Flujo típico

1. Creas un link de pago (plantilla) desde el dashboard o `POST /api/v1/payment-links`.
2. Cuando alguien compra, generas un checkout único por pedido: `POST /api/v1/payment-links/{id}/checkout`.
3. Rediriges al cliente al `checkoutUrl` de Polar.
4. El cliente paga → vexorpay te avisa por **webhook firmado**.
5. Verificas a demanda con `GET /api/v1/orders/{id}` y `GET /api/v1/events`.

## Empieza por acá

- [Primeros pasos](/docs/getting-started) — configura tu clave de API en minutos.
- [Modo sandbox](/docs/sandbox-mode) — prueba tu integración sin mover dinero real.
- [Venta de producto digital](/docs/sell-digital-product) — ejemplo de integración completo, de punta a punta.
- [Referencia de API](/docs/api) — todos los endpoints disponibles.
