openvibers/openvibe.billing Commits

STATUS's contracts field drops the stale openvibe-sdk v0.28.0 and openvibe-shared v2.13.0 (package.json pins v0.60.0 and v4.4.0), and features list tiers, /api/me/vibes, billing.stats and account export (#86)

OP OpenVibers committed 22 days ago · 366cc5fd77 · 1 file, +7 −3

Changes

ddiff --git a/STATUS.json b/STATUS.json
iindex 490c4ab..a89ce0c 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -8,7 +8,7 @@
"authoritative": true,
"deployed": true,
"deployment": "The money ledger since the cutover of 2026-10-17 04:50-04:56 UTC (BILLING_AUTHORITY=billing in billing.env and live.env): deployed with `sudo ovhost deploy billing`, /opt/openvibe.billing, unit openvibe-billing, API on 127.0.0.1:4600 (loopback only; /api/v1 is denied on the public host). Public at https://billing.openvibe.network: the staff console (Network SSO + PKCE, BILLING_STAFF_SUBJECTS = the owner only), the billing policy (/policy), a person's own Vibes (/api/me/vibes, CORS for OpenVibe's sites), /api/health, /api/ready, /release.json and /webhooks/*. PowerChat deliveries reach /webhooks/powerchat through openvibe.live's /api/powerchat/webhook (proxied by Live's vhost, OpenVibe.Live#172).",
-- "contracts": "openvibe-contracts v0.209.0 (openvibe-sdk v0.28.0, openvibe-shared v2.13.0)",
++ "contracts": "openvibe-contracts v0.209.0",
"sdk": "openvibe-sdk v0.60.0",
"shared": "openvibe-shared v4.4.0",
"notes": "Runtime, journal, adapters, import, reconciliation and the staff console (cashout approve/deny, review queue, reconciliation, freeze, audit log) are built, tested and deployed, with /metrics (loopback only), hourly scheduled reconciliation, EXTERNAL PowerChat receipts (billing.receipt.external, announced for OpenVibe.Tips), overflow guards and serializable settlement (PostgreSQL, ADR-035). The cutover (README runbook, docs/live-cutover.md) ran on 2026-10-17: final import 0 new rows, 0 holds, 0 anomalies; reconciliation OK before and after; Live's money tables are read-only behind a database tripwire. OpenVibe.Tips and OpenVibe.VIP launched right after (VIP checkout open). Still due: a small real PowerChat purchase settling end to end after the cutover. Live's payouts, refunds and plans have no tables of their own; where they map is docs/live-mapping.md.",
@@@ -17,6 +17,7 @@
"provider receipts stored before processing, settled once (PowerChat, Stripe, PayPal, CCBill, NOWPayments adapters)",
"intents, transfers, refunds, recycle, cashouts with escrow",
"subscriptions and entitlements",
++ "creator-priced subscription tiers, kept and charged by Billing (OpenVibe.VIP sets them)",
"renewal grace: a failed credit renewal is past_due for BILLING_RENEWAL_GRACE_DAYS (default 3) and retried on its key until grace_until, then expires with grace_ended; set 0 for immediate expiry",
"staff refund of a credit-paid subscription period (POST /api/v1/subscriptions/:id/refund) and reconciliation of every paid period against its charge (subscriptions.period_charged)",
"EXTERNAL PowerChat receipts (billing.receipt.external under BILLING_AUTHORITY=billing)",
@@@ -29,7 +30,10 @@
"per-person limits (openvibe-sdk/limits)",
"usage readings (billing.usage.record)",
"usage rating: a rate card -> the subject's promo allowance -> one usage transaction per reading, under hard budgets (BILLING_RATING_INTERVAL_MS off by default; nothing charged without a loaded card, key usage:<reading key>)",
-- "promo allowance ledger"
++ "promo allowance ledger",
++ "a person's own Vibes for every site's account menu (/api/me/vibes)",
++ "network-wide money counts with no person in them, for products' public stats (billing.stats.read)",
++ "account export and deletion (ADR-033)"
],
-- "updated": "2026-10-21"
++ "updated": "2026-10-22"
}