Skip to main content
Use this page for server-owner monetization webhook handling.

What this webhook is for

This webhook is sent for the server premium lifecycle.

Event delivered

Headers

  • X-Webhook-Signature: HMAC SHA-256 signature of the exact JSON body
  • Content-Type: application/json

Payload example

Lifecycle payload examples

subscription.renewed

subscription.expired

subscription.revoked

Signature verification

Use the raw body exactly as received before JSON parsing transformations.

Example receiver

Production handling checklist

  • Verify X-Webhook-Signature before processing any event.
  • Deduplicate by orderId plus event.
  • Keep handler idempotent so retries do not double-apply entitlements.
  • Persist purchaseId and orderId for reconciliation.
  • Treat subscription.revoked as highest-priority entitlement removal.
  • Return 2xx quickly and move heavy work to async jobs.

Vote Webhooks

Separate webhook flow for verified vote events.

Troubleshooting

Debug signature mismatches and duplicate deliveries.