Failment

Stripe Webhook Setup

Comprehensive tutorial for integrating Stripe webhooks with Failment for real-time payment monitoring.

Overview

Failment uses a personal Stripe webhook endpoint per account to securely receive real-time payment events. This guide walks you through creating the endpoint, selecting required events, securing your signing secret, and verifying delivery.

Security Note:

Keep your signing secret (starts with whsec_) secure. Never share it.

Prerequisites

  • Active Stripe account with Dashboard access to Developers → Webhooks
  • Logged into Failment with an active session
  • Your personal webhook URL from Failment: Dashboard → Settings → Payment Processors → Webhook Setup

Step-by-step Setup

Follow these detailed steps to configure your Stripe webhook integration with Failment.

Create a webhook endpoint in Stripe

1Open your Stripe Dashboard and go to Developers → Webhooks.
2Click Add endpoint and paste your personal Failment endpoint URL.
3Set the endpoint version to the latest or your preferred stable version.
4Click Add endpoint to save.

Select required events

1From the endpoint details page, click Select events.
2Choose the following events: payment_intent.payment_failed, payment_intent.succeeded, charge.failed, charge.succeeded, invoice.payment_failed, invoice.payment_succeeded.
3Save your changes.

Retrieve the signing secret

1On the endpoint details page, click Reveal under Signing secret.
2Copy the secret that starts with whsec_. Keep it secure.

Configure the secret in Failment

1In Failment, navigate to Dashboard → Settings → Payment Processors → Webhook Setup.
2Paste the whsec_ signing secret into the Webhook Secret field and save.

Test the webhook

1In Stripe, use the Send test event action on the endpoint.
2Send a payment_intent.payment_failed test event and verify that Failment reports receipt in your dashboard or logs.

Rotate the signing secret (optional)

1In Stripe, click Rotate secret to generate a new whsec_.
2Immediately update the secret in Failment and save to avoid delivery failures.

Troubleshooting

  • Ensure the endpoint URL exactly matches your personal URL shown in Failment (no trailing spaces).
  • Verify the whsec_ is correct and has no extra characters.
  • Confirm the selected events include all required ones listed above.
  • Check Stripe’s webhook delivery logs for response status and error messages.
  • Ensure your Failment session is active when testing, or wait a few minutes for background job syncs.

FAQ

Do I need to expose a public server?

No. Failment hosts the endpoint. You only configure Stripe to send events to your personal Failment URL.

Which events are required?

Use the set listed above in Select required events. You can add more if needed.

Can I rotate the signing secret?

Yes. Rotate in Stripe, then immediately update it in Failment to avoid delivery failures.

Resources