Desarrolladores

Una API que tu equipo realmente disfrutará

REST predecible, claves de idempotencia, webhooks firmados y un sandbox con rieles simulados para que integres de extremo a extremo antes de mover un solo franco.

Crear cuenta
Hecho para desarrolladores

Tu primer cobro en una sola solicitud

REST limpio, un sobre JSON predecible y un id de solicitud en cada respuesta. El sandbox refleja producción: misma API, mismos estados, mismos webhooks.

  • Claves de sandbox y producción, con alcance por aplicación
  • Webhooks firmados con HMAC y protección contra repetición
  • Claves de idempotencia en cada llamada que mueve dinero
  • Errores tipados que te dicen exactamente qué corregir
  • Especificacion OpenAPI, coleccion Postman y llms.txt, todos publicados
  • Sesiones de checkout alojado y callbacks planos para conectores CRM, ERP y de tiendas
POST /v1/collections
curl https://api.capayglobal.com/v1/collections \
  -H "Authorization: Bearer sk_test_..." \
  -H "Idempotency-Key: 9f1c-collect-01" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "2500",
    "currency": "XAF",
    "country": "CM",
    "method": "mobile_money",
    "msisdn": "2376XXXXXXXX",
    "merchant_reference": "order-1042"
  }'
201 Created
{
  "status": "success",
  "data": {
    "id": "col_9xKQ2mD41Vb8",
    "object": "collection",
    "status": "pending",
    "amount": "2500",
    "currency": "XAF",
    "country": "CM",
    "method": "mobile_money",
    "merchant_reference": "order-1042",
    "fees": {
      "platform_fee": "50",
      "provider_fee": "0",
      "total_fee": "50",
      "bearer": "merchant"
    },
    "net_amount": null,
    "livemode": false,
    "created_at": "2026-08-30T12:04:11Z"
  },
  "request_id": "req_b0f3d2c1"
}

Tu primer cobro

Una peticion crea una intencion de pago, devuelve un identificador de peticion y, en dinero movil, envia el aviso al telefono del pagador. El entorno de pruebas se comporta igual que produccion.

Consigue tus claves de pruebaCrea una cuenta y las claves de pruebas apareceran en tu pagina de desarrollador al instante. Las claves de produccion se abren tras la verificacion de la empresa.
POST /v1/collections
curl -X POST https://api.capayglobal.com/v1/collections \
  -H "Authorization: Bearer sk_test_XXXXXXXXXXXX" \
  -H "Idempotency-Key: col-order-10482-a1b2c3" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "5000",
    "currency": "XAF",
    "country": "CM",
    "method": "mobile_money",
    "msisdn": "+237650000001",
    "merchant_reference": "order-10482"
  }'
Respuesta
{
  "status": "success",
  "data": {
    "id": "col_7Qm3k1Xa9Zr4",
    "object": "collection",
    "status": "pending",
    "amount": "5000",
    "currency": "XAF",
    "auth_model": "STK_PROMPT",
    "livemode": false
  },
  "request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
201 Created
Los importes son cadenas decimales en la frontera de la API y unidades menores en el libro mayor, asi que nada se pierde en coma flotante. Toda llamada que mueve dinero acepta una clave de idempotencia y cada respuesta lleva un identificador de peticion que puedes citar al soporte.

SDK de servidor

Envoltorios finos y tipados sobre la misma API REST, con idempotencia y verificacion de firma incluidas.

TypeScript and NodePublicacion proxima@capay/sdk
Importacion
import { Capay } from '@capay/sdk';

Todavía no está en npm. La línea de import de arriba es definitiva, así que tu integración no cambiará cuando se publique.

Leer la guia
PythonPublicacion proximacapay
Importacion
from capay import Capay

Todavía no está en PyPI. La línea de import de arriba es definitiva, así que tu integración no cambiará cuando se publique.

Leer la guia
PHPPublicacion proximacapay/capay-php
Importacion
use Capay\CapayClient;

Todavía no está en Packagist. La línea de import de arriba es definitiva, así que tu integración no cambiará cuando se publique.

Leer la guia

Verifica cada webhook

Las firmas se calculan sobre el cuerpo crudo y se comparan en tiempo constante, y una marca de tiempo mas antigua que 300 segundos se rechaza. Nunca confies en un webhook que no hayas verificado.

X-Capay-Signature
# T is the t= value from X-Capay-Signature; delivery.json is the raw body as received.
T=1767225600
SECRET=whsec_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

{ printf '%s.' "$T"; cat delivery.json; } \
  | openssl dgst -sha256 -hmac "$SECRET" -r | cut -d' ' -f1
# Compare the printed hex with each v1= value in the header (either may match
# during a secret rotation), and reject the delivery if |now - T| > 300 s.
Cabecera de firma
X-Capay-Signature: t=1767225600,v1=6f8b4c2d9e0a1b3c5d7e9f0a2b4c6d8e0f1a3b5c7d9e1f0a2b4c6d8e0f1a3b5c
X-Capay-Event-Id: evt_2n4Kq8Zr41Xa
X-Capay-Event-Type: collection.completed
Entrega y reintentos

Una entrega fallida se reintenta con un calendario fijo: 1m, 5m, 30m, 2h, 6h, 12h, 24h, 24h. Un endpoint que falla 8 veces seguidas se desactiva y te avisamos, para que un endpoint muerto nunca se trague eventos en silencio.

Puede haber dos secretos de firma activos a la vez, asi que puedes rotarlos sin perder un evento. Rechaza todo lo que quede fuera de la ventana de 300 segundos y guarda el identificador del evento para que los reenvios sean inofensivos.

El resto del kit

Especificaciones legibles por maquina, una coleccion que puedes importar y las herramientas que las leen.

llms.txtToda la documentacion aplanada para asistentes de codigo, para que tu IA responda sobre nuestra API con nuestro texto.Especificacion OpenAPIEl contrato completo, generado desde la API. Importalo para construir un cliente en cualquier lenguaje.Coleccion PostmanCada endpoint con cuerpos de ejemplo y variables de entorno, listo para ejecutarse contra el entorno de pruebas.
Linea de comandosProximamenteCrea pagos de prueba, sigue eventos y reenvia un webhook a tu maquina local.@capay/cli
Servidor MCPProximamenteDa a tu asistente de codigo acceso de lectura a tu entorno de pruebas para que responda con tus datos reales.@capay/mcp
Script de pagoProximamenteAbre la pagina de pago en una ventana modal sobre tu propia pagina en lugar de redirigir.https://pay.capayglobal.com/capay.js

Empieza a cobrar pagos en toda África hoy

Crea una cuenta gratis, construye contra el sandbox y sal a producción tras la verificación.

Crear cuenta

Cuéntanos sobre tus corredores y volúmenes en cualquier momento.