订单变更通知
当订单发生支付、退款、换营、营员变更、合并/拆分等变化时,平台会向友商配置的回调地址 POST 推送订单最新数据。
POST友商回调地址(配置路径:后台-设置-开放平台-订阅事件-添加订阅)
配置方式
- 登录信多帮管理后台
- 进入 后台 → 设置 → 开放平台 → 订阅事件 → 添加订阅
- 选择「订单变更」事件,填写友商回调 URL
- 保存后,订单发生变更时将自动推送
说明
- 回调为服务端对服务端请求,请确保 URL 公网可访问
- 收到回调后请返回 HTTP 200,否则平台可能重试
- 请根据
exchange_type判断变更类型,并做幂等处理(同一订单可能多次推送) - 请求以 表单 方式提交,其中
request_data是一段 JSON 字符串,解析后才能读到订单内容
请求格式
| 字段 | 说明 |
|---|---|
| type | 固定值 order_info,表示「订单变更」 |
| exchange_type | 变更类型,见下表 |
| request_data | JSON 字符串;内容与 查询订单 返回的单条订单基本一致,并额外包含营员报名表 student_info_list |
变更场景
exchange_type 表示本次推送对应的变更类型:
| 值 | 场景 |
|---|---|
| 1 | 支付成功 |
| 2 | 退款完成(不退营) |
| 3 | 退款完成(全部退营) |
| 4 | 退款完成(部分退营) |
| 5 | 更换营完成 |
| 6 | 订单营员变更 |
| 7 | 修改订单价格 |
| 8 | 结营 |
| 9 | 订单归属变更 |
| 10 | 订单人数变更 |
| 11 | 绑定差价 |
| 12 | 解绑差价 |
| 13 | 订单审核修改价格 |
| 14 | 电子合同签署成功 |
| 15 | 订单合并(其他订单合并到此订单) |
| 16 | 订单合并取消(此订单被合并且取消) |
| 17 | 订单被拆分(此订单被拆分金额) |
| 18 | 拆分生成新订单 |
请求体结构
顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
| type | String | 固定值 order_info |
| exchange_type | String | 变更类型,见上表 |
| request_data | Object | 订单完整快照数据 |
request_data — 订单基础信息
| 字段 | 类型 | 说明 |
|---|---|---|
| order_id | Number | 订单 ID |
| ordernum | String | 订单号 |
| pid | Number | 营种 ID |
| period_id | Number | 营期 ID |
| extra_product_id | Number | 外部营种 ID(营种列表配置) |
| product_name | String | 营种名称 |
| current_product_name | String | 最新营种名称 |
| period | String | 参营营期,如 2023/05/18-2023/05/19 |
| sku_str | String | 规格 |
| status | String | 订单状态文案 |
| number | String | 人数 |
| unit_price | String | 单价 |
| order_price | Number | 订单金额 |
| have_pay | Number | 已支付金额 |
| have_pay_moneycard | String | 已支付储值卡金额 |
| createtime | String | 创建时间 |
| user_phone | String | 会员手机号 |
| user_name | String | 会员姓名 |
| user_idcard | String | 会员身份证号 |
| unionid | String | 会员开放平台 unionid |
| staff_name | String | 员工名称 |
| staff_id | String | 员工 ID |
| sign_pdf_title | String | 电子合同名称(签署成功后) |
| sign_pdf_url | String | 电子合同地址(签署成功后) |
request_data — 拼团相关
| 字段 | 类型 | 说明 |
|---|---|---|
| team_id | Number | 拼团 ID,大于 0 表示存在拼团 |
| team_status | Number | 拼团状态:1 进行中,2 成功,3 失败 |
| team_order_list | Array | 拼团订单明细,元素含 order_id、number、ordernum |
request_data — 拆单 / 合并
| 字段 | 类型 | 说明 |
|---|---|---|
| cut_order_info | Object | 拆单关联信息,含 master_order_id(被拆分金额)、cut_order_id(拆分生成的新订单)、order_num |
| merge_order_info | Object | 合并关联信息,含 master_order_id(合并目标订单)、be_merge_order_id(被合并且取消的订单)、order_num |
提示
需根据当前 order_id 判断本订单在拆单/合并中扮演的角色。
request_data — 营员 students[]
| 字段 | 类型 | 说明 |
|---|---|---|
| name | String | 姓名 |
| phone | String | 手机号 |
| idcard | String | 证件号 |
| idcard_type | String | 证件类型:1 身份证,2 护照,3 其他,4 台胞证,5 回乡证,6 港澳通行证,7 港澳居民居住证,8 旅行证 |
| birthday | String | 出生日期 |
| height | String | 身高 |
| weight | String | 体重 |
request_data — 换营记录 exchenge_list[]
| 字段 | 类型 | 说明 |
|---|---|---|
| old_pid / new_pid | String | 原/新 营种 ID |
| old_period_id / new_period_id | String | 原/新 营期 ID |
| old_pname / new_pname | String | 原/新 营种名称 |
| old_period / new_period | String | 原/新 营期 |
| old_extra_product_id / new_extra_product_id | String | 原/新 外部营种 ID |
| addtime | String | 换营时间 |
request_data — 支付 / 退款 / 备注
pay_list[] — 支付明细
| 字段 | 类型 | 说明 |
|---|---|---|
| addtime | String | 支付时间 |
| money | String | 现金支付 |
| moneycard | String | 储值卡支付 |
| tranction_id | String | 微信/支付宝支付单号 |
refund_list[] — 退营/退款明细
| 字段 | 类型 | 说明 |
|---|---|---|
| team_id | Number | 拼团 ID(系统自动退款时可能大于 0) |
| addtime | String | 退款时间 |
| money | String | 现金退款 |
| moneycard | String | 储值卡退款 |
| refund_types | String | 退款类型:全部退营 / 部分退营 / 仅退款 |
| refund_id | Number | 信多帮退款单 ID |
| desc | String | 退款原因 |
remarks_list[] — 订单备注
| 字段 | 类型 | 说明 |
|---|---|---|
| content | String | 备注内容 |
| addtime | String | 添加时间 |
request_data — 团组 cut_group_info
| 字段 | 类型 | 说明 |
|---|---|---|
| team_name | String | 团名称 |
| team_nick_name | String | 团昵称 |
| group_name | String | 组名称 |
| group_nick_name | String | 组昵称 |
| cut_id | String | 分团 ID |
| group_id | String | 分组 ID |
request_data — 营员报名表 student_info_list[]
动态表单字段数组,每项结构:
| 字段 | 类型 | 说明 |
|---|---|---|
| name | String | 字段标识(部分项可能无) |
| type | String | 控件类型:text / radio / select / date / file |
| title | String | 字段标题 |
| value | String | 字段值 |
| true_data_value | String | 真实值(部分字段) |
request_data — 连报订单
| 字段 | 类型 | 说明 |
|---|---|---|
| more_count | Number | 连报订单数 |
| more_all_pay | String | 连报累计现金支付 |
| more_all_pay_moneycard | String | 连报累计储值卡支付 |
| more_info_list | Array | 连报订单简版明细,含 order_id、ordernum、pname、period、pid、period_id、have_pay、have_pay_moneycard |
请求示例
精简示例(支付成功)
{
"type": "order_info",
"exchange_type": "1",
"request_data": {
"order_id": 1111,
"ordernum": "NO20230511203452547280",
"pid": 1,
"period_id": 2,
"product_name": "营种名称",
"period": "2023/05/18-2023/05/19",
"status": "已支付",
"number": "2",
"user_phone": "13683106368",
"user_name": "张三",
"have_pay": 1200,
"students": [
{
"name": "吴念一",
"phone": "139571411111",
"idcard_type": "1",
"idcard": "330105201******"
}
],
"pay_list": [
{
"addtime": "2023-05-11 20:34:52",
"money": "1200.00",
"moneycard": "0.00",
"tranction_id": "4200001234567890"
}
]
}
}
完整请求示例(含拼团、拆单、换营、连报等字段)
{
"type": "order_info",
"exchange_type": "1",
"request_data": {
"order_id": 1111,
"pid": 1,
"period_id": 2,
"extra_product_id": 11111,
"ordernum": "NO20230511203452547280",
"user_phone": "13683106368",
"user_name": "哈哈",
"user_idcard": "412723198902186826",
"unionid": "oXXXX",
"product_name": "营种名称",
"current_product_name": "最新营种名称",
"sign_pdf_title": "测试电子签章",
"sign_pdf_url": "https://signature.cdn.xinduobang.cn/sign20250908115156342589177199.pdf",
"team_id": 1222,
"team_status": 2,
"team_order_list": [
{ "order_id": "38461", "number": "2", "ordernum": "NO202509281057510542711" }
],
"cut_order_info": {
"master_order_id": 0,
"cut_order_id": 0,
"order_num": "NO202509281057510542711"
},
"merge_order_info": {
"master_order_id": "38656",
"be_merge_order_id": "38651",
"order_num": "NO202509281057510542711"
},
"sku_str": "默认规格",
"period": "2023/05/18-2023/05/19",
"createtime": "2023-05-11 20:34:52",
"number": "2",
"status": "已支付",
"unit_price": "600.00",
"order_price": 1200,
"have_pay": 1200,
"have_pay_moneycard": "800.00",
"students": [
{
"name": "吴念一",
"phone": "139571411111",
"idcard_type": "1",
"idcard": "330105201******",
"height": "150",
"weight": "47.00",
"birthday": "2015-12-26"
}
],
"exchenge_list": [
{
"old_pid": "345",
"old_period_id": "714",
"old_pname": "2026夏·少年常青藤夏校",
"old_period": "2026/07/18-2026/07/27",
"new_pid": "345",
"new_period_id": "727",
"new_pname": "2026夏·少年常青藤夏校",
"new_period": "延期",
"addtime": "2026-07-08 15:47:50"
}
],
"remarks_list": [
{ "content": "备注内容", "addtime": "2023-05-15 10:23:17" }
],
"refund_list": [
{
"team_id": 0,
"addtime": "2023-05-11 20:34:52",
"money": "0.00",
"moneycard": "800.00",
"refund_types": "全部退营",
"refund_id": 111,
"desc": "退款原因"
}
],
"pay_list": [
{
"addtime": "2023-05-11 20:34:52",
"money": "0.00",
"moneycard": "800.00",
"tranction_id": "1111111"
}
],
"cut_group_info": {
"team_name": "1团",
"team_nick_name": "背提2期",
"group_name": "19组",
"group_id": "513"
},
"student_info_list": [
{ "name": "gender", "type": "radio", "title": "性别", "value": "男" },
{ "name": "phone", "type": "text", "title": "手机号", "value": "13714132168" }
],
"more_count": 2,
"more_all_pay": "0.01",
"more_all_pay_moneycard": "0.01",
"more_info_list": [
{
"order_id": "38109",
"ordernum": "NO20250729133708420538",
"pname": "xmw测试-暑假集训营(多期)",
"period": "2025/08/11-2025/08/18",
"have_pay": "0.01"
}
]
}
}
接收方要求
| 项目 | 要求 |
|---|---|
| 响应状态码 | 返回 HTTP 200 表示接收成功 |
| 幂等 | 同一订单可能因多次变更重复推送,请按 order_id + exchange_type 去重 |
| 时效 | 收到回调后请尽快同步更新友商侧订单数据 |
相关接口
- 主动查询订单:
查询订单