Payments
Connect Stripe so your users can subscribe to your paid plans. We use your Stripe account directly — money lands with you, not us. We don't take a cut.
Setup takes about a minute. Open Admin → Payments.
Step-by-step
1. Sign in to Stripe
Open dashboard.stripe.com in a new tab. If you're testing first, switch to test mode at the top — same flow, no real money.
2. Find your secret key
Top right → Developers → API keys. Under Standard keys, click Reveal on your Secret key. Copy it.
It starts with sk_live_… (real money) or sk_test_… (test mode).
3. Paste it into LNKS
Back in Admin → Payments:
- Paste the secret key
- (Optional) Paste your publishable key — only needed for future client-side widgets, skip for now
- Pick your currency
- Click Connect Stripe
That's it. We auto-test the key, register the webhook on your account, and lock everything in. You'll see a green Connected pill.
You don't have to touch your Stripe dashboard for webhook setup — we did it for you.
After connecting
The Payments tab shows:
- Account — the email + Stripe account ID you connected
- Secret key — masked (
sk_live_…ABCD) so you know which one is in use - Currency — locks once you set a price on any plan or take your first subscription
- Charges — Stripe's
charges_enabledflag. If it says "Pending", finish onboarding in your Stripe dashboard (verify your business, add payout details). Connecting the key works before that, but you can't actually take money until charges are enabled. - Webhook — the URL we registered on your account. You shouldn't ever need to touch it.
How users subscribe
Set monthly / yearly / lifetime prices on a plan. The plan gets a public page at https://your-domain.com/plans/<id> — share that URL, or click Share on the plan row to copy it.
A logged-in user clicking Subscribe goes through Stripe Checkout (Stripe-hosted form, fully PCI-compliant, no work for you). On success they're back on their account dashboard with the new plan applied. Webhooks keep their subscription state in sync — renewals, cancellations, failed payments all update automatically.
Disconnecting
Disconnect in the Payments tab clears your stored keys and removes the webhook from your Stripe account. Existing subscriptions in Stripe keep running on Stripe's side; we just stop processing events for them. Reconnect anytime.
What's stored
- Your secret key — encrypted at rest with AES-256-GCM. We never log the plaintext.
- Your webhook signing secret — same.
- Your publishable key, account ID, account email — plaintext (these aren't secret).
- A
stripe_customer_idper user once they've checked out — also not secret.
Test mode
If you connected with a sk_test_ key, you're in test mode. Use Stripe's test cards — 4242 4242 4242 4242 with any future expiry + any CVC works for happy-path. Disconnect and reconnect with your sk_live_ key when you're ready to take real money.