Billing

Stripe webhook receiver (signature-verified)

Handles checkout.session.completed, checkout.session.async_payment_succeeded, checkout.session.async_payment_failed, customer.subscription.updated and customer.subscription.deleted. Fulfilment is gated on payment_status, so a delayed method (boleto) fulfils on async_payment_succeeded, not on the earlier completed. Idempotent: each plan handler assigns an absolute state, so replays converge; a credit-pack purchase is a delta deduplicated by Checkout Session id. A storage failure returns 500 so Stripe re-delivers (safe under idempotency).

post/api/v1/billing/webhook

Request

  • Base URL: https://tamperlens.com (the document declares no server; this is the origin it was published from)
  • URL: https://tamperlens.com/api/v1/billing/webhook
  • Auth: none declared

Response

Default Response

object required

Changes

No recorded changes to this operation across all 1 revision of this API.