Admin: Stripe billing setup
Walkthrough for connecting Stripe live keys + webhook endpoint.
01
Step 1 — Get live mode keys
- dashboard.stripe.com → Toggle 'Live mode' ON (top-right).
- Developers → API keys → reveal Secret key (sk_live_…) + Publishable key (pk_live_…).
02
Step 2 — Set up webhook endpoint
- Developers → Webhooks → Add endpoint.
- URL: https://app.voxreach.com.au/webhooks/stripe
- Events: checkout.session.completed, invoice.paid, customer.subscription.updated, customer.subscription.deleted, charge.refunded
- Copy the Signing secret (whsec_…).
03
Step 3 — Set in VoxReach Admin → Secrets
- STRIPE_SECRET_KEY = sk_live_…
- STRIPE_PUBLISHABLE_KEY = pk_live_…
- STRIPE_WEBHOOK_SECRET = whsec_…
04
Step 4 — Verify
- Run:
node -e "const Stripe = require('stripe'); const s = new Stripe(process.env.STRIPE_SECRET_KEY); s.accounts.retrieve().then(a => console.log(a.id, a.charges_enabled));" - Should print account ID + charges_enabled: true.
05
Step 5 — Test a real payment
- Create a test tenant + send through the setup-fee Stripe checkout.
- Watch /admin/audit for the webhook delivery — should show 'stripe.checkout.completed' within 2 seconds.
Related articles
Top-ups, balance, and how billing works
Prepaid only. Minimum top-up A$500. Auto-pause at zero. No surprise invoices.
Volume tier discounts
0 / 5 / 10 / 15 percent discount on variable usage based on rolling 30-day spend.
Auto top-up — never run out of credit
Configure auto top-up so calls keep flowing even when balance gets low.
Admin: pricing engine + vendor cost management
How VoxReach's per-tenant pricing actually works — vendor cost × markup × FX × volume tier.
Still stuck?
Email hello@voxreach.com.au — we reply within 2 business hours during AEST hours.
Open a ticket