Diseñada para equipos que entregan.

Tokeflow ofrece una API limpia y bien estructurada para todo el ciclo de orquestación — Merchants, conectores, enrutamiento, transacciones, webhooks y consultas operativas. Patrones predecibles, versionado explícito, sin magia — solo una API que hace lo que dice.

curl
curl -X POST https://api.tokeflow.com/v1/payments \
  -H "Authorization: Bearer tkf_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 9900,
    "currency": "BRL",
    "method": "credit_card",
    "merchant_id": "merch_abc123",
    "routing": {
      "profile_id": "rp_smart_brl",
      "fallback": true
    },
    "customer": {
      "id": "cust_xyz789"
    },
    "payment_method": {
      "token": "tok_card_..."
    }
  }'

Una API sobre la que puedes razonar.

Recursos consistentes, reintentos seguros, errores accionables y versiones estables — para que las integraciones no se deterioren cuando lanzamos funciones.

Estructura predecible

Cada recurso sigue el mismo patrón: crear, recuperar, actualizar, listar. Las formas de solicitud y respuesta se mantienen consistentes entre endpoints.

Idempotente por defecto

Las operaciones de escritura admiten claves de idempotencia — reintenta de forma segura sin transacciones, Merchants o entregas de webhook duplicados.

Errores con sentido

Legible por máquina code, humano message, y un objeto details que apunta al campo exacto y a la solución — no errores 500 opacos.

Versionada y estable

Las versiones viven en la URL. Los cambios incompatibles se lanzan en nuevas versiones — tu integración no se romperá al lanzar una función.

Superficie de la API

Una sola API autenticada y versionada para todo, desde el onboarding hasta las operaciones — los mismos patrones en todas partes.

Merchants

Crea y gestiona Merchants dentro de tu organización — credenciales, perfiles de enrutamiento y webhooks independientes por Merchant.

merchants.ts
const merchant = await tokeflow.merchants.create({)
  name: 'Acme Store',
  reference_id: 'acme-001'
});
  • POST /v1/merchantsCrear
  • GET /v1/merchants/:idRecuperar
  • PATCH /v1/merchants/:idActualizar
  • GET /v1/merchantsListar

Conectores

Vincula credenciales de PSP a un Merchant — métodos compatibles, monedas y flags de 3DS por conexión.

connectors.ts
const connector = await tokeflow.connectors.create({
  merchant_id: 'merch_abc123', provider: 'stripe' ... }
});
  • POST /v1/connectors, GET/PATCH/DELETE /v1/connectors/:id
  • GET /v1/merchants/:id/connectorsListar por Merchant

Perfiles de enrutamiento

Define reglas de cascada, manejo de soft declines y terminación — ejecutados automáticamente en cada pago.

routing.ts
await tokeflow.routing_profiles.create({ rules: { ... } }); 
  • POST /v1/routing-profiles, GET /v1/routing-profiles/:id
  • PUT /v1/routing-profiles/:idReemplazar perfil
  • GET /v1/merchants/:id/routing-profilesListar

Pagos

Crea, captura, anula y reembolsa. El enrutamiento y el fallback corren desde el perfil — con traza completa en la lectura.

payments.ts
await tokeflow.payments.create({ idempotency_key: 'order_12345' ... });
  • POST /v1/payments, POST .../capture|void|refund
  • GET /v1/payments/:idPago + traza de enrutamiento
  • GET /v1/paymentsLista filtrada

Webhooks

Endpoints por Merchant, payloads firmados, tipos de eventos normalizados y reintento de entrega con backoff.

webhooks.ts
await tokeflow.webhooks.create({ events: ['payment.captured'] ... });
  • POST /v1/webhooks, GET/PATCH/DELETE /v1/webhooks/:id
  • GET /v1/webhooks/:id/deliveriesIntentos de entrega

Operaciones y consultas

Traza decisiones de enrutamiento, filtra pagos y lista eventos normalizados para soporte y conciliación.

trace.ts
const trace = await tokeflow.payments.getTrace('pay_x7k9m2...');
  • GET /v1/payments/:id/traceTraza completa de enrutamiento
  • GET /v1/events, GET /v1/events/:id

Autenticación y claves de API

Cada solicitud usa un token Bearer. Las claves tienen alcance a la organización con permisos para Merchants y operaciones.

Authorization
Authorization: Bearer tkf_live_...
Tipo de clavePrefijoAlcanceCaso de uso
Secreta de produccióntkf_live_Completo, producciónSolo del lado del servidor
Secreta de sandboxtkf_sandbox_Completo, sandboxDev y staging
Publicabletkf_pub_Limitado, segura para el clienteSDK / tokenización

Las claves secretas nunca deben incluirse en código del lado del cliente, apps móviles o control de versiones — usa variables de entorno y un gestor de secretos.

SDKs y paquetes de integración

Envoltorios ligeros alrededor de la API REST — sin lógica oculta. Si puedes leer la documentación de la API, puedes leer el código fuente del SDK.

Node.js / TypeScript

install
npm install @tokeflow/node
client.ts
import { Tokeflow } from '@tokeflow/node';
const tokeflow = new Tokeflow('tkf_live_...');

Python

install
pip install tokeflow
client.py
from tokeflow import Tokeflow
tokeflow = Tokeflow('tkf_live_...')

Go

install
go get github.com/tokeflow/tokeflow-go
client.go
client := tokeflow.NewClient("tkf_live_...")

cURL / HTTP

No se requiere SDK. Usa cualquier cliente HTTP — los ejemplos en la documentación incluyen equivalentes en cURL.

Los nombres de los paquetes y los materiales de onboarding se proporcionan con el aprovisionamiento del sandbox.

SDK embebible (lado del cliente)

Tokeniza en el cliente. Procesa en el servidor. Los datos de la tarjeta quedan fuera de tu alcance PCI.

Carga el SDK de JS, monta los campos de tarjeta en iframes aislados e intercambia un token de un solo uso con tu backend por payments.create. Funciona con React, Vue o HTML simple — el estilo coincide con tu marca.

  • Los datos de la tarjeta nunca tocan tus servidores.
  • Tokens de un solo uso y con tiempo limitado.
checkout.html
<script src="https://js.tokeflow.com/v1/tokeflow.js"></script>
<script>
  const tf = Tokeflow('tkf_pub_...');
  const card = tf.elements.create('card', { ... });
  card.mount('#card-container');
  const { token } = await tf.tokens.create(card);
</script>

Verificación de webhooks

Verifica las firmas en cada solicitud. Responde con 2xx después de procesar para que los reintentos se mantengan predecibles.

server.ts
app.post('/webhooks/tokeflow', (req, res) => {
  const ok = Tokeflow.webhooks.verify({ ... });
  if (!ok) return res.status(401);
  // switch (req.body.type) { ... }
  res.status(200).send('OK');
});

Las respuestas distintas de 2xx desencadenan reintentos con backoff exponencial — responde 200 OK después de haber manejado el evento de forma segura.

Documentación

Las guías de referencia completas, las exportaciones de OpenAPI y los ejemplos interactivos vivirán en el portal de documentación público. Hasta entonces, la documentación técnica se entrega con el acceso al sandbox y el onboarding de demo.

Próximamente

Solicitar acceso a la documentación

¿Listo para empezar a construir?

Obtén acceso al sandbox, explora la API y construye tu primera integración. Nuestro equipo de ingeniería apoya el onboarding técnico.

¿Prefieres explorar las integraciones primero? Ver proveedores compatibles.

Conoce Tokeflow dentro de tu producto.

Comparte algunos detalles sobre tu caso de uso y agendaremos una demo técnica adaptada a tu stack. Acceso al sandbox incluido.