extras

POST /v1/extras/{code}/purchase

Purchase an extra service.

ຈຸດສິ້ນສຸດ extras ທັງໝົດ

ການພິສູດຕົວຕົນ

ສົ່ງລະຫັດ API ເປັນ bearer token. ລະຫັດຕ້ອງມີສິດ billing.payment.manage; ລະຫັດທີ່ບໍ່ມີສິດດັ່ງກ່າວຈະຖືກປະຕິເສດດ້ວຍລະຫັດ 403, ບໍ່ແມ່ນ 404.

ບ່ອນທີ່ລະບົບຈັດການອົງກອນຂອງທ່ານໄປ

ຈຸດສິ້ນສຸດນີ້ຮັບເອົາ org_id ເປັນຊ່ອງຂໍ້ມູນໃນ JSON body.

ລະຫັດອົງກອນຂອງທ່ານແມ່ນຢູ່ໜ້າກະແຈ API ໃນແຜງຄວບຄຸມຂອງທ່ານ, ຖັດຈາກກະແຈ itself. ມັນແມ່ນລະຫັດດຽວກັນໃນທຸກໆການໂທທີ່ທ່ານເຮັດ.

ລອງໃຊ້ເບິ່ງ

ປ່ຽນແທນທຸກຢ່າງທີ່ຢູ່ໃນວົງເລັບມຸມດ້ວຍຄ່າຂອງທ່ານເອງ, ແລະ ປ່ຽນແທນຕົວແທນບ່ອນວ່າງຄີດ້ວຍຄີຈາກແຜງຄວບຄຸມຂອງທ່ານ.

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 `422`s, 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 card 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).

ພາຣາມິເຕີ

ຊື່ປະເພດຕ້ອງການສິ່ງທີ່ມັນເປັນ
code (path)stringແມ່ນແລ້ວThe extra's code (e.g. `db_maintenance`).

ເນື້ອຫາຂອງຄຳຮ້ອງ

ຊື່ປະເພດຕ້ອງການສິ່ງທີ່ມັນເປັນ
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…
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 thos…

ຖືກໂຈະ

ຊື່ປະເພດຕ້ອງການສິ່ງທີ່ມັນເປັນ
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