Skip to main content
Appstle Memberships webhooks deliver real-time HTTP notifications to your server whenever a membership event occurs. Webhooks are powered by Svix — enterprise-grade infrastructure with automatic retries, cryptographic signature verification, and detailed delivery monitoring.

Getting started

1

Open webhook settings

In your Appstle Memberships admin, go to Settings → Webhooks.
2

Add an endpoint

Click Add Endpoint and enter your HTTPS endpoint URL.
3

Select events

Choose which events you want to receive, or subscribe to all events to ensure you never miss one.
4

Save

Your endpoint will start receiving events immediately after saving.
Webhooks are available on paid plans. Contact support@appstle.com to enable access.

How webhooks work

Webhooks are HTTP POST requests sent to your endpoint whenever a membership event occurs. Your endpoint must:
  • Be publicly accessible via HTTPS
  • Return a 2xx status code within the timeout window
  • Process events asynchronously — queue them for background processing, then respond immediately
Svix provides automatic retries with exponential backoff, cryptographic signature verification, detailed delivery logs, and the ability to replay events from your dashboard.

Event types

Membership lifecycle events

Billing events

Payload structure

All webhooks share this top-level structure:
The data field contains the event-specific payload.

Membership contract payload

The lifecycle events membership.created, membership.updated, membership.activated, membership.paused, membership.cancelled, membership.expired, membership.swap-product, membership.next-order-date-changed, and membership.billing-interval-changed all deliver a full membership contract object:

Billing success payload

Billing failure payload

Common billingAttemptResponseMessage values:

Signature verification

Every webhook request is signed by Svix. Always verify the signature before processing the payload — this ensures the request genuinely came from Appstle and has not been tampered with. Svix includes three headers on every request: Find your webhook signing secret in your Appstle dashboard under Settings → Webhooks → [your endpoint].
Pass the raw request body to the signature verification function — before JSON parsing. Parsing the body first will cause verification to fail because the byte representation changes.
For Ruby, Go, PHP, Java, and C# examples, see the Svix documentation.

Retry schedule

If your endpoint returns a non-2xx status code or times out, Svix retries with exponential backoff across 5 attempts over 3 days. You can view delivery history and manually replay events from your Appstle dashboard under Settings → Webhooks → Message Logs.

Idempotency

Webhooks can be delivered more than once. Use the svix-id header value as an idempotency key to safely deduplicate events in your database before processing.

Local development

Use ngrok to expose your local server for webhook testing:

Troubleshooting