Integra cobros en una tarde.
API REST limpia, autenticación firmada con HMAC-SHA256, idempotencia y un Checkout.js que muestra el QR por ti. Crea un cobro con una sola llamada.
# Crea un cobro y genera el QR curl -X POST https://app.taypi.pe/api/v1/payments \ -H "Authorization: Bearer taypi_sk_live_…" \ -H "Taypi-Timestamp: 1741034400" \ -H "Taypi-Signature: a1b2c3d4…" \ -H "Idempotency-Key: 550e8400-e29b-41d4-…" \ -d '{"amount":"85.50","reference":"ORD-4821"}' # ← 201 Created { "data": { "payment_id": "019538f0-7c3a-7d4e-…", "status": "pending", "qr_image": "PHN2ZyB4bWxu…", "checkout_url": "https://app.taypi.pe/checkout/…", "expires_at": "2026-03-15T10:45:00-05:00" } }
La forma más rápida: Checkout.js.
Tu backend crea una sesión con tu secret key; tu frontend abre el checkout con tu public key y el checkout_token. Nosotros mostramos el QR y hacemos el polling de estado.
# 1) Backend — crea la sesión (secret key + HMAC) curl -X POST https://app.taypi.pe/v1/checkout/sessions \ -H "Authorization: Bearer taypi_sk_live_…" \ -H "Taypi-Timestamp: 1741034400" \ -H "Taypi-Signature: a1b2c3d4…" \ -H "Idempotency-Key: 550e8400-…" \ -d '{"amount":"89.90","reference":"ORDER-7890"}' # ← 201 Created { "data": { "checkout_token": "019538f0-9b2d-…" } }
<!-- 2) Frontend — abre el checkout (public key) --> <script src="https://app.taypi.pe/checkout.js"></script> <script> Taypi.checkout({ publicKey: "taypi_pk_live_…", token: "019538f0-9b2d-…" }); </script> // checkout.js consume GET /v1/checkout/sessions/{token} // con tu public key y renderiza el QR + estado.
Construido para que no pelees con la API.
API REST predecible
Recursos claros, errores con mensajes útiles y respuestas JSON consistentes.
Firma HMAC-SHA256
Cada request se firma con tu secret key + timestamp en el header Taypi-Signature. A prueba de réplica.
Idempotencia
Envía una Idempotency-Key y olvídate de cobros duplicados.
Checkout.js embebido
Un script en tu frontend y una llamada en tu backend. Nosotros mostramos el QR, hacemos el polling de estado y te avisamos cuando el pago se complete.
Sandbox completo
Claves de prueba, pagos simulados y webhooks de testing. Integra y prueba sin mover un sol real.
Entérate al instante.
Cuando el cliente paga, te notificamos en tiempo real al webhook_url que configuraste, con el objeto del pago. Actualiza el pedido y listo.
- Estado completed cuando el pago se confirma
- Estado expired si vence el QR
- También cancelled · failed · rejected
# Notificación a tu webhook_url { "payment_id": "019538f0-7c3a-7d4e-…", "status": "completed", "amount": "85.50", "currency": "PEN", "reference": "ORD-4821", "paid_at": "2026-03-15T10:32:15-05:00" }
En vivo en 3 pasos.
Crea tus claves
Genera claves de sandbox y producción desde el panel en segundos.
Crea un cobro
Un POST a /api/v1/payments con monto y referencia te devuelve el QR.
Escucha el webhook
Recibe el estado completed, marca el pedido como pagado y entrega. Listo.