Developer Hub & API Public Docs

Documentación de la API & Webhooks en Tiempo Real

Integra el detector de pagos automatizado de Pago Cierto en tu propio e-commerce, ERP, Bot de WhatsApp o sistema a medida en menos de 5 minutos.

1

Autenticación de la API

Todas las peticiones a la API REST pública de Pago Cierto requieren autenticación mediante tu API Key de negocio.

Cabeceras HTTP Soportadas:

Authorization: Bearer <TU_API_KEY>
X-API-Key: <TU_API_KEY>

Puedes obtener o regenerar tu API Key en cualquier momento iniciando sesión e ingresando al menú Mi Cuenta > API & Webhooks.

2

Consultar Pagos Detectados

GET /api/external/payments

Retorna la lista de transacciones capturadas en tiempo real para tu negocio, con soporte de paginación y filtros.

Parámetros Query (Opcionales):

Parámetro Tipo Valores Descripción
period String all, day, week, month Filtro temporal (Por defecto: all).
sourceApp String all, yape, nequi, bancolombia Filtrar por canal de pago.
verified String all, verified, unverified Filtrar por estado de verificación.
search String Texto Busca por nombre del pagador o código.

Respuesta JSON (200 OK):

{
  "success": true,
  "payments": [
    {
      "id": 142,
      "source_app": "yape",
      "payer_name": "JUAN PEREZ",
      "amount": 20.00,
      "currency": "PEN",
      "security_code": "482910",
      "verified_at": "2026-07-27T01:05:00Z",
      "verified_by_name": "Carlos Ruiz",
      "detected_at": "2026-07-27T01:04:12Z"
    }
  ],
  "summary": {
    "payment_count": 1,
    "total_pen": 20.00,
    "total_cop": 0.00
  }
}
3

Verificar Pago desde tu Sistema

POST /api/external/payments/:id/verify

Permite a tus propios bots o sistemas cambiar el estado de un pago a verificado o no verificado.

Request Body JSON:

{
  "verified": true
}
4

Conciliación Rápida por Código (Claim)

POST /api/external/yape/claim

Busca y marca automáticamente un pago en base al monto y código de seguridad (Yape/Nequi) ingresado por tu cliente en tu carrito de compras.

Request Body JSON:

{
  "security_code": "482910",
  "amount": 20.00
}
5

Webhooks en Tiempo Real

Cuando un dispositivo Android captura un nuevo pago, Pago Cierto envía inmediatamente una notificación HTTP POST a la URL de tu Webhook en menos de 1 segundo.

Estructura del Payload enviado a tu Webhook:

{
  "event": "payment.detected",
  "business_id": 15,
  "payment": {
    "id": 142,
    "source_app": "yape",
    "payer_name": "JUAN PEREZ",
    "amount": 20.00,
    "currency": "PEN",
    "security_code": "482910",
    "detected_at": "2026-07-27T01:04:12Z"
  }
}

Cabeceras de Seguridad en la Petición Entrante:

Tu servidor recibirá la cabecera con tu API Key para validar que la notificación proviene de Pago Cierto:

X-Webhook-Key: <TU_API_KEY>
6

Ejemplos de Integración

Node.js (Webhook Server) Python (Flask) PHP (Native) cURL
// Ejemplo: Servidor Receptor de Webhook en Node.js (Express)
const express = require('express');
const app = express();

app.use(express.json());

app.post('/mi-webhook-pagos', (req, res) => {
  const webhookKey = req.headers['x-webhook-key'];
  
  // Validar autenticidad de Pago Cierto
  if (webhookKey !== process.env.PAGOS_LIVE_API_KEY) {
    return res.status(401).send('Unauthorized');
  }

  const { event, payment } = req.body;

  if (event === 'payment.detected') {
    console.log(`¡Pago recibido! ${payment.payer_name} pagó ${payment.currency} ${payment.amount}`);
    // Aquí puedes activar tu pedido en tu tienda o entregar el producto digital
  }

  res.status(200).json({ received: true });
});

app.listen(3000, () => console.log('Escuchando webhooks de Pago Cierto en puerto 3000'));