Desarrolladores
Introducción

WizPay — Documentación para desarrolladores

WizPay es una pasarela de pagos para Bolivia. Con una sola integración aceptas:

  • 💳 Tarjetas de crédito/débito (Visa, Mastercard, Amex) con autenticación 3D Secure.
  • 📱 QR interbancario con confirmación en tiempo real por SSE.
  • 🔁 Cobros recurrentes: tarjetas tokenizadas y suscripciones con renovación automática.
  • ↩️ Reembolsos totales o parciales.
  • 🔔 Webhooks para 20 eventos del ciclo de vida del pago.

URL base

https://api.wizpay.app

Todas las rutas de esta documentación son relativas a esa URL.

Cómo funciona

ClientebrowserTu backendcon la x-wpay-keyWizPay Coreapi.wizpay.appProcesador / red bancariatarjeta y QRcheckoutPOST /payment/init · x-wpay-keyreference + fingerprint3DS / device data (directo, sin key)POST /payment/processautoriza y capturaAPROBADO · RECHAZADO · Step-Upresultadowebhook (async)

La regla de oro: tu x-wpay-key nunca sale al navegador. El browser de tu cliente solo habla con tu backend, y tu backend habla con WizPay. Las únicas llamadas directas del navegador a WizPay son los endpoints públicos (estado de transacción, stream del QR, callback 3DS) que no requieren key.

Conceptos

ConceptoDescripción
SistemaCada aplicación/comercio afiliado. Se crea desde el panel y tiene su propia x-wpay-key.
x-wpay-keyClave privada del sistema. Va como header en cada petición autenticada.
referenceIdentificador único de cada transacción, formato WP-<timestamp>-<hex>. Lo generas con /payment/init o /qr/generate y lo usas en todo el flujo.
order_idTu identificador interno del pedido. Opcional, WizPay te lo devuelve tal cual para que concilies.
card.typeCódigo de marca de la tarjeta: 001 Visa, 002 Mastercard, 003 Amex.
id_currencyMoneda de la transacción: 1 = Bolivianos (BOB), 2 = Dólares (USD).

Estados de una transacción

EstadoSignificado
PENDIENTECreada con /payment/init o /qr/generate, aún sin completar.
PENDING_3DSEl banco exige verificación 3D Secure (Step-Up); el cliente debe completarla.
APROBADOPago autorizado y capturado. ✅
RECHAZADOEl banco rechazó el cobro.
FALLIDOError técnico durante el proceso (gateway, antifraude, etc.).
CANCELADOCancelada por el comercio vía DELETE /payment/pending/:reference.

Prueba la API ahora mismo

Cada página de la referencia de la API incluye un simulador interactivo: la petición se emula con JavaScript en tu navegador — mismas validaciones, mismos mensajes de error y mismas formas de respuesta que producción, sin necesidad de credenciales. Ve a Pruebas y simulador para conocer las reglas del sandbox.

Siguientes pasos

  1. Inicio rápido — tu primer cobro en 10 minutos.
  2. Autenticación — cómo usar tu x-wpay-key de forma segura.
  3. Flujo de pago con tarjeta — el flujo completo con 3DS.