Payments

Create a guest checkout

Requires an API key with the payments scope and full access. Call this endpoint only from your server. Send only the returned client_secret and stripe_publishable_key to your browser, load Stripe.js with that key, mount Stripe Elements with the client secret, and call stripe.confirmPayment in the browser. The key is Aisle's: the PaymentIntent is created on Aisle's Stripe account and paid out to the couple, so a publishable key of your own cannot confirm it, and Stripe.js takes no connected account. Never send the Aisle bearer key to browser JavaScript.

Aisle owns admission, ticket, room, instalment, currency, status, and fee values. Only a registry contribution accepts a caller-chosen amount. Accommodation checkouts use the same durable room hold, household share, and recovery rules as Aisle's guest site.

A registry contribution names an invited guest with guest_id, or carries the giver's own contributor_name and contributor_email when they are not on the guest list. Send one or the other. A gift without a guest_id needs the wedding's public_registry_enabled switch, which GET /wedding returns and PATCH /wedding sets; with the switch off the answer is 403. Stripe emails the receipt to contributor_email, and GET /registry/contributions returns the typed name.

A successful response creates a pending Aisle ledger row. Stripe confirmation and Aisle settlement happen asynchronously, so poll GET /payments/{payment_id}. This POST has no general idempotency-key contract. If the response is lost, reconcile with the payment list before deliberately creating another checkout. Do not retry blindly.

post/checkouts

Request

  • Base URL: https://api.aisle.wedding/v1
  • URL: https://api.aisle.wedding/v1/checkouts
  • Auth: HTTP bearer

Request body

OR
OR
OR

Response

Success.

Changes

No recorded changes to this operation across all 1 revision of this API.