Record payment

Tell PayShare a participant’s external payment succeeded or failed.

POST /api/v1/payments/sessions/{sessionId}/participants/{participantId}/record-payment with your API key. Call from your stripe-success bridge (and optionally Stripe webhooks) — not from the browser with the API key.

Typical authorize body

{
  "kind": "authorize",
  "amountMinor": "28350",
  "currency": "NZD",
  "externalProvider": "stripe",
  "externalPaymentReference": "cs_test_..."
}

When all participants are recorded paid, PayShare completes the session and sends PAYSHARE_SESSION_COMPLETED. Use capture vs authorize per your settlement rules.

Idempotency

Repeating the same externalPaymentReference should return replayed: true. Your Stripe webhook and success bridge must not double-charge on retries.