← 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
A scripts/crcp-billing.jsM scripts/serve.js
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 →