POST /v1/merchant-api/checkouts
Create a hosted checkout for an order. Call this endpoint from your server
using the API URL shown in your dashboard.
Before you start
Return URLs
For each URL sent in the request, approve its HTTPS origin in Checkout Configuration → Checkout Redirect Origins. Your server chooses the full path; the origin list only controls allowed destinations. Alternatively, save a Default Success URL and Default Cancel URL, then omit the request fields. Saved defaults do not need origin-list entries. An overridden default does. Both URLs must resolve; never send empty strings. Defaults apply to all checkouts that omit those fields. For return pages hosted by a store provider, see Store platforms.Customer email
Collect the email on your website and send it ascustomerEmail. The checkout
does not ask again or expose it. Never put it in metadata or the hosted URL.
Once a payment is linked, the email is visible to the owning merchant in
Transactions and to authorized Skinloop support staff. Skinloop does not
currently send customer receipts or marketing emails.
Example 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.
jq. It uses a five-second connection timeout and a
30-second total request timeout. A nonzero cURL exit means no complete HTTP
response was received, so the POST result is unknown: retry the exact payload
with the same persisted idempotency key. A received non-2xx response is a
definite API response; inspect its structured error before deciding what to do.
See Retry policy.
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.