How andevarteaga/pasarela-de-pago-multi-metodos works
Pasarela is an isolated payment gateway: a customer enters through a signed checkout link, reviews and submits a payment, and receives a payment result; the gateway charges through Wompi and notifies the originating product. The documented product also includes origin/product administration, webhook handling, subscription billing and lifecycle operations, and email delivery. The graph combines documented capabilities with visible source references; some subsystem links are documented rather than verified from complete endpoint or worker implementations.
Main entry points: HttpApi.cs HTTP API · Workers.cs Billing and outbox workers · AppDb.cs Database access · ChargeService.cs Charge processing
Components 21
Checkout frontend
- Checkout application
web/src/App.tsx - Payment form
web/src/Pay.tsx - Wait and receipt pages
web/src/Wait.tsx - Cancel page
web/src/Cancel.tsx - Browser API client
web/src/api.ts - Card tokenization
web/src/wompi.ts
API and checkout
- HTTP API
src/Pasarela.Api/Endpoints/HttpApi.cs - Charge processing
src/Pasarela.Api/Services/ChargeService.cs - Payment and billing rules
src/Pasarela.Api/Domain/Rules.cs - Origin and product admin
src/Pasarela.Api/Endpoints/HttpApi.cs
Payment lifecycle
- Payment transitions
src/Pasarela.Api/Services/TransitionService.cs - Billing and outbox workers
src/Pasarela.Api/Services/Workers.cs - Email rendering
src/Pasarela.Api/Services/EmailHtml.cs
Persistence and integrations
- Payment domain records
src/Pasarela.Api/Data/Entities.cs - Database access
src/Pasarela.Api/Data/AppDb.cs - Wompi client
src/Pasarela.Api/Services/WompiClient.cs
Other components
- Customer
- PostgreSQL
- Wompi
- Origin product
- Resend
Connections 29
- Customer → Checkout application: opens checkout
README.md - Checkout application → Payment form: routes to
web/src/App.tsx - Checkout application → Wait and receipt pages: routes to
web/src/App.tsx - Checkout application → Cancel page: routes to
web/src/App.tsx - Payment form → Browser API client: requests session and payment
web/src/Pay.tsx - Payment form → Card tokenization: tokenizes card
web/src/Pay.tsx - Wait and receipt pages → Browser API client: fetches payment status
web/src/Wait.tsx - Wait and receipt pages → Browser API client: fetches receipt
web/src/Wait.tsx - Browser API client → HTTP API: calls checkout API
web/src/api.ts - HTTP API → Charge processing: starts charges
src/Pasarela.Api/Endpoints/HttpApi.cs - HTTP API → Payment transitions: applies payment state
src/Pasarela.Api/Endpoints/HttpApi.cs - HTTP API → Wompi client: handles bank and webhook flows
src/Pasarela.Api/Endpoints/HttpApi.cs - HTTP API → Database access: reads and writes
src/Pasarela.Api/Endpoints/HttpApi.cs - HTTP API → Origin and product admin: serves admin operations
README.md - Charge processing → Database access: reads and writes
src/Pasarela.Api/Services/ChargeService.cs - Charge processing → Wompi client: submits charges
src/Pasarela.Api/Services/ChargeService.cs - Charge processing → Payment transitions: records charge result
src/Pasarela.Api/Services/ChargeService.cs - Payment transitions → Database access: persists transitions
src/Pasarela.Api/Services/TransitionService.cs - Payment transitions → Payment and billing rules: applies billing rules
- Billing and outbox workers → Database access: processes stored work
src/Pasarela.Api/Services/Workers.cs - Billing and outbox workers → Charge processing: submits renewals
src/Pasarela.Api/Services/Workers.cs - Billing and outbox workers → Payment transitions: reconciles payments
src/Pasarela.Api/Services/Workers.cs - Billing and outbox workers → Email rendering: renders email
src/Pasarela.Api/Services/Workers.cs - Billing and outbox workers → Resend: sends email
src/Pasarela.Api/Services/Workers.cs - Billing and outbox workers → Origin product: delivers notifications
README.md - Wompi client → Wompi: calls payment API
src/Pasarela.Api/Services/WompiClient.cs - Wompi → HTTP API: posts webhook
README.md - Database access → PostgreSQL: stores payment data
README.md - Database access → Payment domain records: maps records
src/Pasarela.Api/Data/AppDb.cs