gsinghpal
6c395709cf
feat(billing): outbound webhook engine (HMAC + retry/backoff)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 08:42:08 -04:00
gsinghpal
0754d0b101
feat(billing): subscription creation handler (sale.order is_subscription)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-27 08:42:08 -04:00
gsinghpal
2435096f32
feat(billing): inbound API handlers (customer/usage/catalog)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 08:42:08 -04:00
gsinghpal
25952cf226
feat(billing): period usage aggregation by metric function
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 08:42:08 -04:00
gsinghpal
eb1ee85d24
feat(billing): idempotent usage ingestion
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 08:42:08 -04:00
gsinghpal
1e34a67384
feat(billing): metered charge math (quota + overage)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 08:42:08 -04:00
gsinghpal
a1cfab6fe9
feat(billing): identity resolution external account -> partner
2026-05-27 08:42:08 -04:00
gsinghpal
a46e31e710
feat(billing): service API-key generation + matching
...
Add _match_api_key() class method to fusion.billing.service, with a
TDD test suite (TestServiceApiKey) covering key generation, hash storage,
positive match, and rejection of bad/inactive keys. Also fix
fcb_test_on_trial.sh to use --http-port 8070, as Odoo 19 forces
http_spawn() even under --no-http when --test-enable is set.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-27 08:42:08 -04:00