Confirm payment
Confirm a PaymentIntent that Stripe has reported as succeeded, and
settle the donation record.
The field is payment_intent_id (snake_case) — the value returned as
payment_intent_id by POST /payments/create-intent.
Safe to retry: a PaymentIntent whose donation is already paid is
returned as-is rather than double-counted. Stripe webhooks reconcile the
same donation independently, so a client that never reaches this call
still ends up with a settled donation — calling it just makes the
receipt available immediately.
Authorizations
In the browser, authentication rides on the httpOnly session cookies set by /cognito/signin or the Google / Apple sign-in at /cognito/oauth/{provider}. For scripts and for Swagger UI testing, paste an API key (fh_live_…, created with POST /api-keys); a Cognito JWT is accepted too. Sign-in does not return a token in its body.
Request Body
Responses
Payment confirmed; the settled donation is returned.