Auth: Authorization: Bearer <accessToken> — an organization-scoped token from Authentication.
Use it to show the customer what a checkout would produce before confirming it: stamps or points they would collect, coupons they would earn, order discounts (discountAmount) and point spend applied, and the final payableAmount. Once confirmed, send the same body to POST /v1/transactions/process to commit it — optionally echoing the previewed payableAmount as expectedPayableAmount so process fails safely (payable_amount_mismatch, no side effects) if anything changed in between.
Body
Identical to process — every field, includingitems, redeem (coupons + points), orderId, and collectables (escape hatch — avoid unless necessary; rules on the process page), is accepted and evaluated the same way. See the process page for the field reference. The only exception is expectedPayableAmount: it belongs to process (validate is where you obtain the value) and is ignored here.
Example
Response
Returns 200 with the same structure as process:
Notes:
- Safe to repeat: sending the same body any number of times changes nothing.
- All process validations run identically, so validate surfaces the same 400 errors before you commit:
invalid_customer,invalid_user,invalid_branch,card_not_found,no_applicable_campaign,invalid_transaction,point_campaign_not_found,insufficient_collectable_balance,invalid_points_to_spend,invalid_amount_value,invalid_coupon,coupon_is_not_valid,_collectables_with_items/_collectables_with_redeem/invalid_collectables, and — whenorderIdis sent and already used —duplicate_transaction(useful to detect “already processed” before retrying). payableAmount=amount−discountAmount− the monetary value ofredeem.points; the previewed numbers match what process commits for the same body and state.executedPromotionsis omitted when no promotion applies; promotion condition, limit, and cap checks are evaluated for real, but no usage is consumed by a validate call. Order-discount promotions (apply_discount) are previewed exactly like process, including their effect ondiscountAmountandpayableAmount.

