Webhooks areDocumentation Index
Fetch the complete documentation index at: https://docs.whop.com/llms.txt
Use this file to discover all available pages before exploring further.
POST requests from Whop to your server. Use them to react to events like payment.succeeded, membership.activated, or entry.created.
Set up a webhook
Create the webhook in the dashboard
Navigate to the Developer tab in your dashboard.Click Create Webhook in the top right corner.
Choose events and URL
Enter your webhook URL and select the events that you want to receive.
Ensure that you are on API version
v1.When testing locally, use ngrok or Cloudflare Tunnel to forward requests to your local development environment.
Store the webhook secret
Copy the webhook secret from the dashboard and store it as
WHOP_WEBHOOK_SECRET.Handle events on your server
Your endpoint now receives
POST requests for every event you selected. See Validating webhooks for example handlers.Validating webhooks
Always verify webhook signatures before you trust the payload. Otherwise someone could send your endpoint a fake event.Delivery guarantees
- At-least-once delivery. You may receive the same event more than once. Make your handler idempotent. Use the
webhook-idheader (or a unique field in the event body) as a dedup key. - Retries on non-2xx responses. Whop makes the initial delivery attempt, then retries up to 3 times after 10 seconds, 20 seconds, and 40 seconds if your endpoint errors or does not return a 2xx in time. Failed deliveries stop after that short retry window.
- Ordering is not guaranteed. An event created later may arrive before an earlier one. Don’t assume sequential delivery.
- Respond fast. Do the minimum work needed to acknowledge the event (verify + enqueue), then return 2xx. Long-running fulfillment belongs in a background task.
Troubleshoot webhook delivery
Fix signature failures, retries, duplicate events, and local tunnel issues.
Available webhooks
Every webhook Whop sends is documented in the API Reference. Within each resource, thehook pages specify the event name and the exact payload schema.
Common events:
payment.succeeded: a payment is successfully processed.membership.activated: someone joins your community on a product.membership.deactivated: a membership goes invalid (failed payment, cancellation, or leaving).entry.created: someone joins a waitlist.refund.created: a payment is refunded.dispute.created: a buyer opens a chargeback.
Next steps
Accept payments
Pair
payment.succeeded webhooks with checkout to fulfill orders.Save payment methods
Use setup intents + webhooks to charge customers later.
API walkthrough
See where webhooks fit alongside checkout, transfers, and KYC.
Run a local dev proxy
Forward Whop webhooks to localhost while developing.

