Skip to content

settle_out_of_band_unconfirmed

The same route when Stripe did not answer the invoice re-read or the pay_invoice_out_of_band call - a transient or timeout class, not a definite refusal. Whether the pay applied is unknown. The drawdown reservation is durable and the pay is idempotent on the invoice id (paying an already-paid invoice is a Stripe no-op), so a replay of this same request converges rather than double-pays, and the paid flip arrives on invoice.paid alone. Deliberately not retried in-band beyond that idempotent replay, on credit_note_issue_unconfirmed's posture. What an operator does: wait for invoice.paid to land, or re-send the same request once Stripe answers. P1 - built 2026-08-29 (ADR-0035 d5; billing_admin.py _settle_out_of_band_unconfirmed).

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/settle_out_of_band_unconfirmed",
  "title": "…",
  "status": 502,
  "detail": "…",
  "instance": "/v1/…"
}

← Back to the error registry