Payment Gateways
Connect payment gateways, run and track transactions, and process refunds.
Modules are installed from your Hub's marketplace. Sign up for a Hub to access this module.
Módulo payment_gateways — registro de pasarelas y libro de transacciones
Registro provider-agnóstico de pasarelas (stripe/redsys/paypal/manual/other) y libro
unificado de transacciones y reembolsos: iniciar → succeeded/failed → reembolso total o
parcial.
🔴 Aquí NO se cobra. No hay SDK de pago, ni llamada HTTP, ni webhooks: el módulo modela el ciclo de vida, no es una pasarela. «Succeeded» significa que alguien le contó al módulo que el proveedor lo confirmó. La conversación real con Stripe o Redsys ocurre fuera.
⚠️ No es
payments. Aquel registra el dinero que SALE (pagos a proveedor); este, los cobros que entran por pasarela. Y una transacción aquí no está ligada a nada: ni venta, ni pedido, ni factura, ni cliente.
Module id:
payment_gateways. Depende de: nada — y nada depende de él; no escucha eventos. Módulo híbrido: SQL + handler WASM (5 funciones). ❄️ Congelado: su doc de arquitectura vive enarchitecture/_frozen/modules/payment_gateways.md.
Documentación de usuario — docs/
Viaja dentro del módulo y se versiona con él: el asistente del hub (ADR-0282) la indexa por versión instalada y cita la de TU versión, no la de la última publicada. En inglés (idioma fuente).
| Fichero | Para qué |
|---|---|
docs/overview.md |
Qué hace y qué NO hace; el ciclo de vida y el vocabulario |
docs/screens.md |
Gateways, transacciones y reembolsos paso a paso |
docs/concepts.md |
Aquí no se cobra, todas las guardas fallan como no-op MUDO, reembolso sin importe = todo lo restante, lista de divisas VACÍA = cualquiera |
docs/limits.md |
Errores vs fallos mudos, permisos por acción y las integraciones que no existen |
Qué expone hoy
| Tipo | Nombre | Permiso |
|---|---|---|
| query | payment_gateways.gateways.list (config enmascarada) · transactions.list / .get / .refunds · config.status |
view_pg |
| command | gateways.create / .update_config / .deactivate / .delete |
manage_pg |
| command | transactions.initiate / .mark_succeeded / .mark_failed / .refund (WASM) |
process_payment |
| command | transactions.summary (WASM, agregación pura) |
view_pg |
| emite | payment_gateways.gateway.created, .transaction.initiated/succeeded/failed/refunded |
— |
| escucha | — | — |
Navegación: erp-payment-gateways-gateways («Gateways»).
Layout
module.json # manifest (contrato técnico)
migrations/ # esquema §2.5 + contador atómico por (hub_id, day)
queries/*.sql # lecturas declarativas; gateways_list.sql ENMASCARA los secretos
commands/*.sql # escrituras declarativas (las `_` son intenciones del WASM)
schemas/*.json # JSON Schemas de input (draft 2020-12)
handler/ # WASM Tier 2 → dist/handler.wasm
ui/ # Web Components (Lit/Ionic/OutfitKit)
docs/ # documentación de usuario + corpus del asistente
Estado y trabajo abierto
Módulo congelado. Limitaciones documentadas en docs/limits.md: el host no pre-carga
lecturas, así que todas las guardas de estado viven en el SQL interno y fallan como no-op de 0
filas (alternativa con error legible: triggers RAISE(ABORT) à la ADR-0018 — no adoptada aquí);
transactions.summary calcula pero no puede devolver datos al caller; y el enmascarado es de
lectura, no cifrado at-rest.
Doc de arquitectura: architecture/_frozen/modules/payment_gateways.md.
Sign in to leave a review
Share your experience with this module
User Reviews
No reviews yet
Be the first to review this module
chore(release): v1.0.16
chore(release): v1.0.15
chore(release): v1.0.14
chore(release): v1.0.13
chore(release): v1.0.12
chore(release): v1.0.11
chore(release): v1.0.10
chore(release): v1.0.9
chore(release): v1.0.8
feat: drop sqlite dialect (ADR-0154) (#15) Removes migrations/sqlite + manifest sqlite keys; declares migrations.postgres (existían en disco sin referenciar, bug parity 2026-07-05). Postgres is the single dialect. Version bump for republish. Refs ERPlora/pm#30
chore(release): v1.0.6
chore(release): v1.0.5
chore(release): v1.0.4
chore(release): v1.0.3 — publica los iconos horneados del WC (ADR-0122) El webhook del SaaS republica al pushear a main, pero solo sube un zip NUEVO: si la version ya existe en S3 la salta (create-only, para no romper el SHA256 de los hubs ya desplegados). Sin bump, los cambios mergeados no llegaban al marketplace.
Related Modules
Point of sale: complete and void sales, and review sales history and metrics.
Open and close register sessions, record cash in and out, and reconcile the drawer at closing.
Receipt, kitchen and label printing from the device you have connected.
Restaurant floor plan: zones, tables and table sessions.