v2

latestOpenAPI 3.0.3Proprietary2026-07-263483431.1 MB
Customer Checkout

Create an authenticated customer checkout order

Customer-authenticated storefront endpoint. Create an order from direct items, from a customer cart referenced by cart_id, or from direct items while clearing the referenced cart after successful order creation. Carts must belong to the authenticated customer and current store.

post/v3/stores/{store_id}/customers/me/checkout

Path parameters

store_idstring required

Store unique_id.

Request body

addressstring
postal_codestring
payment_methodstring

Customer checkout payment method code selected by the buyer. 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.

warehouse_unique_idstring nullable
courier_aggregator_codestring nullable
discount_code_codestring nullable
notesstring nullable

Example request

{
  "payment_method": "va_bca"
}

Response

Customer checkout order

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"
}