How comune-di-montesilvano/govpay-interaction-layer works
GIL is a PHP platform for public entities using GovPay: operators manage debts and accounting flows in the backoffice, while citizens or counter staff can use a payment frontoffice. The graph separates those interfaces, asynchronous processing, and shared services/data. README-level integrations and capabilities are retained; source evidence is sampled and partial, so uncertain implementation links are omitted rather than inferred.
Main entry points: PendenzeController.php Backoffice · RendicontazioneEngineService.php Settlement engine · index.php Frontoffice · ReportRagioneriaController.php Accounting reports
Components 21
User interfaces
- Backoffice
backoffice/src/Controllers/PendenzeController.php - Frontoffice
frontoffice/public/index.php - Accounting reports
backoffice/src/Controllers/ReportRagioneriaController.php
Operations and jobs
- Job worker
app/Services/Jobs/WorkerKernel.php - Bulk debt processing
app/Services/Jobs/MassivePendenzeProcessor.php - Settlement engine
app/Services/RendicontazioneEngineService.php
Shared services and data
- Settings
app/Config/SettingsRepository.php - Application database
app/Database/Connection.php - Debt types
app/Database/EntrateRepository.php - Accounting flows
app/Database/FlussiRendicontazioniRepository.php - Mail delivery
app/Services/MailerService.php - Logging
app/Logger.php - Bootstrap configuration
app/Config/ConfigLoader.php
Payment integrations
- GovPay API
app/Services/GovPayClientFactory.php - pagoPA Checkout
pagopa-clients/generated-clients/checkout-ec-v1/checkout-ec-client/lib/Model/PaymentNotice.php - Biz Events
pagopa-clients/generated-clients/biz-events-v1/biz-events-client/lib/Api/PaidNoticeRESTAPIsApi.php - App IO
app/Services/AppIoService.php - Payment model
govpay-clients/generated-clients/backoffice-v1/backoffice-client/lib/Model/Pagamento.php - Configuration model
govpay-clients/generated-clients/backoffice-v1/backoffice-client/lib/Model/Configurazione.php
Other components
- Operators
- Citizens / staff
Connections 23
- Operators → Backoffice: manage debts
README.md - Citizens / staff → Frontoffice: request payment
README.md - Operators → Accounting reports: review flows
README.md - Backoffice → GovPay API: requests API
backoffice/src/Controllers/PendenzeController.php - Frontoffice → pagoPA Checkout: starts checkout
README.md - Frontoffice → GovPay API: fetches debt
- Backoffice → Debt types: reads types
backoffice/src/Controllers/PendenzeController.php - Backoffice → Settings: reads settings
backoffice/src/Controllers/PendenzeController.php - Accounting reports → Accounting flows: queries flows
backoffice/src/Controllers/ReportRagioneriaController.php - Accounting reports → Settings: reads settings
backoffice/src/Controllers/ReportRagioneriaController.php - Job worker → Bulk debt processing: dispatches rows
app/Services/Jobs/WorkerKernel.php - Job worker → Application database: uses connection
app/Services/Jobs/WorkerKernel.php - Settlement engine → Accounting flows: records settlements
app/Services/RendicontazioneEngineService.php - Settlement engine → GovPay API: fetches debt
app/Services/RendicontazioneEngineService.php - Settlement engine → App IO: sends notice
app/Services/RendicontazioneEngineService.php - Settlement engine → Mail delivery: sends email
app/Services/RendicontazioneEngineService.php - Settings → Application database: reads and writes
app/Config/SettingsRepository.php - Settings → Bootstrap configuration: falls back to
app/Config/Config.php - Backoffice → Payment model: uses payment data
backoffice/src/Controllers/PendenzeController.php - Frontoffice → Payment model: uses payment data
frontoffice/public/index.php - Logging → Application database: logs separately
- Backoffice → Configuration model: configures GovPay
backoffice/src/Controllers/PendenzeController.php - Accounting reports → Biz Events: checks coverage