stripe_read_failed
Raised on POST /stripe/webhook only, and its audience is Stripe rather than a customer: an inbound invoice or subscription event could not be re-read from Stripe because Stripe did not answer. The 503 is the point - a non-2xx is how Stripe is asked to redeliver, and the alternative is acknowledging an event whose invoice was never mirrored or whose lifecycle state was never synchronized. A permanent refusal (a deleted object, a key that cannot see it) is logged and acknowledged instead, because no redelivery fixes it.
Problem shape
Every non-2xx response is an RFC 9457 application/problem+json body. The type URI below is stable and machine-matchable, so branch on the final path segment (the code) and treat the status as redundant confirmation. See the error-handling guide.
{
"type": "https://docs.vocapable.com/errors/stripe_read_failed",
"title": "…",
"status": 503,
"detail": "…",
"instance": "/v1/…"
}