订单管理
1. 获取订单列表
接口地址: /merchantapi/order/order/list
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| cid | int | 否 | 分类 ID |
| type | string | 否 | 订单类型 |
| keywords | string | 否 | 关键词搜索(订单号:trade_no/商品名[模糊搜素]:goods_name/买家用户名:buyer_username) |
| status | int | 否 | 订单状态:0=未支付,1=已支付,2=已关闭,3=已退款 |
| date_range | array | 否 | 日期范围 |
| order_type | string | 否 | 订单类型筛选 1 自营 2 代理别人的 |
| page | int | 否 | 页码 |
| limit | int | 否 | 每页数量 |
响应示例:
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
权限要求: 需要商户登录,不校验商户菜单节点权限
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 否 | 订单 ID;id 和 trade_no 二选一,优先使用 id |
| trade_no | string | 否 | 订单号;未传 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
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 是 | 订单 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,重复查看及上级查看不会改变该时间。