Skip to main content
Webhooks let Pocketsflow notify your systems in real time when something happens in your account — a sale completes, a subscription changes, a refund is issued, and more. When you register a webhook endpoint, you choose which of the events below you want delivered.

Delivery format

Every delivery is an HTTP POST with a JSON body and the following headers:
HeaderDescription
X-Pocketsflow-EventThe event type (for example, order.completed).
X-Pocketsflow-SignatureAn HMAC-SHA256 signature of the payload, used to verify authenticity.
X-Pocketsflow-TimestampWhen the event was sent.
Always verify the X-Pocketsflow-Signature before trusting a payload — see Authentication & security.
Each event is delivered with a single attempt and a 5-second timeout. Make your endpoint fast (acknowledge with a 2xx immediately and process asynchronously), and reconcile periodically via the API in case a delivery is missed.

Order events

EventWhen it fires
order.completedA payment succeeded and the order is complete.
order.refundedAn order was refunded (fully or partially).
Use these to fulfil purchases, grant access, sync your CRM, or trigger onboarding emails.

Subscription events

EventWhen it fires
customer.subscription.createdA buyer started a new subscription.
customer.subscription.updatedA subscription’s plan or status changed.
customer.subscription.deletedA subscription was cancelled/ended.
customer.subscription.pauseA subscription was paused.
customer.subscription.resumedA paused subscription resumed.
customer.subscription.trial_will_endA free trial is about to end.
Use these to grant or revoke access to communities, courses, or external tools, and to send lifecycle emails.

Invoice events

EventWhen it fires
invoice.createdA new invoice was generated.
invoice.upcomingA recurring invoice is coming up.
invoice.paidAn invoice was paid.
invoice.payment_succeededAn invoice payment succeeded.
invoice.payment_failedAn invoice payment failed (e.g. card declined).

Payment events

EventWhen it fires
payment_intent.succeededA payment was confirmed.
payment_intent.payment_failedA payment attempt failed.

Product events

EventWhen it fires
product.createdA new product was created.
product.updatedA product was modified.
product.deletedA product was deleted.

Customer & review events

EventWhen it fires
customer.createdA new buyer/customer record was created — including automatically on every completed sale (Stripe and Whop), as well as when you create a customer via the API.
review.createdA buyer left a review.
On a sale, customer.created is delivered alongside order.completed. Its payload contains the new customer (id, email, firstName, lastName, country) plus the related product, order, and any metadata. Subscribe to it to sync new buyers into your CRM the moment they purchase.