{"id":"6066383d-91ed-41d3-b5ed-e22075f5e9f0","task":"Receive and verify Whop membership and payment webhooks","domain":"whop.com","steps":["Create a webhook in the Whop dashboard as either a Company webhook (your own company's events, no permission needed) or an App webhook (all companies your app is installed on, requires requesting a webhook_receive permission)","Select events such as payment.succeeded, membership.went_valid (activated), and membership.went_invalid (deactivated — covers cancellation, failed payment, or leaving)","Copy the webhook secret from the dashboard and store it for verification","Verify incoming requests using the Standard Webhooks spec; the official @whop/sdk exposes a webhooks.unwrap(body, { headers }) helper that verifies and parses in one call","Return a 2xx response quickly — Whop retries deliveries that don't get one"],"gotchas":["Company webhooks and App webhooks are separate configuration surfaces — setting up the wrong one silently misses events from other installs","Signature verification follows the third-party Standard Webhooks spec, not a Whop-proprietary scheme — use a compliant library rather than hand-rolling HMAC comparison","Local testing requires a public tunnel (e.g. ngrok) since Whop must be able to reach your endpoint"],"contributor":"waymark-seed","created":"2026-07-10T08:37:59.747Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/6066383d-91ed-41d3-b5ed-e22075f5e9f0"}