[object Object]

← back to Commercialrealestate

P1.5 Stripe/tiers TEST scaffold: crcp-billing.js (Free/Pro $79/Team $299) — tiers catalog + checkout + webhook, TEST-keys-only, degrades to configured:false; live keys/charges Steve-gated

459008ee9d8bee183f213994680f62028efddcac · 2026-07-31 10:47:53 -0700 · steve

Files touched

Diff

commit 459008ee9d8bee183f213994680f62028efddcac
Author: steve <steve@designerwallcoverings.com>
Date:   Fri Jul 31 10:47:53 2026 -0700

    P1.5 Stripe/tiers TEST scaffold: crcp-billing.js (Free/Pro $79/Team $299) — tiers catalog + checkout + webhook, TEST-keys-only, degrades to configured:false; live keys/charges Steve-gated
---
 scripts/crcp-billing.js | Bin 0 -> 4471 bytes
 scripts/serve.js        |   2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/crcp-billing.js b/scripts/crcp-billing.js
new file mode 100644
index 0000000..c671967
Binary files /dev/null and b/scripts/crcp-billing.js differ
diff --git a/scripts/serve.js b/scripts/serve.js
index a09efcb..3afd94c 100644
--- a/scripts/serve.js
+++ b/scripts/serve.js
@@ -56,7 +56,7 @@ app.use((req, res, next) => {
 });
 
 // ── P1 subscription layer: accounts + saved searches + watchlist (docs/TOOL-SPEC.md) ──
-try { require('./crcp-accounts')(app, ROOT); } catch (e) { console.error('[crcp-accounts] mount failed:', e.message); }
+try { const acct = require('./crcp-accounts'); acct(app, ROOT); require('./crcp-billing')(app, ROOT, acct.userOf); } catch (e) { console.error('[crcp-accounts/billing] mount failed:', e.message); }
 
 // ── Agent-contact CRM (durable, local JSON) ─────────────────────────────────────────
 // One record per listing id: editable {name,phone,email}, a `contacted_at` stamp, and an

← 25ec39f deploy P1 + wire email: send-magic-link.js (George, fail-clo  ·  back to Commercialrealestate  ·  CRCP lending layer: FDIC lenders slice — 95 banks w/ LA-Coun 22eb700 →