mode: 'api'hostedUrl. You redirect the customer there; Stripe hosts the entire payment form. Nothing to build on your frontend.mode: 'elements'PaymentIntent (or SetupIntent) and returns clientSecret. You mount your own Stripe Elements form, using the optional @ricardoneudorfer/stripekit/elements helper or your own code, and confirm the payment yourself. Full control over your UI. See Stripe Elements.mode: 'both''api' behavior, but every call that creates a payment or checkout accepts a mode (or flowOverride) argument to choose per call.| Field | Set when |
|---|---|
hostedUrl | Resolved flow is api |
clientSecret | Resolved flow is elements |
kit.payments.create() and kit.checkout.create() follow this same pattern.