Landing Page Runtime

Compute a page runtime checkout summary

Changed on

Page-scoped public endpoint used by Scalev.checkout.estimateSummary(payload). It accepts items, destination, payment_method, shipping_option, and an optional discount_code_code. It recomputes shipping and applies backend-owned Other Income and service fees for display. The current Store settings are the authoritative customer-fee policy; clients do not submit that policy or a fee confirmation ID. Authorized Builder pages use this same runtime API. With allow_incomplete: true, missing delivery selections return an explicitly incomplete product subtotal, never a payable total. For the current published builder form, an unselected postcode alone does not prevent a shipping quote; the form and order endpoint still enforce postcode collection. Authored HTML and storefront rules stay strict. With include_breakdown: true, the response also includes backend-owned receipt lines and discount amounts. Equal-price occurrences of the same variant across selected items and bundles share one receipt line with their combined quantity, retaining first occurrence order. Distinct catalog identities or unit prices remain separate. These flags default to false; omitting them preserves the existing complete-summary response. Published builder forms follow the landing-page draft order policy: insufficient stock alone does not make a quote incomplete. A quote is not inventory authorization; order creation and status transitions enforce the existing inventory policy. Storefront and authored HTML stock checks remain unchanged.

post/v3/pages/{page_unique_id}/checkout/summary

Request

  • Base URL
    https://api.scalev.com
  • URL
    https://api.scalev.com/v3/pages/{page_unique_id}/checkout/summary
  • Auth
    none required

Request body

payment_methodstring
allow_incompleteboolean

Return is_complete: false and a product subtotal while required delivery selections are missing. Invalid items, unavailable shipping and payment failures still return normal errors. For the current published builder form, an unselected postcode alone does not prevent quoting shipping and totals; form and order validation still require it. An incomplete result must not enable order submission.

include_provisionalboolean

With allow_incomplete, include a separate backend-calculated provisional receipt excluding shipping while delivery is missing. For a currently published builder form in the page's store, also return a non-payable receipt for blank, zero or below-minimum whole-IDR customer prices. Such results include invalid_customer_prices. Negative, fractional, excessive amounts and inactive or foreign catalog items still fail validation. This preview never authorizes order creation. Ordinary shipping validation and all order creation keep strict price checks.

include_breakdownboolean

Include backend-owned receipt lines and product discount. A complete result also includes the applied discount-code amount. This flag affects presentation only; it does not authorize an order or let the client override prices or eligibility.

discount_code_codestring nullable

Optional discount code to revalidate and apply to this preview. Ineligible codes contribute zero discount.

Example request

{
  "items": [
    {
      "type": "product",
      "variant_unique_id": "variant_x7f2a9",
      "bundle_price_option_unique_id": "bundle_price_option_p4k8q2",
      "quantity": 1
    }
  ],
  "destination": {
    "address": "Jl. Kopi No. 1",
    "postal_code": "10510"
  },
  "payment_method": "bank_transfer",
  "shipping_option": {
    "courier_code": "jne",
    "courier_name": "Ninja Xpress",
    "service_code": "REG",
    "name": "Regular"
  }
}

Response

Landing page checkout summary

OR

Changes

    • info

      api tag Landing Page Runtime added

    • info

      api tag HTML Mode Pages removed

    • breaking

      added subschema #1 subschema #2 to the response body oneOf list for the response status

    • breaking

      the response's body type changed from object to no type for status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • info

      added the new optional request property ////

    • info

      added the new optional request property ////

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property //