Skip to content

Referencia de API

Base URLs

EntornoURL
Producciónhttps://merchant.api.wepago.com
Staginghttps://merchant.sta-api.core.wepago.com
Testinghttps://merchant.testing-api.core.wepago.com

Autenticación

Authorization: Bearer {api_key}:{api_secret}

Obtén tus credenciales en comercios.wepago.com → Configuración → API.


POST /merchants/subscription-link

Crea un link de pago y un plan de suscripción.

Auth: requerida

Ver integración API para detalles y ejemplos completos.

Respuesta 200:

json
{
  "token": "V1StGXR8Z5",
  "url": "https://checkout.wepago.com/pay/V1StGXR8Z5",
  "expiresAt": "2026-04-13T12:00:00.000Z",
  "subscriptionPlanId": "01JR9H0BKMCAZ6PY1GR65B91J7"
}

GET /merchants/plans/{planId}/status

Consulta el estado de un plan y su última transacción. Usado para polling en tiempo real.

Auth: requerida
Parámetros: planIdsubscriptionPlanId retornado al crear el link

Respuesta 200:

json
{
  "subscriptionPlanId": "01JR9H0BKMCAZ6PY1GR65B91J7",
  "externalReference": "orden-123",
  "plan": {
    "status": "ACTIVE",
    "amount": 49900,
    "currency": "COP",
    "description": "Suscripción mensual Premium",
    "nextChargeDate": 1744416000000
  },
  "lastTransaction": {
    "subscriptionTransactionId": "01JR9H0BKMCAZ6PY1GR65B91J6",
    "status": "APPROVED",
    "amount": 49900,
    "chargeDate": 1712534400000,
    "wompiTransactionId": "1200969-1775447756-67089"
  }
}

Respuesta 403: el plan no pertenece a tu cuenta
Respuesta 404: plan no encontrado


GET /merchants/subscription-plans/{id}

Obtiene un plan por ID.

Auth: requerida
Parámetros: idsubscriptionPlanId


GET /checkout/session/{token}

Resuelve un token de checkout (sin auth — el token corto es el secreto).

Parámetros: token — token de 10 chars generado por /merchants/subscription-link

Respuesta 200:

json
{
  "customer": {
    "phone": "+573001234567",
    "firstName": "Juan"
  },
  "planName": "Suscripción mensual Premium",
  "amount": 49900,
  "currency": "COP",
  "merchantName": "Tienda XYZ",
  "merchantId": "...",
  "modality": "SUBSCRIPTION",
  "expiresAt": 1712534400000,
  "allowedDomains": ["tienda.com"]
}

Respuesta 400: token expirado
Respuesta 404: token no encontrado


Webhooks entrantes (tu servidor ← Wepago)

Wepago envía eventos a tu Webhook URL configurada.

Header de seguridad:

X-Webhook-Signature: {hmac-sha256-hex}

Eventos:

EventoDescripción
subscription.charge.approvedCobro aprobado
subscription.charge.declinedCobro rechazado
subscription.charge.errorError técnico en el cobro
subscription.charge.voidedCobro anulado

Ver guía de webhooks para verificación de firma y ejemplos de código.


Códigos de error

HTTPSignificado
400Parámetros inválidos o sesión expirada
401API key inválida, ausente o merchant inactivo
403No tienes acceso a este recurso
404Recurso no encontrado
409Conflicto (suscripción duplicada)
500Error interno de Wepago

Límites de tasa

EndpointLímite
POST /merchants/subscription-link60 req/min por api_key
GET /merchants/plans/*/status120 req/min por api_key
Otros60 req/min por api_key