CS2DT饰品开放平台
🇺🇸 English
  • 🇨🇳简体中文
  • 🇺🇸 English
首页
商户中心
首页
商户中心
🇺🇸 English
  • 🇨🇳简体中文
  • 🇺🇸 English
🇺🇸 English
  • 🇨🇳简体中文
  • 🇺🇸 English
  1. Callback
  • CS2DT Open Platform Access Guide
  • Response Сodes and Errors
  • About penalty for reversed orders / rollbacks
  • About adjusting the order status for reversed orders / rollbacks
  • API
    • Merchant and Steam accounts
      • Get your account balance
      • Start a Steam account check
      • Steam account status query
    • Market and Product search
      • CS2 Style Data
      • Get price and quantity by Style
      • Get the lowest price for all items
      • Get all active listings
      • Search Market listings
      • Item price query
      • Get all the filters info
      • Get all listings of an item
      • Check items status updates
      • Batch query of active listings by product ID
      • Get listing details by product ID
    • Purchase Items
      • Buy via product ID
      • Quick buy via market hash name
    • Manage Orders
      • Purchase orders history
      • Purchase orders details
      • Cancel a delayed purchase order
      • Report a reversed order
    • Callback
      • Webhook Notifications
    • Exchange rate
      • USD/CNY exchange rate
    • Websocket
      • How to Use WebSocket
      • Get WSS Address
    • Buy orders
      • Create a buy order
      • Cancel a buy order
      • Your buy orders list
      • Reference price for buy orders
      • Your buy order details
    • Sell your items
      • Selling Guide
      • List for sale
      • Cancel sell listings
      • Sell listing details
      • Reference price for sale
      • Sell listing update
      • Update order status
      • Check items on sale list
      • Check sell orders status
  • Schemas
    • OpenBuyResultDTO
    • WebApiRes«BigDecimal»
    • Object
    • WebApiRes«OpenBuyResultDTO»
    • NormalBuyParamV2DTO
    • QuickBuyParamV2DTO
    • UserAccountOpenDTO
    • WebApiRes«UserAccountOpenDTO»
    • WebApiRes«String»
    • SteamCheckCreateDTO
    • UserSteamInfo
    • CheckStatusInfo
    • GenericCheckSteamOutPut
    • WebApiRes«GenericCheckSteamOutPut»
    • OpenPartnerInfoDTO
    • WebApiRes«OpenPartnerInfoDTO»
    • SaveCallbackUrlDTO
    • InventorySlotDTO
    • ErrorCode
    • InventorySteamAccountDTO
    • WebApiRes«List«InventorySteamAccountDTO»»
    • WebApiRes«Boolean»
    • ItemAssetGemVO
    • ItemAssetStickerVO
    • ItemAssetClassInfoStyleVO
    • ItemAssetBundleVO
    • ItemAssetInfoVO
    • ItemTagInfoVO
    • SteamOfferListItemDTO
    • SteamOfferListInfoDTO
    • OfferDetailDTO
    • WebApiRes«OfferDetailDTO»
    • SendAssetsResponseDTO
    • WebApiRes«SendAssetsResponseDTO»
    • SteamAssetInfoDTO
    • SendAssetParamDTO
    • OrderUserInfo
    • SearcherOrderAssetListDTO
    • PageList«SearcherOrderAssetListDTO»
    • WebApiRes«PageList«SearcherOrderAssetListDTO»»
    • OpenItemInfo
    • OfferInfoDTO
    • OpenBuyerOrderDetail
    • WebApiRes«OpenBuyerOrderDetail»
    • OpenSellerOrderDetail
    • WebApiRes«OpenSellerOrderDetail»
    • ConfirmOrderParamDTO
    • OrderCancelParamDTO
    • Inspect3DResponse
    • WebApiRes«Inspect3DResponse»
    • PriceInfo
    • OpenProductSearchDTO
    • PageList«OpenProductSearchDTO»
    • WebApiRes«PageList«OpenProductSearchDTO»»
    • ItemPriceInfo
    • WebApiRes«List«ItemPriceInfo»»
    • ItemPriceInfoRequest
    • OpenItemPriceInfo
    • WebApiRes«OpenItemPriceInfo»
    • ItemSearchFilterValueItem
    • ItemSearchFilterItem
    • ItemSearchFilterDTO
    • WebApiRes«ItemSearchFilterDTO»
    • DeliveryStatsItem
    • DeliveryStatsInfoVO
    • SellerUserInfoVO
    • ProductSellListDTO
    • PageList«ProductSellListDTO»
    • WebApiRes«PageList«ProductSellListDTO»»
    • ProductInfoDTO
    • ProductInfoListDTO
    • WebApiRes«ProductInfoListDTO»
    • ProductInfoRequestDTO
    • WebApiRes«ProductSellListDTO»
    • SteamItemDTO
    • PageList«SteamItemDTO»
    • WebApiRes«PageList«SteamItemDTO»»
    • SteamItemAttrValueDTO
    • PageList«SteamItemAttrValueDTO»
    • WebApiRes«PageList«SteamItemAttrValueDTO»»
    • SteamItemAttrDTO
    • PageList«SteamItemAttrDTO»
    • WebApiRes«PageList«SteamItemAttrDTO»»
    • SteamItemTagsDTO
    • PageList«SteamItemTagsDTO»
    • WebApiRes«PageList«SteamItemTagsDTO»»
    • BaseItemInfo
    • Sticker
    • AssetInfo
    • OpenInventoryItem
    • OpenInventoryResponseDTO
    • WebApiRes«OpenInventoryResponseDTO»
    • OpenSaleSteamInfoDTO
    • ItemPriceDTO
    • OpenSaleDTO
    • OrderDeliverDTO
    • SteamInventorySlotVO
    • SteamAccountVO
    • ActivityTagVO
    • SellerSellListDTO
    • PageList«SellerSellListDTO»
    • WebApiRes«PageList«SellerSellListDTO»»
    • OnSaleAssetDTO
    • OnSaleFailedItem
    • ModifySellPriceResponseDTO
    • WebApiRes«ModifySellPriceResponseDTO»
    • SellPriceDTO
    • ModifyPriceParamDTO
    • OffSaleResponseDTO
    • WebApiRes«OffSaleResponseDTO»
    • OffSaleParamDTO
  1. Callback

Webhook Notifications

CS2DT sends webhook notifications to your server when the status of a purchase order changes. These notifications allow your system to update the order without repeatedly querying the order-details endpoint.

Update Notes#

2024-08-03 Сlarified the frequently asked questions.
2024-06-06 Initial release.

Prerequisites#

Before receiving webhook notifications, complete the following configuration:
1.
Add your webhook URL under Merchant Center → API Management.
2.
Obtain your app_secret from Merchant Center → API Management. It is used to verify the signature of each notification.
3.
If your server only accepts requests from approved IP addresses, add the CS2DT webhook service IP address to your allowlist: 106.15.203.246
Keep your app_secret secure. Do not expose it in client-side code, public repositories, logs, or screenshots.

Notification Mechanism#

When the status of a purchase order changes, CS2DT sends an HTTP POST request to your configured webhook URL. The request body contains JSON data.
After successfully processing the notification, return success in the response body. Otherwise, CS2DT will treat the notification as unsuccessful and retry it.
If your server does not return success, CS2DT treats the notification as unsuccessful and retries it according to the retry policy. The interval between retries increases exponentially, with a maximum of 16 retries.
Because notifications may be delivered more than once, your webhook handler should process duplicate notifications safely.

Signature Verification#

Every webhook notification includes a sign field. Use it to verify that the notification was sent by CS2DT and that its contents have not been modified.
To verify the signature:
1.
Remove the sign field from the notification parameters.
2.
Treat every null value as the literal string null.
3.
Perform url_decode on the remaining parameters.
4.
Sort the parameters by name in ascending ASCII order.
5.
Join the parameters in the following format, using & between each pair:
key1=value1&key2=value2&key3=value3
6.
Append your app_secret in the following format:
&sign={app_secret}
For how to get it, please refer to the Prerequisites section
7.
Generate an MD5 hash from the complete string and convert the result to 32 uppercase characters.
8.
Compare the generated hash with the sign value included in the notification.
The signature is valid if both values match.

Order message notification#

Return result example
The following is an example of the string used to generate the signature:
offerId=null&orderId=753955645187293184&outTradeNo=753955643962990592&status=11&statusName=failed&tradeOfferId=null&type=0&typeName=BUYER_ORDER_STATUS&sign={your_app_secret}
Replace {your_app_secret} with your actual app_secret before generating the MD5 hash.

Notification Fields#

FieldDescription
orderIdThe CS2DT order ID returned by the purchase endpoint.
signThe signature used to verify that the notification was sent by CS2DT. Signature verification is strongly recommended.
statusThe current numeric status of the purchase order.
statusNameThe text identifier corresponding to status.
tradeOfferIdThe Steam trade-offer ID. This field is returned only when status is 3.
offerIdThe CS2DT trade-offer ID. This field is returned only when status is 3.
outTradeNoThe merchant order number provided when submitting a v2 purchase request. CS2DT returns the same value in webhook notifications.
typeThe notification type. A value of 0 identifies a purchase-order notification.
typeNameThe notification-type identifier. BUYER_ORDER_STATUS identifies a purchase-order status notification.

Order Statuses#

statusstatusNameDescription
1waiting_deliveryThe purchase order was created successfully and is awaiting delivery from the seller.
3waiting_receiveThe Steam trade offer is ready. Notify the buyer that they need to accept it.
10successThe buyer accepted the Steam trade offer. Order settlement is in progress.
11failedThe order was cancelled or failed.
200settledSettlement is complete. This is a final status.
220recalledThe order was reversed. This is a final status.

Opening the Steam Trade Offer#

When status is 3, use tradeOfferId to create the Steam trade-offer URL:
The notification may also include offerId, which identifies the trade offer in CS2DT. You can use offerId to retrieve additional information.
Modified at 2026-08-03 06:28:40
Previous
Report a reversed order
Next
USD/CNY exchange rate
Built with