Purpose and prerequisites
POST /v1/merchant-api/checkouts creates a hosted customer session. Use a
server-side key with checkout:create, the API URL copied from the dashboard,
and success/cancellation URLs whose origins are registered for your merchant.
Only USD is supported. Amounts are integer cents (4999 means $49.99).
Request
The merchant is derived from the API key and cannot be overridden. Include anIdempotency-Key of 16–255 allowed characters and a unique value per order
attempt. The one API-key record may permit cs2, rust, or both; every
allowedGames value must be within that key’s permissions.
Result
201 creates a session; 200 is an identical idempotent replay. Save id and
redirect to hostedUrl. The response includes status, expiresAt, and any
merchant warnings, plus reservationRequired, fulfillmentAllowed, and
holdUntil. A CS2 checkout has reservationRequired: true: once hold begins,
the CS2 trade is held for eight days and holdUntil is authoritative. Keep the
merchant order reserved and finalize only after payment.completed.
allowedGames accepts cs2, rust, or both; Rust-only checkouts do not have
the eight-day reservation policy.
Next: redirect the customer, then confirm status rather than trusting the
redirect.