Skip to content

订单管理 ​

1. 获取订单列表 ​

接口地址: /merchantapi/order/order/list

请求参数:

参数名类型必填说明
cidint否分类 ID
typestring否订单类型
keywordsstring否关键词搜索(订单号:trade_no/商品名[模糊搜素]:goods_name/买家用户名:buyer_username)
statusint否订单状态:0=未支付,1=已支付,2=已关闭,3=已退款
date_rangearray否日期范围
order_typestring否订单类型筛选 1 自营 2 代理别人的
pageint否页码
limitint否每页数量

响应示例:

json
{
  "code": 1,
  "msg": "获取成功",
  "data": {
    "list": [
      {
        "id": 6,
        "user_id": 1000, // 卖家用户ID
        "buyer_user_id": 1050, // 买家用户ID
        "goods_id": 1, // 商品ID
        "trade_no": "Q251119886c5d", // 订单号
        "goods_name": "1000的商品1", // 商品名称
        "quantity": 1, // 购买数量
        "goods_price": "15.000", // 商品单价
        "goods_cost_price": "3.000", // 商品成本价
        "total_price": "15.750", // 订单总价
        "total_cost_price": "3.000", // 总成本价
        "fee": "0.750", // 交易手续费
        "total_product_price": "15.000", // 商品总价
        "finally_money": "15.0000", // 最终 卖出者收益
        "sendout": 1, // 已发货数量
        "status": 1, // 订单状态
        "is_freeze": 0, // 是否冻结 -1时为平台冻结(被投诉)
        "create_at": "2025-11-19 01:47:19", // 创建时间
        "success_at": "2025-11-19 01:47:19", // 支付成功时间
        "create_ip": "42.232.200.207", // 创建IP
        "is_proxy": 0, // 是否代理 0自营 1代理别人的
        "parent_user_id": 0, // 上级用户ID
        "source_user_id": 0, // 源头用户ID
        "parent_goods_id": 0, // 上级商品ID
        "source_goods_id": 0, // 源头商品ID
        "source": 0, // 来源 0自己的商品 1从对接码对接 2从货源大厅对接
        "take_status_text": "已取", // 取卡状态(未取/已取部分/已取)
        "category_name": "1000分类1", // 商品分类名称
        "buyer_username": "test1050", // 买家用户名
        "profit": 15, // 订单收益 当前商户后台的收益
        "can_view_card": 1, // 当前商户是否可查看卡密:0否 1是
        "is_source_owner": 1, // 当前商户是否为货源方:0否 1是
        "my_role": "seller", // 当前商户角色:seller销售者/source源头货源商/parent直接上级
        "complaint_id": 12, // 关联投诉 ID;没有投诉时为 0
        "complaint_status": 0, // 投诉状态;没有投诉时为 null
        "complaint_status_text": "待处理投诉" // 投诉状态文案;没有投诉时为空字符串
      }
    ],
    "total": 100
  }
}

2. 获取订单详情 ​

接口地址: /merchantapi/order/order/detail

请求方式: POST

权限要求: 需要商户登录,不校验商户菜单节点权限

请求参数:

参数名类型必填说明
idint否订单 ID;id 和 trade_no 二选一,优先使用 id
trade_nostring否订单号;未传 id 时使用

响应示例:

json
{
  "code": 1,
  "msg": "获取成功",
  "data": {
    "id": 6,
    "user_id": 1000,
    "buyer_user_id": 1050,
    "goods_id": 1,
    "trade_no": "Q251119886c5d",
    "goods_name": "1000的商品1",
    "quantity": 1,
    "goods_price": "15.000",
    "goods_cost_price": "3.000",
    "total_price": "15.750",
    "total_cost_price": "3.000",
    "fee": "0.750",
    "total_product_price": "15.000",
    "finally_money": "15.0000",
    "sendout": 1,
    "status": 1,
    "is_freeze": 0,
    "create_at": "2025-11-19 01:47:19",
    "success_at": "2025-11-19 01:47:19",
    "create_ip": "42.232.200.207",
    "is_proxy": 0,
    "parent_user_id": 0,
    "source_user_id": 0,
    "parent_goods_id": 0,
    "source_goods_id": 0,
    "source": 0,
    "take_status_text": "已取",
    "category_name": "1000分类1",
    "buyer_username": "test1050",
    "profit": 15,
    "can_view_card": 1,
    "is_source_owner": 1,
    "my_role": "seller",
    "source_user": null,
    "parent_user": {
      "id": 1000,
      "username": "test1000"
    },
    "source_goods": null,
    "parent_goods": null
  }
}

字段说明:

字段名说明
profit当前登录商户在该订单中的收益,来自 auto_unfreeze 中当前商户的冻结/已结算记录
take_status_text取卡状态:未取、已取部分、已取
can_view_card是否允许当前商户调用 /merchantapi/order/order/card 查看卡密:0=否,1=是
is_source_owner当前商户是否为货源方:0=否,1=是;自营订单中销售者就是货源方,代理订单中 source_user_id 等于当前商户时为货源方
my_role当前商户在订单中的角色:seller=销售者,source=源头货源商,parent=直接上级
card_view_at代理订单下级销售者首次查看卡密的时间;尚未查看或非代理订单时为 null
success_at支付成功时间;未支付或未支付关闭的订单返回 null
complaint_id关联投诉 ID;没有投诉时为 0
complaint_status投诉状态:0=待商户处理、1=等待买家申请平台介入、2=平台介入中、3=已完结、-1=历史兼容的已完结;没有投诉时为 null
complaint_status_text投诉状态显示文案;没有投诉时为空字符串

业务规则与注意:

  • id 和 trade_no 必须至少传一个;同时传入时按 id 查询。
  • 当前商户必须与订单有关联,满足订单 user_id、source_user_id、parent_user_id 之一等于当前商户 ID,否则返回“订单不存在”。
  • 详情接口不会触发发货,也不会返回卡密明文;需要查看卡密时调用 /merchantapi/order/order/card。
  • 订单关联的自营商户、下级销售者、直接上级和源头货源商均可查看卡密,can_view_card=1。
  • 自营商户和上级货源方可直接加载卡密;代理订单下级首次查看前,前端必须进行不可撤销确认。
  • 下级首次成功取得卡密后写入 card_view_at;后续重复查看不会覆盖首次时间,上级可从订单详情同步查看。
  • 详情接口不受订单列表的数据周期筛选影响,只要订单存在且当前商户有权限即可查询。
  • 订单列表和详情都会返回投诉关联字段,前端可直接展示投诉标签,无需逐条请求投诉列表接口。

3. 查看订单卡密 ​

接口地址: /merchantapi/order/order/card

请求参数:

参数名类型必填说明
idint是订单 ID

响应示例:

json
{
  "code": 1,
  "msg": "获取成功",
  "data": {
    "trade_no": "202312010001",
    "card_view_at": "2026-09-04 14:30:00",
    "card": [
      {
        "id": 1,
        "number": "1234567890",
        "secret": "abcdefghij",
        "create_time": 1699999999,
        // ...
      }
    ]
  }
}

业务规则:

  • 与订单关联的销售者、直接上级和源头货源商均可查看订单卡密。
  • 如果订单未发货,会自动触发发货。
  • 代理订单下级销售者第一次成功查看时记录 card_view_at,重复查看及上级查看不会改变该时间。