Pasarelas de pago en Colombia: Wompi, PayU y Stripe comparados
Análisis técnico comparativo de las principales pasarelas de pago en Colombia con ejemplos prácticos en TypeScript para desarrolladores. Descubre ventajas, integración y casos de uso para Wompi, PayU y Stripe en 2025.
Introducción a las pasarelas de pago en Colombia
El ecosistema de pagos digitales en Colombia ha experimentado un crecimiento exponencial, con Wompi, PayU y Stripe liderando el mercado. Como desarrolladores, entender las diferencias técnicas entre estas plataformas es crucial para implementar soluciones robustas.
En 2025, Colombia superó el 65% de transacciones digitales en comercio electrónico, según datos de la Banca Central.
Comparativa técnica general
Antes de profundizar en código, veamos un resumen comparativo:
- Wompi: Enfoque local, soporte para Nequi y Daviplata
- PayU: Solución establecida, amplia red de bancos
- Stripe: Internacionalización, mejor DX para desarrolladores
Integración con TypeScript: Ejemplo básico
Veamos cómo crear un cargo con cada servicio:
Wompi
interface WompiTransaction {
amount_in_cents: number;
currency: 'COP';
customer_email: string;
payment_method: {
type: 'CARD' | 'NEQUI';
token: string;
installments?: number;
};
reference: string;
}
async function createWompiPayment(transaction: WompiTransaction) {
const response = await fetch('https://api.wompi.sv/transactions', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.WOMPI_PRIVATE_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(transaction)
});
return await response.json();
}PayU
interface PayUOrder {
language: 'es';
command: 'SUBMIT_TRANSACTION';
merchant: {
apiKey: string;
apiLogin: string;
};
transaction: {
order: {
accountId: string;
referenceCode: string;
description: string;
language: 'es';
signature: string;
notifyUrl?: string;
};
payer: {
email: string;
};
creditCardTokenId?: string;
paymentMethod: 'VISA' | 'MASTERCARD' | 'NEQUI';
paymentCountry: 'CO';
deviceSessionId: string;
ipAddress: string;
cookie?: string;
userAgent: string;
};
}
async function processPayUPayment(order: PayUOrder) {
// Generar firma requerida por PayU
const signature = createSignature(order);
order.transaction.order.signature = signature;
const response = await fetch('https://api.payulatam.com/payments-api/4.0/service.cgi', {
method: 'POST',
body: JSON.stringify(order)
});
return await response.json();
}Stripe
import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
apiVersion: '2025-05-16',
typescript: true
});
interface StripePaymentParams {
amount: number;
currency: 'cop';
source: string; // token ID
description: string;
metadata: {
order_id: string;
};
}
async function createStripeCharge(params: StripePaymentParams) {
return await stripe.charges.create({
amount: params.amount,
currency: params.currency,
source: params.source,
description: params.description,
metadata: params.metadata
});
}Webhooks y seguridad
La verificación de webhooks es crítica para seguridad. Comparativa de implementación:
Ejemplo de verificación de firma en Wompi:
import crypto from 'crypto';
function verifyWompiWebhook(
payload: any,
signature: string,
secret: string
): boolean {
const computedSignature = crypto
.createHmac('sha256', secret)
.update(JSON.stringify(payload))
.digest('hex');
return computedSignature === signature;
}Consideraciones para Colombia en 2025
- Regulación DIAN: Nuevos requisitos de facturación electrónica
- Límites transaccionales: Cambios en topes para pagos sin tarjeta
- PSE 2.0: Nueva versión de Pagos Seguros en Línea
Conclusión: ¿Cuál elegir?
La decisión depende de tus necesidades:
- Wompi: Ideal para startups colombianas con usuarios locales
- PayU: Mejor para comercios establecidos con alto volumen
- Stripe: La opción si planeas expandirte internacionalmente
En Edwsystem recomendamos evaluar costos por transacción, experiencia de desarrollador y cobertura de métodos de pago antes de decidir.
¿Te fue útil este artículo?
Déjame tu email y te aviso cuando publique nuevos artículos técnicos.