Integrá VortexPay en minutos
Guía paso a paso para integradores B2B. Cobrá y pagá en Latam con una sola API REST.
13
Endpoints
6
Países Latam
<2s
Pay-In p99
0% completado
Flujo típico Pay-In
Cliente B2B VortexPay API Webhook (tu servidor)
│ │ │
│ POST /payins + HMAC │ │
│ ─────────────────────────► │ │
│ 201 { id, status } │ │
│ ◄───────────────────────── │ │
│ │ payin.succeeded │
│ │ ─────────────────────────► │
│ GET /payins/{id} │ │
│ ─────────────────────────► │ │
│ 200 { status: succeeded } │ │
Autenticación
Todas las requests usan HTTPS. Combiná Bearer token + firma HMAC en operaciones mutantes.
1. API Keys
Recomendado para integraciones server-to-server.
Authorization: Bearer vp_test_sk_your_key_here # Sandbox Authorization: Bearer vp_live_sk_your_key_here # Producción
| Prefijo | Ambiente |
|---|---|
vp_test_sk_ | Sandbox |
vp_live_sk_ | Producción |
2. OAuth2 Client Credentials
POST https://auth.vortexpay.com/oauth2/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials &client_id=vp_test_client_xxx &client_secret=vp_test_secret_xxx &scope=payins:write payins:read payouts:write payouts:read balance:read webhooks:write
3. Firma HMAC (POST / PUT / PATCH / DELETE)
Headers obligatorios:
| Header | Descripción |
|---|---|
X-Vortex-Timestamp | Unix epoch (±5 min) |
X-Vortex-Nonce | UUID v4 único |
X-Vortex-Signature | HMAC-SHA256 hex |
Payload = {timestamp}.{nonce}.{METHOD}.{path}.{sha256(body)}
Signature = HMAC-SHA256(signing_secret, Payload)
El API Explorer genera la firma automáticamente con tu signing secret.
4. Idempotencia
Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000
Obligatorio en POST. TTL 24h. Mismo key + mismo body = misma respuesta.
Scopes
| Scope | Endpoints |
|---|---|
merchant:read | GET /merchant |
balance:read | GET /balance |
payins:write | POST /payins, POST /payins/{id}/cancel |
payins:read | GET /payins* |
payouts:write | POST /payouts, POST /payouts/{id}/cancel |
payouts:read | GET /payouts* |
webhooks:write | POST /webhooks, DELETE /webhooks/{id} |
webhooks:read | GET /webhooks |
POST /payins
Credenciales
Parámetros
Request body (JSON)
Código generado
Si el navegador bloquea CORS, copiá el cURL y ejecutalo desde su servidor.
Respuesta de ejemplo
Resultado (Try it)
Seleccioná "Enviar a Sandbox" para probar.
Estados PayIn / PayOut
| PayIn | Descripción | Terminal |
|---|---|---|
pending | En cola | No |
processing | En pipeline | No |
requires_action | QR / acción pagador | No |
succeeded | Exitoso | Sí |
failed | Rechazado | Sí |
canceled | Cancelado | Sí |
Errores (RFC 7807)
| HTTP | code | Descripción |
|---|---|---|
| 400 | invalid_request | Validación |
| 401 | invalid_signature | HMAC inválido |
| 409 | idempotency_key_reused | Key duplicada |
| 422 | insufficient_funds | Saldo insuficiente |
| 429 | rate_limit_exceeded | Rate limit |