// use case

Expose your Rails dev server to Stripe for Stripe webhooks

Stripe needs a public HTTPS URL to deliver webhook events. Your dev server runs on localhost, so you need a tunnel between them — and a stable URL so you don't have to repaste it into the Stripe dashboard every restart. Ruby on Rails dev server.
  1. Reserve a stable subdomain

    On the lrok free plan you keep one reserved subdomain forever. Pick a name your Stripe dashboard can hold onto — webhook URLs that survive laptop restarts mean fewer dashboard re-pastes.

    $ lrok reserve rai-stripe
      Reserved https://rai-stripe.lrok.io
  2. Run your Rails app

    Start the dev server on port 3000 (the Rails default).

    $ rails s
  3. Tunnel localhost to the public URL

    lrok forwards https://rai-stripe.lrok.io/webhooks → http://127.0.0.1:3000/webhooks. The flag --hint binds your reserved subdomain to this tunnel.

    $ lrok http 3000 --hint rai-stripe
      Forwarding https://rai-stripe.lrok.io  ->  http://127.0.0.1:3000
  4. Paste the URL into Stripe

    Developers → Webhooks → Add endpoint. Paste https://rai-stripe.lrok.io/webhooks as the destination.

  5. Watch deliveries land in the request inspector

    Every webhook Stripe sends shows up at lrok.io/dashboard with full body, headers, status, and latency. Re-deliver any request to your Rails handler with one click. Verify the Stripe-Signature header against the raw request body — not the parsed JSON. The /tools/webhook-signature-verifier tool catches mismatches in seconds.

// why lrok for this

lrok's reserved subdomain is free and lives forever, so your Stripe stripe webhooks URL never rotates. $9/mo flat for unlimited tunnels — no SSO tax, no enterprise-only signature verification, no bandwidth metering. The request inspector is built in.

Related workflows