Herramientas para desarrollo · Pruebas de pago · 2026
Payment Emulator Lab
Prueba integraciones con Mercado Pago, Stripe y PayPal en un entorno controlado. Reproduce fallos de pago, valida reembolsos y verifica webhooks antes del lanzamiento, sin dinero real ni depender del sandbox del proveedor.
Desarrolla integraciones de pago con confianza antes de ponerlas en manos de tus clientes. Payment Emulator Lab te permite controlar flujos seleccionados de Mercado Pago, Stripe y PayPal para detectar errores de integración a tiempo y convertir fallos difíciles de reproducir en pruebas repetibles. Comprueba cómo responde tu checkout ante un pago rechazado, verifica que un reintento no genere un cobro duplicado o confirma que un webhook retrasado actualice correctamente un pedido. Diseñado para desarrollo, QA y pruebas automatizadas, sin depender del sandbox del proveedor. Entorno exclusivo de pruebas: sin dinero, tarjetas ni credenciales reales de proveedores.
- TypeScript
- NestJS
- Nuxt
- PrimeVue
- PostgreSQL
- MikroORM
- Docker
Resumen del proyecto
01 · Contexto
Pruebas de pago bajo el control del equipo
Desarrollo y QA necesitan resultados repetibles entre pasarelas. Este laboratorio aísla las pruebas del dinero real y de la disponibilidad de sandboxes externos, conservando el estado y los contratos específicos de cada proveedor.
02 · Arquitectura
Plugins de proveedor y un núcleo compartido
Un monolito modular NestJS gestiona pagos, idempotencia, escenarios, trazas y libro mayor en PostgreSQL con MikroORM. La consola y el checkout Nuxt usan sus propios servidores Nitro. Un worker independiente entrega la bandeja transaccional con transporte PostgreSQL, MongoDB o Redis/BullMQ.
03 · Decisiones
Determinismo, contratos y estado observable
El comportamiento de cada proveedor queda en su plugin. Los escenarios JSON versionados evitan ejecutar código arbitrario; el estado, los asientos balanceados y los eventos de webhook se confirman en una misma transacción. Los pagos emulados nunca se reenvían a pasarelas reales.
04 · Resultados
Un entorno reutilizable de pruebas de integración
El laboratorio implementado reúne tres plugins de pasarela, consola, checkout, escenarios de fallo y documentación pública bilingüe. Permite reproducir errores e inspeccionar sus efectos antes de validar la integración compatible con el sandbox real del proveedor.
Cómo lo usa un desarrollador
- 01
Arrancar el laboratorio y crear una aplicación
Sigue la guía de instalación local o con Docker. Desde la consola, crea una aplicación de prueba para la pasarela elegida y obtén las credenciales emitidas por el emulador.
- 02
Conectar la integración al emulador
Configura tu backend o SDK compatible con la URL base de la API del emulador y sus credenciales de prueba. Conserva las rutas y el formato documentados para el proveedor; utiliza el enlace de checkout devuelto cuando el flujo requiera al comprador.
- 03
Elegir un resultado reproducible
Asigna un escenario a la aplicación o selecciónalo por petición con X-Emulator-Scenario. Prueba creación, confirmación, captura, cancelación o reembolsos según las operaciones compatibles con cada proveedor.
- 04
Inspeccionar estados y notificaciones
Revisa las transiciones del pago, las trazas y los asientos contables. Para probar tu receptor de webhooks, habilita explícitamente la entrega saliente y autoriza su host en tu laboratorio; después comprueba firmas, intentos y reintentos.
Cuándo resulta útil este laboratorio
Desarrollar un checkout antes de publicarlo
Prueba pagos aprobados y rechazados, aprobación del comprador, captura manual y reembolsos totales o parciales dentro del alcance de cada pasarela.
Comprobar la respuesta ante fallos
Inyecta latencia, tiempos de espera agotados, respuestas HTTP 429 o errores del proveedor para revisar políticas de reintento, estados de carga y mensajes de error útiles.
Evitar cobros por peticiones duplicadas
Repite una petición con la misma clave de idempotencia y verifica que se recupera su resultado; cambia el contenido para comprobar el conflicto en lugar de generar un segundo cobro.
Validar receptores de webhooks
Usa los escenarios de Mercado Pago con notificaciones duplicadas, retrasadas o con firma inválida para probar deduplicación, verificación de firmas y actualización asíncrona de pedidos.
Reproducir pagos que terminan más tarde
Simula un ticket de Mercado Pago que se paga o caduca, o una transferencia de Stripe que se confirma. Ejecuta las transiciones temporizadas bajo demanda en las pruebas automatizadas sin esperar al reloj.
Ejecutar regresiones aisladas en CI
Crea aplicaciones con caducidad para CI, fija versiones de escenarios personalizados y verifica estados, contabilidad y notificaciones sin compartir credenciales ni datos mutables entre ejecuciones.
Alcance: operaciones seleccionadas de cada proveedor, no sus catálogos completos. No se emulan Stripe Elements ni la totalidad de los esquemas OpenAPI. Consulta los informes de fidelidad para planificar la validación posterior con el sandbox oficial del proveedor.
Arquitectura
Cargando diagrama