vexorpayDocs
vexorpayDocs
APIDocumentación de vexorpayPrimeros pasosVenta de producto digitalImpuestos y Merchant of Record

Core API

Referencia de APICrear link de pago únicoCrear link de pago recurrenteListar y obtener linksSuscripcionesCheckout por compraVentas de PolarClientesDisputasSaldoRetirosEventos de reconciliaciónCuentas conectadas (marketplace)Webhooks salientesAutenticación

Recursos

vexorpay MCPEspecificación OpenAPIMigrar desde el SDK `vexor`PostmanComunidadModo sandbox

Retiros

Consulta tus retiros y retira tu saldo de Polar a tu cuenta de cobro.

GET /api/v1/payouts

Lista tus retiros de Polar, del más nuevo al más viejo: los que hiciste desde vexorpay (dashboard o API) y los que hiciste directamente en Polar. source dice cuál (vexorpay o polar). Se actualizan al crearlos y cada 10 minutos.

El entorno lo define la API key. Parámetros: limit, starting_after y ending_before.

curl "https://api.vexorpay.com/api/v1/payouts?limit=10" \
  -H "Authorization: Bearer vxp_live_tu_clave"

Respuesta exitosa

200 OK

{
  "data": [
    {
      "id": "6a1d2e3f4b5c6d7e8f901234",
      "provider": "polar",
      "polarPayoutId": "4f1c2d3e-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
      "amountCents": 4462,
      "feesCents": 51,
      "grossCents": 4513,
      "currency": "usd",
      "status": "paid",
      "accountCurrency": "ars",
      "accountAmount": 6756659,
      "source": "vexorpay",
      "sandbox": false,
      "createdAt": "2026-10-31T12:00:00.000Z",
      "paidAt": "2026-11-02T09:30:00.000Z"
    }
  ],
  "has_more": false,
  "total_count": 1,
  "url": "/v1/payouts?limit=10"
}

status toma los valores pending, held, in_transit, paid, failed o canceled. accountAmount es lo que se acreditó en tu cuenta de cobro, en la unidad menor de accountCurrency (exacto).

Cuando un retiro se acredita se dispara el webhook payout.paid, también para los que haces directamente en Polar.

Estimar un retiro

GET /api/v1/payouts/estimate

Lo que llegaría a tu cuenta de cobro si retiras ahora todo tu saldo disponible de Polar:

{
  "currency": "usd",
  "grossCents": 4513,
  "feesCents": 51,
  "netCents": 4462,
  "localEstimate": {
    "currency": "ars",
    "amount": 6756659,
    "rate": 1514.26,
    "asOf": "2026-10-31T12:00:00.000Z",
    "source": "stripe_fx_quote"
  }
}

feesCents son las comisiones de retiro de Polar. localEstimate usa la cotización de Stripe, la misma que se aplica al retirar (null si tu cuenta de cobro está en USD o no hay cotización). Si el disponible no alcanza para un retiro responde 400 insufficient_balance. Si todavía no configuraste tu cuenta de cobro en Polar responde 409 payout_account_not_ready.

Retirar

POST /api/v1/payouts

Retira todo tu saldo disponible de Polar a tu cuenta de cobro (Polar no acepta un monto parcial). El body va vacío.

curl -X POST "https://api.vexorpay.com/api/v1/payouts" \
  -H "Authorization: Bearer vxp_live_tu_clave" \
  -H "Idempotency-Key: retiro-2026-10-31"

Responde 201 con el retiro (mismo formato que en la lista, con source: "vexorpay"). Con la misma Idempotency-Key, un reintento devuelve el mismo retiro sin crear otro.

ErrorCuándo
403 insufficient_scopeCon OAuth (apps y MCP): la conexión no tiene el permiso payouts:write.
409 polar_not_connectedNo hay una cuenta de Polar conectada.
409 polar_reconnect_requiredLa conexión de Polar es anterior a este permiso: hay que reconectar Polar desde el dashboard.
409 payout_account_not_readyLa cuenta de cobro de Polar no está lista: se termina de configurar en Polar.
400 insufficient_balanceEl disponible no alcanza para un retiro.
409 payout_in_progressYa hay un retiro creándose.
502 polar_payout_failedPolar no procesó el retiro.

Saldo

Consulta tu saldo de Polar (disponible, retenido y retirado) y su estimado en tu moneda local.

Eventos de reconciliación

Consulta el histórico de eventos para reconciliar tus webhooks con la API.

On this page

Respuesta exitosaEstimar un retiroRetirar