Skip to content

Create Intent

POST /api/v1/merchant/create-intent

Creates a deposit intent for the redirect integration flow. Returns a URL where the user completes the deposit on Skinslink's hosted page.

Request

Headers

HeaderRequiredDescription
X-Api-KeyYour merchant API key
Content-Typeapplication/json

Body

ParameterTypeRequiredDescription
merchant_tx_idstringYour unique transaction/order ID
gamestringGame code: csgo, rust, dota2, tf2
partnerintegerSteam trade partner ID
tokenstringSteam trade token
result_urlstringWebhook URL — overrides your merchant-level webhook URL for this deposit (must be valid URL)
success_urlstringURL to redirect on success (must be valid URL)
fail_urlstringURL to redirect on failure (must be valid URL)
custom_currencystringCustom currency code (1–4 chars, e.g. BTC, EUR). Requires all 3 currency fields
custom_currency_multipliernumberCurrency multiplier (0.5–2.0)
custom_currency_ratenumberCurrency exchange rate (≥ 0.1)

TIP

If game, partner, and token are omitted, the user will provide them on the deposit page.

Response

json
{
  "success": true,
  "message": "Deposit intent created successfully",
  "data": {
    "id": 42,
    "merchant_tx_id": "order-12345",
    "url": "https://skinslink.com/deposit/d66pbg9uvduc73ba5n30"
  }
}

Response Fields

FieldTypeDescription
idintegerInternal deposit intent ID
merchant_tx_idstringYour transaction ID (echoed back)
urlstringRedirect URL for the user

Example

bash
curl -X POST https://api.skinslink.com/api/v1/merchant/create-intent \
  -H "X-Api-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "merchant_tx_id": "order-12345",
    "game": "csgo",
    "partner": 378049039,
    "token": "qPFEAtZR",
    "result_url": "https://yoursite.com/deposit/complete"
  }'

Errors

StatusMessageCause
400invalid request bodyMalformed JSON
400validation errorMissing or invalid fields (see data array for details)
401missing authorization headerX-Api-Key header not provided
401invalid API keyAPI key not found or inactive
403merchant account is disabledMerchant account deactivated
403invalid IP: <ip>Request IP not in whitelist
409already exist errorDuplicate merchant_tx_id
500internal errorSomething went wrong on our side