public

POST /v1/public/checkout

Check out as a guest — create the account and place the order.

Όλα τα τελικά σημεία public

Όλα τα έγγραφα προγραμματιστών

Πισtoποίηση

Αυτό το τελικό σημείο είναι δημόσιο. Δεν απαιτεί διαπιστευτήρια ούτε οργανισμό — είναι αυτό που διαβάζουν ο δικός μας ιστότοπος μάρκετινγκ και οι μηχανές απαντήσεων τεχνητής νοημοσύνης.

Αυτό το τελικό σημείο δεν δέχεται αναγνωριστικό οργανισμού. Το κλειδί σας προσδιορίζει ήδη τον οργανισμό στον οποίο ανήκει, και η απάντηση περιορίζεται σε αυτόν.

Δοκιμάστε το

Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.

curl -X POST https://api.zinndigital.com/v1/public/checkout \
  -H "Content-Type: application/json" \
  -d '{ "cart_token": <string>, "email": <string>, "billing": <PublicBilling> }'

Συνδεθήκατε; Η κονσόλα API στον πίνακα ελέγχου σας συμπληρώνει το πραγματικό αναγνωριστικό του οργανισμού σας και το δικό σας κλειδί, και εκτελεί το αίτημα στο ζωντανό API, ώστε να μπορείτε να δείτε την πραγματική απόκριση. Ανοίξτε αυτό το τελικό σημείο στην κονσόλα API

Λεπτομέρειες

Converts an anonymous cart into a real tenant: it creates the organization and the user at this point, captures the billing details, and places an immutable order. Availability is re-verified live against the registrar first, so a name taken while the customer was typing aborts the whole call (409) with nothing created. Tax is computed against billing.country (§2.8). It never takes a card, and what it does next depends entirely on the total. The response is {order_id, org_id, next} plus the order's own currency, subtotal_minor, tax_minor and total_minor: - "payment" — the order has something to pay and is left pending_payment. Taking payment is the authenticated step that follows, because a brand-new organization has no payment mandate on file. - "done" — the total is zero (a free trial, a zero-priced plan, a 100% discount), so the order is settled and provisioned inside this call: a zero Payment is recorded, the order becomes paid, and the fulfilment workflow starts. No gateway is contacted — a brand-new organization has none to resolve, and there is nothing to charge. Owner ruling 2026-08-09: a free trial takes no card and starts immediately. ⛔ Between that ruling and 2026-08-12 this endpoint answered "done" and performed none of it — the order stayed pending_payment with no payment, no fulfilment and no workflow, so the customer was told their trial had started and no site was ever built. Anything that keys off next should key off it alone; the order state now follows it. Idempotent on the cart. A double-submit — concurrent or an hour later — produces one organization, one user and one order; the repeat returns the same ids. There is no Idempotency-Key header to send: the cart token is the key. If the email already has an account the call is refused with 409 and nothing is created: the purchase must be completed signed in, so that an unauthenticated request can never attach an order to somebody else's tenant. The cart stays open.

Σώμα αίτησης

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
cart_tokenstringΝαι
emailstringΝαι
passwordstringΌχιOptional. Omit it and the account is created without a credential, so the customer sets one through the identity provider's own verified flow — which is the safer default, because…
namestringΌχι
localestringΌχι
billingPublicBillingΝαιThe buyer block. Only country is required, because tax is country- and currency-aware and an order with no jurisdiction has no determinable tax; the rest can be completed later…
attributionobjectΌχι

Απάντηση

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
order_idUuidΝαιUUIDv7 identifier — sortable by creation time (docs/02 §8).
org_idUuidΝαιThe organization created by this call — the customer's new tenant.
nextstring<payment, done>ΝαιWhat the client should do next. payment — the order exists and is pending_payment; nothing has been charged. done — the order totals zero and there is nothing to charge,…
currencystringΝαιISO 4217 code of the placed order.
subtotal_minorintegerΝαιThe order's net amount, in minor units.
tax_minorintegerΝαιThe tax computed for billing.country, in minor units. A guest basket has no country, so this is the first moment the tax exists — show it.
total_minorintegerΝαιWhat the order owes, tax included, in minor units. ⛔ Display THIS, never the basket total, which is pre-tax (D25043).

Σφάλματα που μπορεί να επιστρέψει αυτό το τελικό σημείο

404 · 409 · 422 · 429 · 503