---
title: "Pasarelas de Pago en Colombia para Desarrolladores: Comparativa Técnica entre Wompi, Mercado Pago, PSE y Bold"
description: "Análisis técnico y financiero de las principales pasarelas de pago en Colombia. Comparativa de comisiones, APIs REST, webhooks criptográficos, PSE y Nequi para e-commerce y SaaS."
date: 2026-09-10
category: "Fintech"
imageUrl: "/assets/images/blog/pasarelas-pago-colombia-pse-wompi-mercado-pago-comparativa.webp"
imageAlt: "Comparativa técnica y de comisiones entre pasarelas de pago en Colombia: Wompi Bancolombia, Mercado Pago, PSE y Bold para e-commerce y software SaaS"
readTime: "12 min de lectura"
author: "DoneAPI Engineering Team"
tags: ["Pasarelas de Pago", "Fintech", "Colombia", "Wompi", "Mercado Pago", "PSE", "Bold", "E-Commerce"]
lang: "es"
translationSlug: "colombia-payment-gateways-developer-guide-wompi-mercadopago-pse"
featured: false
---

El comercio electrónico y las plataformas SaaS en Colombia han experimentado una evolución vertiginosa en los últimos cinco años. A diferencia de mercados como Estados Unidos o Europa, donde las tarjetas de crédito representan más del 80% de las transacciones digitales, el ecosistema de pagos colombiano posee particularidades culturales y bancarias únicas: el dominio indiscutible de **PSE (*Pagos Seguros en Línea* de ACH Colombia)**, la omnipresencia de billeteras digitales como **Nequi y Daviplata**, y un consumidor que valora la flexibilidad de pagar tanto con tarjetas locales como con transferencias directas de cuenta a cuenta.

Para los líderes técnicos, arquitectos de software y fundadores de startups, elegir la pasarela de pagos adecuada no es una simple decisión comercial: es una **decisión crítica de arquitectura**. Una pasarela con APIs inestables, webhooks sin firmas criptográficas o tiempos de dispersión bancaria prolongados puede arruinar la tasa de conversión (*conversion rate*), disparar los costos de procesamiento y crear desajustes contables difíciles de subsanar.

En este artículo técnico, realizaremos una comparativa exhaustiva entre las tres pasarelas líderes en Colombia —**Wompi (Bancolombia), Mercado Pago y Bold**—, analizando sus comisiones reales, la calidad de sus SDKs, los mecanismos de validación de webhooks y cómo implementar un **Patrón Adaptador unificado en TypeScript** para alternar entre pasarelas sin cambiar la lógica de negocio.

---

## 1. El Ecosistema de Pagos en Colombia: Métodos y Preferencias

Antes de revisar el código, debemos entender qué métodos de pago exige el usuario colombiano para no abandonar el carrito de compras:

```
┌────────────────────────────────────────────────────────────────────────┐
│               Mix de Métodos de Pago Digitales en Colombia             │
└────────────────────────────────────────────────────────────────────────┘

  [PSE (ACH Colombia)]           ~ 45% (Transferencia bancaria interbancaria)
  [Billeteras: Nequi / Daviplata]~ 25% (Pagos móviles en tiempo real)
  [Tarjetas de Crédito / Débito] ~ 22% (Visa, Mastercard, Amex, Diners)
  [Efectivo / Redes de Recaudo]  ~  8% (Efecty, Baloto, Su Red, Paga Todo)
```

- **PSE**: Es el método rey para compras de tickets medianos y altos (educación, turismo, tecnología, pagos corporativos B2B). Descuenta el dinero directamente de la cuenta de ahorros o corriente del usuario.
- **Nequi**: Indispensable para compras de ticket bajo y comercio minorista (*retail* y gastronomía). Los usuarios esperan pagar escaneando un código QR o recibiendo una notificación push (*push payment*) en su celular.
- **Tarjetas de Crédito**: Clave para modelos de suscripción recurrente (*recurring billing*), reservas hoteleras con pre-autorización (*tokenización de tarjetas*) y compras en cuotas con intereses bancarios locales.

---

## 2. Comparativa Técnica y de Comisiones: Wompi vs. Mercado Pago vs. Bold

| Criterio de Selección | Wompi (Bancolombia) | Mercado Pago (Mercado Libre) | Bold (Fintech Colombiana) |
| :--- | :--- | :--- | :--- |
| **Comisión Base (Tarjetas y PSE)** | 2.65% + $700 COP + IVA (Tarifa estándar) | 3.29% + $800 COP + IVA (Inmediata) / 2.99% + $800 COP (14 días) | 2.99% + $900 COP + IVA (Tarjetas) / $900 COP fijos para PSE |
| **Integración con Nequi** | **Nativa y directa** (Push dinámico y QR Bancolombia) | Soportado a través de tarjeta de débito o PSE | Soportado mediante botón PSE / App |
| **Checkout UI** | Widget incrustado, redirección segura o API pura | **Checkout Pro** (Redirect) o **Checkout Bricks** (Modular en frontend) | Link de pago y botón de pago embebible |
| **Mecanismo de Webhooks** | Eventos JSON con cabecera de suma de verificación (`checksum` SHA-256) | Eventos Webhooks v2 con cabecera `x-signature` (HMAC-SHA256 con timestamp) | Notificaciones asíncronas con firma secreta |
| **Dispersión a Cuenta Bancaria** | Automática diaria hacia cuentas Bancolombia (gratis) | Retiro manual o programado a cualquier banco (1 a 2 días hábiles) | Automática al siguiente día hábil hacia cualquier banco |
| **Ideal para:** | Startups B2B, SaaS, e-commerce enfocado 100% en Colombia y Bancolombia | **Hoteles, turismo, marketplaces multinacionales en LATAM** | Pymes de comercio físico con datáfono que abren tienda virtual |

---

## 3. Seguridad en Notificaciones: Validación Criptográfica de Webhooks

El vector de ataque más común contra tiendas online es la inyección de confirmaciones de pago falsas (*Fake Webhook Spoofing*). Cada pasarela implementa una firma criptográfica distinta:

### 1. Wompi: Verificación de Checksum SHA-256
Wompi concatena las propiedades clave de la transacción con un secreto de eventos (*Event Secret*) configurado en el panel de control:

$$\text{Hash} = \text{SHA256}(\text{transaction.id} + \text{status} + \text{amount\_in\_cents} + \text{timestamp} + \text{events\_secret})$$

Si el hash calculado coincide con el valor `signature.checksum` del payload, la notificación es auténtica.

### 2. Mercado Pago: Verificación HMAC-SHA256 con Timestamp (`x-signature`)
Mercado Pago utiliza una cabecera `x-signature` con dos valores: `ts` (timestamp UNIX) y `v1` (hash HMAC-SHA256). Previene *replay attacks* limitando la tolerancia a 5 minutos y utiliza una clave secreta de webhook independiente del token de acceso.

---

## 4. Implementación del Patrón Adaptador en TypeScript

Para evitar que tu aplicación quede atrapada (*vendor lock-in*) con una sola pasarela de pagos, la mejor práctica de arquitectura limpia es implementar el **Patrón Adaptador (Adapter Pattern)**.

A continuación implementamos una interfaz unificada y dos adaptadores listos para producción para **Wompi y Mercado Pago**:

```typescript
import crypto from 'crypto';
import axios from 'axios';

// 1. Contrato Universal de Pagos
export interface CreatePaymentIntentParams {
  orderId: string;
  amountInCents: number;
  currency: 'COP' | 'USD';
  customerEmail: string;
  redirectUrl: string;
  description: string;
}

export interface PaymentIntentResult {
  paymentId: string;
  checkoutUrl: string;
  gateway: 'WOMPI' | 'MERCADOPAGO';
}

export interface PaymentGatewayAdapter {
  createPaymentIntent(params: CreatePaymentIntentParams): Promise<PaymentIntentResult>;
  verifyWebhookSignature(headers: Record<string, string>, body: any): boolean;
}

// 2. Adaptador Wompi
export class WompiAdapter implements PaymentGatewayAdapter {
  private publicKey: string;
  private privateKey: string;
  private eventsSecret: string;

  constructor() {
    this.publicKey = process.env.WOMPI_PUBLIC_KEY || '';
    this.privateKey = process.env.WOMPI_PRIVATE_KEY || '';
    this.eventsSecret = process.env.WOMPI_EVENTS_SECRET || '';
  }

  async createPaymentIntent(params: CreatePaymentIntentParams): Promise<PaymentIntentResult> {
    // Generar firma de integridad para el widget de Wompi
    const rawSignature = `${params.orderId}${params.amountInCents}${params.currency}${process.env.WOMPI_INTEGRITY_SECRET}`;
    const signature = crypto.createHash('sha256').update(rawSignature).digest('hex');

    // Wompi permite iniciar el pago directamente en su checkout web
    const checkoutUrl = `https://checkout.wompi.co/p/?public-key=${this.publicKey}&currency=${params.currency}&amount-in-cents=${params.amountInCents}&reference=${params.orderId}&signature:integrity=${signature}&redirect-url=${encodeURIComponent(params.redirectUrl)}`;

    return {
      paymentId: params.orderId,
      checkoutUrl,
      gateway: 'WOMPI',
    };
  }

  verifyWebhookSignature(headers: Record<string, string>, body: any): boolean {
    const transaction = body?.data?.transaction;
    if (!transaction || !body?.signature?.checksum) return false;

    // Concatenar: transaction.id + status + amount_in_cents + timestamp + eventsSecret
    const concatenated = `${transaction.id}${transaction.status}${transaction.amount_in_cents}${body.timestamp}${this.eventsSecret}`;
    const calculatedChecksum = crypto.createHash('sha256').update(concatenated).digest('hex');

    return crypto.timingSafeEqual(
      Buffer.from(calculatedChecksum),
      Buffer.from(body.signature.checksum)
    );
  }
}

// 3. Adaptador Mercado Pago
export class MercadoPagoAdapter implements PaymentGatewayAdapter {
  private accessToken: string;
  private webhookSecret: string;

  constructor() {
    this.accessToken = process.env.MERCADOPAGO_ACCESS_TOKEN || '';
    this.webhookSecret = process.env.MERCADOPAGO_WEBHOOK_SECRET || '';
  }

  async createPaymentIntent(params: CreatePaymentIntentParams): Promise<PaymentIntentResult> {
    const response = await axios.post(
      'https://api.mercadopago.com/checkout/preferences',
      {
        items: [
          {
            title: params.description,
            quantity: 1,
            unit_price: params.amountInCents / 100, // MP opera en unidades monetarias, no centavos
            currency_id: params.currency,
          },
        ],
        external_reference: params.orderId,
        payer: { email: params.customerEmail },
        back_urls: {
          success: params.redirectUrl,
          failure: params.redirectUrl,
          pending: params.redirectUrl,
        },
        auto_return: 'approved',
      },
      {
        headers: { Authorization: `Bearer ${this.accessToken}` },
      }
    );

    return {
      paymentId: response.data.id,
      checkoutUrl: response.data.init_point,
      gateway: 'MERCADOPAGO',
    };
  }

  verifyWebhookSignature(headers: Record<string, string>, body: any): boolean {
    const signatureHeader = headers['x-signature'];
    const requestId = headers['x-request-id'];
    const entityId = body?.data?.id;

    if (!signatureHeader || !requestId || !entityId) return false;

    let ts = '';
    let v1 = '';
    signatureHeader.split(',').forEach((part) => {
      const [key, val] = part.trim().split('=');
      if (key === 'ts') ts = val;
      if (key === 'v1') v1 = val;
    });

    if (!ts || !v1) return false;

    const manifest = `id:${entityId};request-id:${requestId};ts:${ts};`;
    const calculated = crypto.createHmac('sha256', this.webhookSecret).update(manifest).digest('hex');

    return crypto.timingSafeEqual(Buffer.from(calculated), Buffer.from(v1));
  }
}
```

---

## 5. Cuándo Usar Wompi vs. Cuándo Usar Mercado Pago en Producción

### Selecciona Wompi si:
1. **Tu base de clientes está 100% en Colombia**: La integración con Bancolombia (el banco con más de 18 millones de usuarios en el país) hace que la experiencia con Nequi y transferencias Bancolombia sea la más fluida y con menor tasa de fricción.
2. **Quieres dispersión automática diaria**: Si tu cuenta de ahorros o corriente es Bancolombia, Wompi dispersa el saldo automáticamente todas las noches sin cobrar tarifa de transferencia bancaria.
3. **Manejas un modelo SaaS o de suscripciones B2B locales**: La API de tokenización de Wompi es simple, robusta y con documentación moderna.

### Selecciona Mercado Pago si:
1. **Operas en el sector Turismo u Hotelería**: Mercado Pago permite cobrar en monedas locales a turistas de México, Brasil, Chile, Argentina y Perú sin necesidad de abrir entidades jurídicas en cada país.
2. **Utilizas CMS y Motores de Reserva Populares**: Existe un ecosistema inmenso de plugins oficiales y de comunidad (como nuestro plugin de **VikBooking Mercado Pago por $7 USD**) que reducen el tiempo de implementación a minutos.
3. **Deseas Checkout en Cuotas sin Interés**: Mercado Pago negocia promociones de cuotas sin interés directamente con bancos emisores, aumentando el ticket promedio de compra.

---

## 6. Soluciones de Integración de Pagos con DoneAPI

Integrar pasarelas de pago de manera segura, sin errores de conciliación y con máxima tasa de aprobación requiere dominar tanto la criptografía de firmas de red como la lógica de dispersión de fondos e impuestos locales de Colombia.

En **DoneAPI** ayudamos a empresas, startups y comercios electrónicos en toda la región a:

- **Desarrollo de Pasarelas a la Medida y Adaptadores Universales**: Diseñamos módulos que alternan dinámicamente entre Wompi, Mercado Pago o Bold para garantizar un 99.9% de disponibilidad de cobro.
- **Plugin Oficial VikBooking Mercado Pago ($7 USD)**: Automatiza las reservas hoteleras en WordPress con confirmación instantánea vía webhooks v2 y conciliación contable sin comisiones recurrentes.
- **Validación Criptográfica y Webhook Hardening**: Blindaje de tus endpoints de notificación frente a ataques de suplantación y ataques de repetición.
- **Utility APIs para E-Commerce**: Accede a microservicios de festivos bancarios, acortadores de enlaces para WhatsApp y validación de empresas.

> 💬 **¿Necesitas integrar pasarelas de pago en Colombia, conectar Wompi o Mercado Pago con tu software, o adquirir el plugin de VikBooking ($7 USD)?**  
> Conversa directamente con nuestros ingenieros fintech a través de WhatsApp.

<div class="my-8 p-6 bg-slate-900 border border-emerald-500/30 rounded-2xl shadow-xl flex flex-col md:flex-row items-center justify-between gap-6">
  <div>
    <h3 class="text-xl font-bold text-white mb-2">Integra Pasarelas de Pago en Colombia con Soporte Senior de DoneAPI</h3>
    <p class="text-slate-300 text-sm max-w-xl">Aumenta tu tasa de conversión con PSE, Nequi y tarjetas, y automatiza tus cobros con código robusto e idempotente.</p>
  </div>
  <a href="https://wa.me/573208173939?text=Hola%20DoneAPI,%20quiero%20solicitar%20asesoria%20tecnica%20en%20pasarelas%20de%20pago%20en%20Colombia%20(Wompi,%20Mercado%20Pago,%20PSE)" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 px-6 py-3.5 bg-emerald-500 hover:bg-emerald-400 text-slate-950 font-bold rounded-xl transition-all shadow-lg hover:shadow-emerald-500/25 shrink-0 text-sm">
    <svg class="w-5 h-5 fill-current" viewBox="0 0 24 24"><path d="M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.946.003-6.556 5.338-11.891 11.893-11.891 3.181.001 6.167 1.24 8.413 3.488 2.245 2.248 3.481 5.236 3.48 8.414-.003 6.557-5.338 11.892-11.893 11.892-1.99-.001-3.951-.5-5.688-1.448l-6.305 1.654zm6.597-3.807c1.676.995 3.276 1.591 5.392 1.592 5.448 0 9.886-4.434 9.889-9.885.002-5.462-4.415-9.89-9.881-9.892-5.452 0-9.887 4.434-9.889 9.884-.001 2.225.651 3.891 1.746 5.634l-.999 3.648 3.742-.981zm11.387-5.464c-.074-.124-.272-.198-.57-.347-.297-.149-1.758-.868-2.031-.967-.272-.099-.47-.149-.669.149-.198.297-.768.967-.941 1.165-.173.198-.347.223-.644.074-.297-.149-1.255-.462-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.521.151-.172.2-.296.3-.495.099-.198.05-.372-.025-.521-.075-.148-.669-1.611-.916-2.206-.242-.579-.487-.501-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.263.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.695.248-1.29.173-1.414z"/></svg>
    Hablar con un Ingeniero Fintech por WhatsApp
  </a>
</div>

---

## 7. Conclusión

El mercado de pagos en Colombia ofrece opciones maduras y altamente competitivas. **Wompi** sobresale por su integración nativa con el ecosistema Bancolombia y Nequi, mientras que **Mercado Pago** ofrece una cobertura regional insuperable para turismo e integraciones globales.

Al implementar una arquitectura basada en **adaptadores desacoplados y validación criptográfica estricta de webhooks**, tu plataforma protege sus ingresos, elimina errores de fraude y garantiza a los clientes colombianos una experiencia de pago segura, instantánea y sin fricciones.
