Webhooks
Webhook endpoints receive notifications from payment providers and verification services. These are server-to-server calls — you typically do not call them directly.
Payment Provider Webhooks
Stripe Webhooks
POST /pwh/stripe
Receives events from Stripe (e.g. charge.succeeded, checkout.session.completed). Used to:
- Confirm payment completion
- Update wallet balance
- Unlock content for buyer
Configure in Stripe Dashboard: Set webhook URL to https://fangate.info/pwh/stripe
PayPal Webhooks
POST /pwh/paypal
Receives events from PayPal. Used for:
- Order capture confirmation
- Payment completion
- Wallet updates
Configure in PayPal Dashboard: Set webhook URL to https://fangate.info/pwh/paypal
Epoch Webhooks
POST /pwh/epoch
Receives events from Epoch (adult industry payment processor).
Route name: epoch.webhook
Verification Webhooks
Yoti Webhook
POST /api/yoti/webhook
Receives age verification results from Yoti. Used to:
- Confirm buyer is 18+
- Allow purchase to proceed
- Deny purchase if verification fails
Veriff Webhooks
| Endpoint | Purpose |
|---|---|
POST /veriff/events | General Veriff events |
POST /veriff/decision | Verification decision (approve/decline) |
POST /veriff/auto | Automated verification flow |
Route names: veriff.events, veriff.decision, veriff.auto
Webhook Security
- Webhooks use HTTPS only
- Payment providers sign payloads — verify signatures before processing
- Use idempotency where possible to handle duplicate events
- Respond with
200 OKquickly; process asynchronously if needed
Integration Notes
If you are building a third-party integration that needs to receive Fangate events (e.g. payment completed, product unlocked), contact the Fangate team. Current webhooks are primarily for internal payment provider integrations (Stripe, PayPal, Epoch) and verification (Yoti, Veriff).
Future versions may expose webhooks for:
- Payment completed
- Payout status changed
- Product purchased
- Verification completed