Tillping
Menu

Fix guides

Your Lovable or Bolt app does not react to payments

Apps built with tools like Lovable and Bolt often have a front end plus a few serverless functions. A webhook must point at a function. If it points at a page, the provider sees a happy reply and nothing runs.

What you might see

  • The payment succeeds, but your app never updates the user.
  • The provider shows 200 for the webhook, yet your database did not change.
  • Or the provider shows 401, 404 or 307 errors.

Why it happens

Single-page apps often answer every path with the same HTML page and a 200 status. A webhook sent to such a path looks fine to the provider, but no code runs.

Other common causes: a login check in front of the function, a redirect, test mode and live mode set up separately, or an endpoint the provider turned off after many failures.

How to fix it

  1. Point the webhook at a function. Use the address of your serverless function, not a page route like /payment-success. Open it in a browser with a GET request. A page with your app's layout means you hit the front end.
  2. Turn off the login check for that function. If your platform checks for a login token, an outside provider will be refused. Turn that check off for the webhook function only, and verify the provider signature in code.
  3. Register the right mode. Add a webhook in test mode and another in live mode. Each has its own address entry and its own secret.
  4. Pick the events you need. Make sure the events your app waits for are selected, for example checkout completed or subscription created.
  5. Check the endpoint is still on. Providers can disable an endpoint after many failed deliveries. Re-enable it after you fix the cause.

Check your fix

Scan the exact webhook address with Tillping. A page-like HTML answer to a POST, a redirect or a login wall will show up as a finding.

Run the free check

Paste your webhook address and see what your endpoint answers. No account. No keys.

Check my webhook