Skip to content
  1. Компоненты
  2. MiniShop3
  3. Разработка
  4. Web API
  5. Checkout

Checkout ​

Цепочка headless: каталог → корзина → выбор delivery/payment → поля заказа → cost → submit.

Публичные списки ​

Без customer token:

МетодПуть
GET/delivery/list
GET/delivery/get/{id}
GET/payment/list
GET/payment/get/{id}

Список только активных способов. Связка delivery↔payment проверяется при оформлении: без пары submit упадёт.

Webhooks провайдеров (подпись handler’а, не customer token). Префикс API: /api/v1.

МетодПутьУсловие
POST/delivery/webhook/{delivery_id}Handler доставки + при ms3_shipment_enabled=0 → 404
POST/payment/webhook/{payment_method_id}Нужен PaymentWebhookHandlerInterface, иначе 400

Оплата: JSON body → verifyWebhook → parseWebhook → PaymentLifecycleService::applyWebhook. Ответ success: attempt_id, status, order_id. Классические webhook.php / callback.php у платёжных extras остаются валидны, если класс не реализует интерфейс Web API.

Черновик заказа ​

Все /order/* с auto-mint токена.

МетодПутьНазначение
GET/order/getЧерновик
POST/order/addОдно поле
POST/order/setНесколько полей
POST/order/removeУдалить поле
POST/order/cleanОчистить черновик
POST/order/address/setПодставить сохранённый адрес
POST/order/address/cleanСбросить адрес
GET/order/delivery/validation-rulesПравила полей по доставке
GET/order/delivery/required-fieldsОбязательные поля
GET/order/costПолный расчёт
GET/order/cost/cartТолько корзина
GET/order/cost/deliveryДоставка
GET/order/cost/paymentКомиссия оплаты
POST/order/submitОформить

В черновике типичны delivery_id, payment_id, address_* и контактные поля. Точный набор зависит от правил доставки.

Submit ​

После успешного submit ответ может содержать redirect (страница «Спасибо» / оплата). Читайте data и заголовки/поля redirect в Response контроллера.

Онлайн-оплату даёт платёжный extra. Базовый способ без class только фиксирует выбор.

Типичный порядок ​

  1. GET /delivery/list, GET /payment/list
  2. POST /order/set с delivery_id / payment_id и адресом
  3. GET /order/delivery/required-fields при необходимости
  4. GET /order/cost
  5. POST /order/submit

Fenom-витрина может собирать форму через msOrder. Headless использует списки выше. См. Примеры.