← Volver a proyectos

WebApp · Integración de pagos

PagaloSeguro

Laboratorio de integración de pagos desarrollado para practicar el flujo completo de una pasarela usando Mercado Pago Sandbox, Supabase Edge Functions, órdenes, eventos de pago y webhooks.

Tipo Aplicación web
Estado Sandbox / En pruebas
Rol Frontend, Edge Functions e integración de pagos
Objetivo Practicar un flujo seguro de pagos online

Problema

Integrar una pasarela de pagos no consiste únicamente en redirigir al usuario a un checkout. También implica crear órdenes, proteger credenciales, recibir eventos externos, validar información y actualizar estados de pago sin depender solo del frontend.

El objetivo del proyecto fue practicar este flujo de forma segura usando un entorno sandbox, sin construir un ecommerce completo.

Solución

PagaloSeguro fue desarrollado como un laboratorio de integración de pagos. El frontend permite seleccionar productos demo y generar una orden, mientras que la creación del checkout se realiza desde Supabase Edge Functions para evitar exponer credenciales sensibles.

Además, se implementó una función para recibir webhooks, guardar eventos del proveedor, consultar el estado real del pago y actualizar la orden correspondiente.

Funcionalidades principales

  • Autenticación de usuarios con Supabase Auth.
  • Listado de productos demo.
  • Creación de órdenes de pago en estado pendiente.
  • Generación de checkout con Mercado Pago Sandbox.
  • Redirección del usuario a Checkout Pro.
  • Recepción y almacenamiento de eventos de webhook.
  • Actualización de estados de orden según el resultado del pago.
  • Panel administrativo para monitorear órdenes y eventos.

Stack técnico

ReactViteSupabase AuthSupabase PostgreSQLSupabase Edge FunctionsMercado Pago SandboxWebhooksVercel

Retos técnicos

  • Separar correctamente la lógica sensible del frontend usando Edge Functions como capa backend.
  • Manejar variables de entorno y credenciales privadas sin subir datos sensibles al repositorio.
  • Procesar webhooks externos y evitar depender únicamente del retorno visual del checkout.
  • Mapear estados del proveedor de pagos hacia estados internos de la aplicación.
  • Registrar eventos de pago para auditoría y depuración.

Aprendizajes

Este proyecto me permitió comprender mejor cómo se estructura una integración de pagos real: frontend, backend serverless, órdenes, credenciales, webhooks, eventos y estados.

También reforcé la importancia de no confiar en el frontend para procesos sensibles y de mantener una trazabilidad clara sobre cada evento recibido.