- Help
- Connect your accounts
- Connecting Stripe
Connecting Stripe
On this page
What this is for in Lazycom
Stripe lets your store accept card payments in USD. In Lazycom, go to Settings → Payments → Stripe. You'll paste three values there: the API Key (secret key), the Publishable Key, and a Webhook Secret, then turn the toggle on.
Finding the values in Stripe's dashboard
- Sign in at dashboard.stripe.com. The dashboard has a Sandbox / Live switch near the top — start in sandbox (test) mode so nothing charges real cards while you set things up.
- Go to Developers → API keys (dashboard.stripe.com/apikeys).
- The Publishable key starts with
pk_test_in sandbox orpk_live_live. It's safe to expose; copy it into Lazycom's Publishable Key field. - The Secret key starts with
sk_test_/sk_live_. Stripe shows it once — copy it immediately into Lazycom's API Key (Secret Key) field, since you can't reveal it again later (you'd have to roll a new one).
- The Publishable key starts with
- Go to Developers → Webhooks (dashboard.stripe.com/webhooks) and click Add endpoint.
- Paste Lazycom's webhook URL, shown under the Stripe section on the Settings → Payments page, into the endpoint URL field.
- Select events
payment_intent.succeededandcheckout.session.completed(orders), pluscharge.refunded(so refunds you issue in Stripe reflect back on the order). Also selectcheckout.session.async_payment_succeededandcheckout.session.async_payment_failed: some payment methods (for example bank debits) finish a checkout before the money has arrived, and Lazycom only marks the order paid when Stripe says the money is in. - After creating the endpoint, open it and copy its Signing secret (starts with
whsec_) into Lazycom's Webhook Secret field.
- Save. Lazycom's Stripe section shows Configured once all three values are stored, and the toggle can then be switched to Active.
Testing the connection
Use the Test Connection button on the Stripe card after saving your keys. It calls Stripe's balance endpoint with your secret key — "Connection OK" means the key is valid; a failure usually means the wrong key type was pasted (e.g. a publishable key in the secret field) or the key was revoked.
Test vs live mode
Sandbox (test) keys and live keys are separate objects in Stripe — test payments never touch real money. Switch Stripe's dashboard toggle to live mode before copying your live keys into Lazycom, and remember to add a second, separate webhook endpoint for live mode (Stripe keeps test and live webhooks apart, same as it does keys).
Troubleshooting
- "Connection test failed. Check your credentials." — most often a test/live key mismatch, or the secret key was rotated in Stripe after it was saved in Lazycom. Re-copy the current key.
- A card or bank order stays "pending" after the customer paid — check that the endpoint also has the two
checkout.session.async_payment_...events selected (step 3 above). A bank-debit payment is only confirmed when Stripe sendsasync_payment_succeeded. - Webhook events aren't updating orders — check the endpoint in Stripe's dashboard for delivery attempts and response codes; a
400there usually means the Webhook Secret in Lazycom doesn't match the endpoint's current signing secret (rotating the endpoint issues a new one). - Toggle won't turn on — Lazycom requires the keys to be saved first ("Save your keys first" under the toggle).
Safety
Never paste your Stripe secret key or webhook signing secret into this chat — paste it directly into the Lazycom field in Settings → Payments. If a secret key was ever pasted somewhere other than that field (chat, email, a shared doc), roll it in Stripe (Developers → API keys → rotate) and update it in Lazycom.
Still stuck?
Tell us what you were trying to do and we will help you finish it.
Still stuck?
Ask Lazzy in your dashboard. It can look at your own orders and settings with you.