Checkout session

Checkout is payment embedded in your site: customer lands on a Zevio page with the payment form. You create a checkout session via API - in panel docs (Developers → REST API). Response has sessionId, embedUrl (to embed or redirect) and expiresAt. Session lifetime: default 30 minutes; optionally up to 24 hours. After expiry customer sees This checkout session has expired and cannot pay - need a new session and embedUrl.

What the customer sees

Same form as payment link (amount, BLIK or card, terms, email). Field and button details: How payment looks.

Processing payment page

After Pay customer sees Processing payment with "Please wait, confirming your payment…" and spinner. Page polls status. After confirmation - redirect to success or error (or successUrl / cancelUrl from session). Do not close the window.

Session problem messages

  • Checkout session not found - invalid or non-existent id; back button.
  • This checkout session has already been completed - cannot pay again with same session.
  • Session expired - need new link.
  • Session was canceled - create new session.

After confirmation customer goes to gateway or "Please wait…"; after settlement - success or error page. If you set successUrl and cancelUrl when creating the session, customer may be redirected there.

Session object and expiry

API response: sessionId, embedUrl, expiresAt. After creating payment in session paymentId appears. Session status: PENDING, COMPLETED, EXPIRED, CANCELLED. After successful payment status becomes COMPLETED; same session cannot be reused. Default lifetime 30 min; you can pass expiresInMinutes (optional, max 1440). Full field list in panel REST API docs.

Checkout session | Zevio