Skip to content

Purchase Status

GET /api/v1/merchant/purchase/status

Retrieves the current status of a purchase. Look up by internal id or your merchant_tx_id.

Request

Headers

HeaderRequiredDescription
X-Api-KeyYour merchant API key
Acceptapplication/json

Query Parameters

ParameterTypeRequiredDescription
idinteger✅*Purchase ID
merchant_tx_idstring✅*Your transaction ID

* At least one of id or merchant_tx_id is required.

Response

json
{
  "success": true,
  "message": "Purchase status fetched successfully",
  "data": {
    "id": 178,
    "merchant_tx_id": "order-12345",
    "status": "completed",
    "steam_id": "76561198338314767",
    "steam_name": "PlayerOne",
    "steam_avatar_url": "https://avatars.steamstatic.com/...",
    "amount": 45.99,
    "trade_offer_id": "6912345678",
    "date": "2026-03-24T10:30:00Z",
    "item": {
      "id": "38029384123",
      "name": "AK-47 | Redline (Field-Tested)",
      "price": 45.99,
      "image_url": "https://steamcommunity-a.akamaihd.net/economy/image/class/730/..."
    }
  }
}

Response Fields

FieldTypeDescription
idintegerPurchase ID
merchant_tx_idstringYour transaction ID (only present if provided at creation)
statusstringCurrent purchase status
fail_reasonstringFailure reason (only present when status is failed)
steam_idstringUser's Steam ID (64-bit, as string)
steam_namestringUser's Steam display name (only present if available)
steam_avatar_urlstringUser's Steam avatar URL (only present if available)
amountnumberPurchase amount (USD)
trade_offer_idstringSteam trade offer ID (only present if available)
datestringPurchase creation timestamp (ISO 8601)
itemobjectPurchased item details (only present if available)
item.idstringAsset ID
item.namestringItem market name
item.pricenumberItem price (USD)
item.image_urlstringSteam CDN image URL

INFO

Optional fields (merchant_tx_id, fail_reason, steam_name, steam_avatar_url, trade_offer_id, item) are omitted from the response when not available — they will not appear as null.

Examples

By merchant_tx_id

bash
curl "https://api.skinslink.com/api/v1/merchant/purchase/status?merchant_tx_id=order-12345" \
  -H "X-Api-Key: your-api-key" \
  -H "Accept: application/json"

By internal ID

bash
curl "https://api.skinslink.com/api/v1/merchant/purchase/status?id=178" \
  -H "X-Api-Key: your-api-key" \
  -H "Accept: application/json"

Purchase Statuses

StatusDescriptionFinal?
newPurchase created, not yet processedNo
pendingProcessing, awaiting trade offer creationNo
activeTrade offer sent, waiting for user to acceptNo
holdItems on Steam trade hold (7-day hold). Rust items may enter hold for up to 1 hour before completing.No
completedPurchase successful, item delivered ✅Yes
failedPurchase failed (see fail_reason) ❌Yes
canceledPurchase canceledYes
revertedPreviously held purchase was reversedYes

TIP

For real-time updates, use Webhooks instead of polling.

Errors

StatusMessageCause
400validation errorNeither id nor merchant_tx_id provided
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
404not found errorNo purchase matches the given ID