Handlers
- EPK unlock webhook: applies
isUnlockedstate to EPK and artist documents. - Release purchase webhook: writes global and user purchase ledgers and fulfillment metadata.
- Streaming+/support webhooks: updates subscription state and gamification deltas.
- Connect account webhook: updates artist payout readiness via
stripeConnected.
Idempotency requirements
Every purchase event must be safe on retries. Existing session or purchase IDs are checked before duplicate writes.
Retry behavior
Stripe retries failed webhooks automatically. Endpoints must return 2xx only when writes are complete and consistent.
Response expectations
200: event accepted and processed
4xx: invalid payload or signature
5xx: transient processing failure (Stripe retries)