Default mode — test with Stripe
- In the dashboard, paste a restricted Stripe test API key (
sk_test_…
). - Trigger a top‑up normally. The assistant message will include a Stripe test checkout link.
- Pay with a Stripe test card (e.g.,
4242 4242 4242 4242
). Paywalls receives the webhook and auto‑deposits credits to the user’s app‑scoped balance. - Make chat requests; charges are computed and written to the ledger just like production.
Switch to live
- Replace the key with your restricted Stripe live key (
sk_live_…
) in the dashboard. No code changes required. - If you mirror balances in your own DB, clear any test balances/receipts before go‑live. Paywalls’ ledger will keep historical test entries for audit.
Shared mode — current limitations
- Top‑ups are hosted by Paywalls; there is no sandbox yet. You can test authorization flows and paywall messages, but funding the shared wallet currently requires real payments. (Roadmap: shared‑mode sandbox.)
Tips
- Never expose API keys in the browser; keep them server‑side.
- Use clearly labeled test users (e.g.,
user_test_alice
) to filter analytics. - If you use custom rails (non‑Stripe) in Default mode, simulate payments by calling Deposit API from your staging system.