The hosted payment page

How customers pay with hosted Checkout, the card vault, and redirect.

Status: test-only. Customers can complete a test-mode payment on the hosted page at pay.fluveo.com, reached via the url on a Checkout Session or a payment link.

Coming from Stripe? Hosted Checkout is not Elements. “Payment Element” in Stripe is a client-side component you mount in your own page. Hosted Checkout is a complete Fluveo page — you redirect to it; you do not embed it. If you need an in-page payment form, no public Elements/publishable-key flow is currently certified.

When a customer opens the session/link url, Fluveo serves a complete payment page:

  • The Fluveo runtime at /v1/fluveo.js renders the payment form (card fields, wallets where enabled, and any required 3-D Secure step). It runs on Fluveo’s domain, not yours, and exposes window.Fluveo in the browser.
  • Card data goes to the vault, never to you. PANs are captured directly into the card vault (VGS) on the hosted page, so the raw card number never touches your servers — this is what keeps your PCI scope at its lowest.
  • On completion, Fluveo redirects the customer to the success_url (or cancel_url), appending the session id so your return handler can look it up.

Your responsibilities

The hosted page handles collection; you handle the bookends:

  1. Create the Checkout Session (or link) and redirect to its url.
  2. On return, re-retrieve server-side and fulfill only when paid — see the Checkout overview golden path.
  3. Reconcile server-side by retrieving the Checkout Session until it reaches a terminal state. You may also use a signed merchant WebhookEndpoint.

Runtime boundary

Hosted Checkout delivers the browser runtime as part of the page. There is no loader package to install for this redirect flow. A fully custom in-app card form is not part of the promoted public contract because Fluveo does not issue publishable keys today.