v2

latestOpenAPI 3.0.3Proprietary2026-07-263483431.1 MB
HTML Mode Pages

Create an HTML Mode public order

Page-scoped public endpoint for HTML Mode Scalev.checkout.createOrder. This route accepts HTML Mode order payloads with customer, destination, items, and shipping_option, requires X-Scalev-Page-Api-Key, and does not accept storefront public API keys. The page and store are resolved from the path and page API key; any page_unique_id or store_unique_id values supplied in the JSON body are ignored.

post/v3/pages/{page_unique_id}/orders

Request body

formobject nullable
payment_methodstring

Public order payment method code. Required for normal checkout. May be omitted when the store uses strict two-step Payment Link checkout; Scalev resolves it to payment_link. Virtual Accounts use flat method codes such as va_bca.

payment_account_unique_idstring nullable
discount_code_codestring nullable
is_post_payment_redirect_enabledboolean

Optional creation-only override for the page post-payment redirect. This field accepts only the native JSON booleans true and false; null, strings, numbers, arrays, and objects are rejected. Omit it to inherit the page setting. Set it to false to force Scalev's hosted success flow for this order and clear the redirect snapshot. Set it to true together with post_payment_redirect_url to replace the page setting for this order.

post_payment_redirect_urlstring uri

Absolute HTTPS destination required when is_post_payment_redirect_enabled is true. HTTP is accepted only for loopback development hosts outside production. Supplying this field without is_post_payment_redirect_enabled does not enable an order override; the page setting is inherited. The canonical value is snapshotted at creation and cannot be changed by order updates.

notesstring nullable
transferproof_urlstring nullable
recaptcha_tokenstring nullable

Runtime-generated form reCAPTCHA token.

event_source_urlstring uri nullable
fbcstring nullable
fbpstring nullable
ttclidstring nullable
gclidstring nullable
ttpstring nullable
kwai_clickidstring nullable
utm_sourcestring nullable
utm_mediumstring nullable
utm_campaignstring nullable
utm_contentstring nullable
utm_termstring nullable
affiliate_codestring nullable
channel_unique_idstring nullable
metadataobject nullable

Example request

{
  "customer": {
    "name": "Raka Tester",
    "phone": "08123456789",
    "email": "raka@example.com"
  },
  "destination": {
    "address": "Jl. Kopi No. 1",
    "postal_code": "10510"
  },
  "items": [
    {
      "type": "product",
      "variant_unique_id": "variant_x7f2a9",
      "bundle_price_option_unique_id": "bundle_price_option_p4k8q2",
      "quantity": 1
    }
  ],
  "payment_method": "va_bca",
  "shipping_option": {
    "courier_code": "jne",
    "service_code": "REG",
    "name": "Regular"
  }
}

Response

Flat HTML Mode public order object.

idstring uuid required

Canonical UUIDv7 order primary key returned by the partitioned orders table.

secret_slugstring required
public_order_urlstring uri nullable required
payment_urlstring uri nullable required
order_idstring required
statusstring required
payment_statusstring nullable required

Buyer-facing payment status. A settled payment is exposed as paid; this field never returns settled.

post_payment_redirect_urlstring uri

Canonical post-payment destination exposed only after a buyer-paid outcome (internal payment status paid or settled) when a valid redirect snapshot exists. Omitted before payment and when Scalev's hosted success flow applies.

is_probably_spamboolean nullable
draft_timestring date-time nullable
paid_timestring date-time nullable
transfer_timestring date-time nullable
transferproof_urlstring nullable
handler_phonestring nullable
chat_messagestring nullable
customer_idinteger nullable
discount_code_codestring nullable
other_income_namestring nullable
pg_payment_infoobject required

Buyer-facing payment gateway payload. Manual methods such as bank_transfer and cod can return an empty object. Virtual account methods expose provider reference and account details under the provider's payment_method object. QRIS responses expose QR data or a QR image payload. E-wallet, card, and invoice methods may expose provider actions or hosted provider URLs. SingaPay payments use normalized keys such as payment_url, deeplink_url, qr_string, qr_image_url, va_number, and va_name.

status_historyobject[]
payment_methodstring required
epayment_providerstring nullable

E-payment provider. xendit is the current/managed Xendit provider; xendit_legacy is the owned legacy Xendit provider. Other possible values include duitku, midtrans, durianpay, and singapay.

payment_account_holderstring nullable
payment_account_numberstring nullable
shipment_receiptstring nullable
variantsobject
bundle_price_optionsobject
payment_expiration_atstring date-time nullable

Example response

{
  "payment_method": "bank_transfer"
}