receptionist_connections_charge_unconfirmed
The prepaid month's payment may or may not have been taken: Stripe did not answer, answered a success the adapter cannot parse, answered about a charge whose customer/amount/currency this request does not recognize, or reported the PaymentIntent as processing - a delayed instrument such as an ACH debit that has not settled. No subscription item was touched and the local count is unchanged, so no capacity is reserved. Distinct from receptionist_connections_update_unconfirmed, and the difference is what to do next: that code means an item change may have landed and the signed customer.subscription.updated webhook will reconcile it; this one means money may have moved, no item changed, and no webhook is coming for it. The customer re-sends the same absolute target - the charge is keyed on the subscription and on the counts it moves from and to, so a replay inside Stripe's idempotency window completes the purchase rather than collecting a second month. The one case whose detail says otherwise is a charge Stripe attributed to a different customer or amount: contact support to reconcile it instead of retrying, because that response is not evidence about this purchase in either direction.
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/receptionist_connections_charge_unconfirmed",
"title": "…",
"status": 502,
"detail": "…",
"instance": "/v1/…"
}