6.餐饮订单推送接口
简要描述
回调触发时机
| 触发场景 | 说明 |
| 支付成功 | 订单支付状态从"未支付"变为"已支付"时触发 |
| 退款成功 | 订单支付状态从"退款中/退款待处理"变为"已退款"时触发 |
回调URL配置
联系swifood的运营人员
| 配置项 | 说明 |
| 协议支持 | HTTPS(推荐) / HTTP |
HTTP请求信息
请求方式
请求头
| 参数名 | 必选 | 类型 | 说明 |
| Content-Type | 是 | string | application/json |
请求体参数
| 参数名 | 必选 | 类型 | 长度限制 | 示例 | 说明 |
| param | 是 | string | - | - | 参数体 |
| sign | 是 | string | - | 45eebd745dcf0b5f6d6f9fcde28cd9fe8116a892 | 签名 |
| storeKey | 是 | string | - | - | 餐厅key |
| appId | 是 | string | - | - | APPID |
param 参数
| 参数名 | 必选 | 类型 | 长度限制 | 示例 | 说明 |
| orderInnerNo | 是 | string | - | CCP20220428011068111 | 订单No |
| restaurantNo | 是 | string | - | dasddasd | 餐厅No |
| branchIdentifier | 是 | string | - | dasddasd | 三方门店标识 |
| orderSerialNumber | 是 | Integer | - | - | 订单序列号 |
| channelCode | 否 | string | - | - | 支付渠道code |
| channelName | 否 | string | - | - | 支付渠道名称 |
| payProductType | 否 | Integer | - | - | 支付产品类型: 0-线下支付 1-PaymentLink 2-BillPayment 3-BankTransfer 4-QrStatic 5-QrDynamic 6-Cpm 7-Balance |
| discountAmount | 否 | Integer | - | - | 店家优惠金额 |
| fee | 否 | Integer | - | - | 线上支付手续费 |
| serviceFee | 否 | Integer | - | - | 服务费 |
| packageFee | 否 | Integer | - | - | 打包费 |
| deliveryFee | 否 | Integer | - | - | 配送费用 |
| merchantDeliveryFee | 否 | Integer | - | - | 商户配送费用 |
| lessVat | 否 | Integer | - | - | 特殊折扣免税金额 |
| surcharge | 否 | Integer | - | - | 附加费 |
| realAmount | 是 | Integer | - | - | 实际支付金额 |
| totalAmount | 否 | Integer | - | - | 总金额 |
| orderStatus | 是 | Integer | - | - | 订单状态 1待接单 2已接单 3已完成 4已取消 |
| paymentStatus | 是 | Integer | - | - | 支付状态 1-未支付 2-已支付 3-支付失败 4-退款中 5-已退款 6-退款待处理 7-退款失败 8-取消退款 |
| customerNum | 否 | Integer | - | | 用餐人数 |
| createTime | 是 | String | - | | 订单创建时间 格式:yyyy-MM-dd HH:mm:ss |
| completeTime | 否 | String | - | | 订单完成时间 格式:yyyy-MM-dd HH:mm:ss |
| paymentTime | 是 | String | - | | 支付时间 格式:yyyy-MM-dd HH:mm:ss |
| receiptNo | 是 | String | - | | 支付发票号 |
| refundTime | 否 | String | - | | 退款时间 格式:yyyy-MM-dd HH:mm:ss |
| refundReceiptNo | 否 | String | - | | 退款发票号 |
| discountType | 否 | Integer | - | | 优惠类型 1pwd 2商户自定义折扣 3pwd折扣-人 4sc折扣-整单 5sc折扣-人数 6优惠券 |
| skuList | 是 | list | - | 1 | 订单菜品数据 |
| remark | 否 | string | - | 备注 | 备注 |
skuList参数说明
| 参数名 | 必选 | 类型 | 长度限制 | 示例 | 说明 |
| categoryNo | 是 | string | - | 分类no | 分类no |
| categoryName | 是 | string | - | 分类名称 | 分类名称 |
| productNo | 是 | string | - | 菜品no | 菜品no |
| productName | 否 | string | - | 菜品名称 | 菜品名称 |
| variant | 是 | int | - | 1 | 是否多规格1.是2否 |
| skuNo | 否 | string | - | no | sku编码 |
| skuName | 是 | string | - | name | sku名称 |
| count | 是 | integer | - | 1 | 用户的购买数量 |
| price | 是 | integer | - | 100 | 菜品金额(单位为分) |
| optionAmount | 是 | integer | - | 10 | 选项附加金额 |
| optionList | 否 | list | - | - | option集合 |
optionList参数说明
| 参数名 | 必选 | 类型 | 长度限制 | 示例 | 说明 |
| optionNo | 否 | string | - | no | option no |
| optionName | 否 | string | - | mingcheng | option 名称 |
| optionItemList | 否 | list | - | - | option item详情 |
optionItemList参数说明
| 参数名 | 必选 | 类型 | 长度限制 | 示例 | 说明 |
| optionItemNo | 否 | string | - | no | option item no |
| optionItemName | 否 | list | - | item name | option item name |
| price | 否 | integer | - | 100 | 价格 (单位为分) |
请求体示例
返回示例
响应参数
| 参数名 | 类型 | 示例 | 说明 |
| code | int | 10000 | 状态码 参考列表 |
| message | string | success | 状态码信息 |
| data | Boolean | - | 是否推送成功 |
成功响应示例
失败响应示例
重试机制
| 重试次数 | 间隔时间 | 说明 |
| 第1次 | 立即 | 首次回调 |
| 第2次 | 1分钟后 | 第1次失败后 |
| 第3次 | 5分钟后 | 第2次失败后 |
| 第4次 | 30分钟后 | 第3次失败后 |
若4次重试均失败,系统将停止重试,商户可通过查询接口主动获取订单状态。
注意事项
- 幂等性:商户接口需要保证幂等性,避免重复处理同一订单的回调
- 响应时间:商户接口需要在5秒内返回响应,超时将视为失败
- 网络环境:请确保商户回调接口可以从外网访问
- HTTPS:建议使用HTTPS协议保证数据传输安全
- 日志记录:建议商户记录所有回调请求的日志,便于排查问题