Πισtoποίηση

Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Το κλειδί πρέπει να διαθέτει το δικαίωμα billing.payment.manage· ένα κλειδί που δεν το διαθέτει απορρίπτεται με 403, όχι 404.

Πού μπαίνει το αναγνωριστικό του οργανισμού σας

Αυτό το endpoint δέχεται το πεδίο org_id στο σώμα JSON.

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

Δοκιμάστε το

Ατικ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/extras/{code}/purchase \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{  }'

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

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

Buys the extra: it is charged wallet-first then gateway, and handed to durable fulfilment (an automated workflow, or a staff task). The price and fulfilment path are server-decided (docs/26 §3). Requires billing.payment.manage. Two different 422s, and a client must tell them apart: PAYMENT_METHOD_REQUIRED means the organization holds no chargeable payment method, so nothing was presented to any gateway and nothing was refused — the remedy is to add a payment method — or pay with PayPal or cryptocurrency — and buy again. UNPROCESSABLE_ENTITY on this path is a genuine gateway decline. Reporting the first as the second tells a customer who has never entered a card that their bank refused them (docs/491 §7).

Παράμετροι

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
code (path)stringΝαιThe extra's code (e.g. db_maintenance).

Σώμα αίτησης

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
org_idUuidΌχιUUIDv7 identifier — sortable by creation time (docs/02 §8).
site_idobjectΌχι
domain_idobjectΌχιThe domain a domain-scoped extra is bought for. Premium DNS (premium_dns) is the first: it is applied at the registrar, per zone, on a name held in our registrar account.…
currencyCurrencyCode | nullΌχιThe currency the customer was quoted in on the catalogue screen. Omit it and the engine uses the X-Zinn-Currency header. Extra rows are stored in the base currency only, so…
gatewayobjectΌχιThe payment rail the customer picked, from getPaymentOptions. Omit it (or send null) for "no preference", which follows the payment method the organization would be charged on…
pay_withstring<card, credit>ΌχιWhere the money comes from. Owner ruling 2026-08-24: "Credit pays, or card — customer picks". Only the AI products (ai_webmaster, ai_update_guard and any other row in those…

Απάντηση

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
idUuidΝαιUUIDv7 identifier — sortable by creation time (docs/02 §8).
org_idUuidΝαιUUIDv7 identifier — sortable by creation time (docs/02 §8).
extra_idUuidΝαιUUIDv7 identifier — sortable by creation time (docs/02 §8).
site_idobjectΌχι
domain_idobjectΌχι
statusExtraPurchaseStatusΝαιAn extra purchase's lifecycle state.
categorystringΝαι
fulfilment_typeExtraFulfilmentTypeΝαιHow an extra is delivered.
intervalExtraIntervalΝαιOne-off charge or a recurring subscription.
priceMoneyAmountΝαιA money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8).
recurrencestring<none, active, ended>ΝαιWhether the recurrence behind this purchase is still live. none = it never recurred (a one-off); active = a scheduled charge exists; ended = it recurred and no longer does.…
next_renewal_onobjectΌχιThe next charge date, or null. Also null for a live charge that has no date scheduled yet, so read recurrence — not this field — to decide whether a purchase renews at all.
sla_due_atobjectΌχι
completed_atobjectΌχι
failure_reasonstringΌχι
created_atstringΝαι
updated_atstringΝαι

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

401 · 403 · 404 · 422 · 429