Files
ZQYY.FQ-ETL/docs/api-reference/refund_transactions.md

221 lines
8.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 退款流水 — GetRefundPayLogList
> 模块:`Order` · ODS 表:`refund_transactions` · 事实表(增量)
---
## 一、接口概述
查询门店下已完成的退款支付流水。每条记录对应一笔资金层面的退款交易(资金反向流出),`pay_amount` 全为负数。本表是纯资金维度的退款流水,不含退款原因等业务信息;通过 `relate_type` + `relate_id` 关联到具体业务实体(消费订单、充值记录等)。与支付流水(`payment_transactions`)共用枚举体系,可 UNION 构建统一资金流水视图。
| 属性 | 值 |
|------|-----|
| 完整路径 | `POST /Order/GetRefundPayLogList` |
| Base URL | `https://pc.ficoo.vip/apiprod/admin/v1/` |
| 鉴权 | `Authorization: Bearer <token>` |
| 分页 | `page` + `limit`(最大 100 |
| 时间范围 | `startTime` / `endTime`(必填) |
---
## 二、请求
### 请求体JSON
```json
{
"startTime": "2025-11-01 08:00:00",
"endTime": "2025-11-10 08:00:00",
"siteId": 2790685415443269,
"page": 1,
"limit": 100
}
```
### 参数说明
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `startTime` | string | 是 | 查询起始时间 |
| `endTime` | string | 是 | 查询结束时间 |
| `siteId` | int | 是 | 门店 ID |
| `page` | int | 是 | 页码,从 1 开始 |
| `limit` | int | 是 | 每页条数,最大 100 |
---
## 三、响应结构
```
{
"code": 200,
"data": {
"list": [ { ... }, { ... } ],
"total": 11
}
}
```
`data.list` 中每个对象即为一条退款流水记录,共 32 个字段(含嵌套 `siteProfile`),按逻辑分组说明如下。
---
## 四、响应字段详解32 个字段)
### 4.1 主键与门店/租户
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `id` | int | `3089577798995141` | 退款流水记录主键 ID |
| `tenant_id` | int | `2790683160709957` | 租户/品牌 ID |
| `site_id` | int | `2790685415443269` | 门店 ID |
| `tenantName` | string | `"朗朗桌球"` | 租户名称,冗余展示字段,与 `siteProfile.shop_name` 一致 |
| `siteProfile` | object | `{...}` | 门店信息快照(冗余),结构与其他接口一致,不再逐字段展开 |
### 4.2 业务关联
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `relate_type` | int | `1` | 关联业务类型枚举。`1` = 结账单退款(当前样本新增);`2` = 消费类订单退款;`5` = 充值/储值类业务退款(金额通常较大) |
| `relate_id` | int | `3089548319804869` | 关联业务记录的主键 ID。同一 `relate_id` 可对应多条退款流水(分批退场景) |
| `pay_sn` | int | `0` | 支付序列号。当前未使用,全部为 0 |
### 4.3 金额字段
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `pay_amount` | float | `-8.0` | 退款资金变动金额(元/人民币)。**全部为负数**,绝对值即退款金额。判断退款金额应看此字段的负数值,而非 `refund_amount` |
| `refund_amount` | float | `0.0` | 实际退款金额字段。当前**未启用**,全部为 0.0。系统直接用 `pay_amount` 负数表示退款额 |
| `balance_frozen_amount` | float | `0.0` | 会员储值卡退款时暂时冻结的余额金额(元)。当前无会员卡退款,全部为 0 |
| `card_frozen_amount` | float | `0.0` | 卡被冻结金额(元),与会员卡/储值账户相关。当前未使用 |
| `round_amount` | float | `0.0` | 舍入/抹零金额(元)。当前未使用 |
| `channel_fee` | float | `0.0` | 第三方支付渠道手续费(元)。当前未使用 |
### 4.4 时间字段
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `create_time` | string | `"2026-02-10 23:41:06"` | 退款流水创建时间 |
| `pay_time` | string | `"2026-02-10 23:41:06"` | 退款在支付渠道层面实际发生的时间。当前与 `create_time` 完全一致;异步退款场景下二者可能不同 |
### 4.5 支付方式与渠道
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `payment_method` | int | `4` | 支付/退款方式枚举。已知值:`2`(某种线上支付渠道)、`4`(另一种支付方式)。与支付流水共用枚举 |
| `online_pay_channel` | int | `0` | 线上支付渠道枚举。`0` = 线下/默认渠道。当前未出现其他值 |
| `online_pay_type` | int | `0` | 在线退款类型。`0` = 原路退回。其他值(如退到余额、退到其他银行卡)当前未出现 |
| `pay_terminal` | int | `1` | 退款终端类型枚举。`1` = 前台收银端。其他值(小程序、自助机等)当前未出现 |
| `pay_config_id` | int | `0` | 支付配置 ID商户支付通道配置主键。当前未使用 |
| `channel_payer_id` | string | `""` | 支付渠道侧 payer ID如微信 openid。当前未使用 |
| `channel_pay_no` | string | `""` | 第三方支付平台交易号(如微信支付单号)。当前未使用 |
### 4.6 会员关联
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `member_id` | int | `0` | 会员 ID。`0` = 非会员退款或未绑定会员。非 0 时对应会员档案表主键 |
| `member_card_id` | int | `0` | 会员卡账户 ID。`0` = 未退到会员卡。非 0 时对应储值卡列表主键 |
### 4.7 状态与标志
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `pay_status` | int | `2` | 退款状态枚举。`2` = 已完成。当前导出仅包含已完成的退款记录 |
| `action_type` | int | `2` | 行为类型枚举。`2` = 退款。配合 `pay_amount < 0` 确认为退款动作 |
| `is_revoke` | int | `0` | 是否撤销型退款。`0` = 正常退款;`1` = 撤销类型操作 |
| `is_delete` | int | `0` | 逻辑删除标记。`0` = 未删除,`1` = 已逻辑删除 |
| `check_status` | int | `1` | 审核状态。`1` = 已审核/通过。系统支持"退款需审核"流程 |
### 4.8 操作相关
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `operator_id` | int | `0` | 执行退款操作的操作员 ID。当前全部为 0系统未记录或导出未带出 |
| `cashier_point_id` | int | `0` | 收银点 ID。当前未区分具体收银点 |
---
## 五、响应样例(单条记录)
```json
{
"tenantName": "朗朗桌球",
"siteProfile": { "id": 2790685415443269, "shop_name": "朗朗桌球", "..." : "..." },
"id": 3089577798995141,
"site_id": 2790685415443269,
"tenant_id": 2790683160709957,
"pay_sn": 0,
"pay_amount": -8.0,
"pay_status": 2,
"pay_time": "2026-02-10 23:41:06",
"create_time": "2026-02-10 23:41:06",
"relate_type": 1,
"relate_id": 3089548319804869,
"is_revoke": 0,
"is_delete": 0,
"online_pay_channel": 0,
"payment_method": 4,
"balance_frozen_amount": 0.0,
"card_frozen_amount": 0.0,
"member_id": 0,
"member_card_id": 0,
"round_amount": 0.0,
"online_pay_type": 0,
"action_type": 2,
"refund_amount": 0.0,
"cashier_point_id": 0,
"operator_id": 0,
"pay_terminal": 1,
"pay_config_id": 0,
"channel_payer_id": "",
"channel_pay_no": "",
"check_status": 1,
"channel_fee": 0.0
}
```
---
## 六、跨表关联
### 与支付流水(`payment_transactions`
| 本表字段 | 关联表字段 | 说明 |
|----------|-----------|------|
| `relate_type` + `relate_id` | `relate_type` + `relate_id` | 通过共同指向同一业务实体间接关联 |
| `payment_method` | `payment_method` | 共用支付方式枚举 |
| `online_pay_channel` | `online_pay_channel` | 共用线上渠道枚举 |
> 支付流水 `pay_amount > 0`(进账),退款流水 `pay_amount < 0`(出账)。两者可 UNION 构建统一资金流水视图,通过 `action_type` + `pay_amount` 符号区分方向。
### 与结账记录(`settlement_records`
`relate_type = 2` 时,`relate_id` 对应结账记录的 `settleList.id`,可追溯退款对应的原始消费订单。
### 与充值结算记录(`recharge_settlements`
`relate_type = 5` 时,`relate_id` 对应充值业务记录的主键,可追溯退款对应的原始充值订单。
### 与会员体系
| 本表字段 | 关联表字段 | 说明 |
|----------|-----------|------|
| `member_id` | 会员档案 `id` | 会员主键 |
| `member_card_id` | 储值卡列表主键 | 会员卡账户 |
> 当前数据中 `member_id` / `member_card_id` 全部为 0说明均为非会员卡退款。一旦发生"退到储值卡"场景,这些字段会出现非 0 值,可串联"资金退款 → 会员余额变更 → 卡账户状态"。
### 与门店维度
`site_id` / `tenant_id` 与所有业务表一致。`siteProfile` 为冗余快照。
<!--
AI_CHANGELOG:
- 日期: 2026-02-13
- Prompt: P20260213-183000 — 使用子代理并行处理剩余 API 文档重构
- 直接原因: 按标杆文档格式重写高质量 API 参考文档
- 变更摘要: 新建 docs/api-reference/refund_transactions.md按逻辑分组详解所有字段含跨表关联
- 风险与验证: 纯文档,无运行时影响;验证方式:对比 endpoints/ 和 samples/ 确认字段覆盖完整
-->