Module Classification: - Core (4): core, tenancy, cms, customers - always enabled - Optional (7): payments, billing, inventory, orders, marketplace, analytics, messaging - Internal (2): dev-tools, monitoring - admin-only Key Changes: - Rename platform-admin module to tenancy - Promote CMS and Customers to core modules - Create new payments module (gateway abstractions) - Add billing→payments and orders→payments dependencies - Mark dev-tools and monitoring as internal modules New Infrastructure: - app/modules/events.py: Module event bus (ENABLED, DISABLED, STARTUP, SHUTDOWN) - app/modules/migrations.py: Module-specific migration discovery - app/core/observability.py: Health checks, Prometheus metrics, Sentry integration Enhanced ModuleDefinition: - version, is_internal, permissions - config_schema, default_config - migrations_path - Lifecycle hooks: on_enable, on_disable, on_startup, health_check New Registry Functions: - get_optional_module_codes(), get_internal_module_codes() - is_core_module(), is_internal_module() - get_modules_by_tier(), get_module_tier() Migrations: - zc*: Rename platform-admin to tenancy - zd*: Ensure CMS and Customers enabled for all platforms Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
33 lines
841 B
Python
33 lines
841 B
Python
# app/modules/payments/__init__.py
|
|
"""
|
|
Payments Module - Payment gateway integrations.
|
|
|
|
This module provides low-level payment gateway abstractions:
|
|
- Gateway integrations (Stripe, PayPal, Bank Transfer, etc.)
|
|
- Payment processing and refunds
|
|
- Payment method storage and management
|
|
- Transaction records
|
|
|
|
This module is used by:
|
|
- billing: Platform subscriptions and vendor invoices
|
|
- orders: Customer checkout and order payments
|
|
|
|
Routes:
|
|
- Admin: /api/v1/admin/payments/*
|
|
- Vendor: /api/v1/vendor/payments/*
|
|
|
|
Menu Items:
|
|
- Admin: payments (payment configuration)
|
|
- Vendor: payment-methods (stored payment methods)
|
|
"""
|
|
|
|
from app.modules.payments.definition import payments_module
|
|
|
|
|
|
def get_payments_module():
|
|
"""Lazy getter to avoid circular imports."""
|
|
return payments_module
|
|
|
|
|
|
__all__ = ["payments_module", "get_payments_module"]
|