更新说明#
20240606#
前提条件#
app_secret: 用于回调通知消息辅助验签,您可以在个人中心-api管理获取您的app_secret. 如果您的服务设置了白名单访问,您需要设置106.15.203.246(cs2dt回调服务ip)到白名单。
通知机制#
购买订单的回调通知场景,我们将会给您推送消息,消息体为 json 格式的数据,请求方式POST,您如果收到了消息并且正确处理了逻辑,那么请返回 success 字符串,若您没有返回,我们将认为您没有收到该通知,我们将按照消息重试策略进行重试,重试间隔时间按照 消息重试标准指数增加,最多重试16次。验签说明#
推送的消息体中一定会存在 sign 字段,可以帮助您验签,来确保消息不是伪造的。 验签规则说明:1.
在通知返回参数列表中排除掉sign字段,剩下的参数都需要参与签名,如果某一个字段的值为 null,那么就把这个值当成 null 字符串处理,也参与签名
2.
将剩下参数进行 url_decode(中间使用&符号链接),然后进行字典排序(按照ascii码从小到大),组成字符串,得到待签名字符串
3.
然后在待签名字符串最后加上(&sign={app_secret}),获取方式请参考前提条件章节 4.
最后使用MD5摘要算法生成验签的字符串(32位大写)
5.
得到最后的字符串之后去比对通知消息中的sign字段,如果一致表示验签成功
订单消息通知#
建议您使用map接收我们的回调参数,不要使用自定义的对象,以下示例的字段不会总是一致#
返回结果示例#
需要签名的字符串为:offerId=null&orderId=753955645187293184&outTradeNo=753955643962990592&status=11&statusName=failed&tradeOfferId=null&type=0&typeName=BUYER_ORDER_STATUS&sign={你自己的appSecret}通知字段说明#
orderId: 订单id,调用购买接口后会返回该订单id
sign字段:用来进行验签,为了安全起见,建议您进行验签
1 等待发货, 现在状态1也会推送,意味着这笔订单购买成功了
3 等待收货,意味着可以通知你们平台的用户去接受报价了
200 settled 订单结算完成,不会再发生回滚
offerId: CS2DT 平台的offerId, 同样只有3的状态下可以返回。
outTradeNo: 商户订单号,使用v2版本的购买接口可以传入这个参数,回调通知的时候一并返回
typeName: BUYER_ORDER_STATUS 表示是该种类型的回调消息
Modified at 2026-07-27 09:21:47