credit_note_payment_pending
Raised by POST /admin/invoices/{id}/credit-note (action billing.credit_note.issue) when Stripe refuses credit-note creation because a payment_intent is pending on the open invoice. Reachable exactly when a comped tenant was left on charge_automatically, which is what the code above exists to prevent. What an operator does: resolve the in-flight payment at Stripe - let it settle and refund it, or cancel it - then fix the tenant's collection method with billing.collection_method.set and replay the same request. Nothing changed on our side and no credit note exists. Note that the recovery leaves a refund on the invoice, which books to the external-asset refunds family rather than to credit notes and tells a different story than the comp intended. P1 - built 2026-08-19 (billing_admin.py:1583, on the gateway's pending-payment discrimination at billing_stripe.py:1245).
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/credit_note_payment_pending",
"title": "…",
"status": 409,
"detail": "…",
"instance": "/v1/…"
}