routes/central/billing-public.phproutes/central/billing.phpapp/Http/Controllers/Api/V1/Central/Billing/*app/Services/Central/Billing/*app/Services/Shared/Billing/*| Method | Path | Controller | Middleware | Tujuan |
|---|---|---|---|---|
| GET | /api/v1/central/billing/plans | PlanCatalogController | - | Katalog plan untuk pricing publik |
| POST | /api/v1/central/billing/webhooks/{provider} | BillingWebhookController | throttle:auth-refresh | Ingest webhook provider |
auth:sanctumability:platform:access| Method | Path | Controller | Tujuan |
|---|---|---|---|
| GET | /api/v1/central/platform/billing/audits | AuditController@index | List audit billing |
| GET | /api/v1/central/platform/billing/audits/{id} | AuditController@show | Detail audit |
| GET | /api/v1/central/platform/billing/plans | PlanController@index | List plan |
| PUT | /api/v1/central/platform/billing/plans/{planCode} | PlanController@upsert | Create/update plan |
| PUT | /api/v1/central/platform/billing/plans/{planCode}/features/{featureKey} | PlanController@upsertFeatureValue | Set value fitur plan |
| GET | /api/v1/central/platform/billing/features | FeatureController@index | List fitur billing |
| PUT | /api/v1/central/platform/billing/features/{featureKey} | FeatureController@upsert | Create/update fitur |
PlanCatalogController: public plan list output.BillingWebhookController: ingress endpoint webhook.PaymentWebhookService: orchestration validasi, idempotensi, mutasi state.BillingWebhookForensicService: persistence forensik webhook.DunningNotificationService: notifikasi dunning flow.BillingWebhookProviderRegistry: registry adapter provider.ManualWebhookProviderMidtransWebhookProviderXenditWebhookProvider