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

159 lines
5.8 KiB
Markdown
Raw 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.
# 支付流水 — GetPayLogListPage
> 模块:`PayLog` · ODS 表:`payment_transactions` · 事实表(增量)
---
## 一、接口概述
查询门店下的支付成功流水。每条记录对应一笔已完成的支付交易(资金正向流入),通过 `relate_type` + `relate_id` 组合关联到不同业务实体(结账单、会员卡充值等)。本表是"统一支付网关"设计的体现,与退款流水(`refund_transactions`)共用枚举体系,可 UNION 构建统一资金流水视图。
| 属性 | 值 |
|------|-----|
| 完整路径 | `POST /PayLog/GetPayLogListPage` |
| Base URL | `https://pc.ficoo.vip/apiprod/admin/v1/` |
| 鉴权 | `Authorization: Bearer <token>` |
| 分页 | `page` + `limit`(最大 100 |
| 时间范围 | `StartPayTime` / `EndPayTime`(必填) |
---
## 二、请求
### 请求体JSON
```json
{
"StartPayTime": "2025-11-01 08:00:00",
"EndPayTime": "2025-11-10 08:00:00",
"siteId": 2790685415443269,
"OnlinePayChannel": 0,
"paymentMethod": 0,
"relateType": 0,
"page": 1,
"limit": 100
}
```
### 参数说明
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `StartPayTime` | string | 是 | 支付起始时间 |
| `EndPayTime` | string | 是 | 支付结束时间 |
| `siteId` | int | 是 | 门店 ID |
| `OnlinePayChannel` | int | 是 | 在线支付渠道筛选。`0` = 全部 |
| `paymentMethod` | int | 是 | 支付方式筛选。`0` = 全部 |
| `relateType` | int | 是 | 关联业务类型筛选。`0` = 全部 |
| `page` | int | 是 | 页码,从 1 开始 |
| `limit` | int | 是 | 每页条数,最大 100 |
---
## 三、响应结构
```
{
"code": 200,
"data": {
"list": [ { ... }, { ... } ],
"total": 200
}
}
```
`data.list` 中每个对象即为一条支付流水记录,共 11 个字段(含嵌套 `siteProfile`),按逻辑分组说明如下。
---
## 四、响应字段详解11 个字段)
### 4.1 主键与门店
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `id` | int | `3092712422508741` | 支付流水记录主键 ID |
| `site_id` | int | `2790685415443269` | 门店 ID |
| `siteProfile` | object | `{...}` | 门店信息快照(冗余),结构与其他接口一致,不再逐字段展开 |
### 4.2 业务关联
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `relate_type` | int | `2` | 关联业务类型枚举。`1` = 其他业务类型(预留,当前少见);`2` = 结账单支付(`relate_id` 对应结账记录 `settleList.id``5` = 会员卡充值/账户操作支付(`relate_id` 对应充值业务单号) |
| `relate_id` | int | `3092711340902597` | 关联业务记录的主键 ID`relate_type` 不同指向不同表。结构上允许同一 `relate_id` 对应多条支付记录(组合支付场景) |
### 4.3 金额与时间
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `pay_amount` | float | `0.0` | 支付金额(元/人民币)。`0.0` 表示该支付方式参与了本单但实际金额由其他渠道/卡券承担0 元支付记录在结构上合法且大量存在) |
| `create_time` | string | `"2026-02-13 04:49:48"` | 支付记录创建时间 |
| `pay_time` | string | `"2026-02-13 04:49:48"` | 支付完成时间。当前数据中与 `create_time` 多数一致;异步支付场景下二者可能不同 |
### 4.4 支付状态与渠道
| 字段 | 类型 | 示例 | 说明 |
|------|------|------|------|
| `pay_status` | int | `2` | 支付状态枚举。`2` = 支付成功/已完成。当前导出仅包含成功状态的记录 |
| `payment_method` | int | `4` | 支付方式枚举。已知值:`2`(某种线上支付渠道)、`4`(另一种支付方式)。具体映射需参考系统支付方式配置表 |
| `online_pay_channel` | int | `0` | 线上支付渠道枚举。`0` = 线下/默认渠道。其他值(如 `1` 微信、`2` 支付宝)当前未出现。预留字段 |
---
## 五、响应样例(单条记录)
```json
{
"siteProfile": { "id": 2790685415443269, "shop_name": "朗朗桌球", "..." : "..." },
"create_time": "2026-02-13 04:49:48",
"pay_amount": 0.0,
"pay_status": 2,
"pay_time": "2026-02-13 04:49:48",
"online_pay_channel": 0,
"relate_type": 2,
"relate_id": 3092711340902597,
"site_id": 2790685415443269,
"id": 3092712422508741,
"payment_method": 4
}
```
---
## 六、跨表关联
### 与结账记录(`settlement_records`
| 本表字段 | 关联表字段 | 说明 |
|----------|-----------|------|
| `relate_id`(当 `relate_type = 2` | `settleList.id` | 结账单 ID |
> 通过此关联,支付记录间接连接到台费/助教/商品明细(结账记录 → 各类明细表的 `order_settle_id`)。
### 与退款流水(`refund_transactions`
| 本表字段 | 关联表字段 | 说明 |
|----------|-----------|------|
| `relate_type` + `relate_id` | `relate_type` + `relate_id` | 通过共同指向同一业务实体间接关联 |
| `payment_method` | `payment_method` | 共用支付方式枚举 |
> 支付记录 `pay_amount` 为正数(进账),退款记录 `pay_amount` 为负数(出账)。两者可 UNION 构建统一资金流水视图。
### 与会员卡流水
`relate_type = 5` 时,`relate_id` 对应会员卡流水中的 `relate_id`(充值业务单号),可追踪充值金额和卡账户变动。
### 与门店维度
`site_id` 与所有业务表一致。`siteProfile` 为冗余快照。
<!--
AI_CHANGELOG:
- 日期: 2026-02-13
- Prompt: P20260213-183000 — 使用子代理并行处理剩余 API 文档重构
- 直接原因: 按标杆文档格式重写高质量 API 参考文档
- 变更摘要: 新建 docs/api-reference/payment_transactions.md按逻辑分组详解所有字段含跨表关联
- 风险与验证: 纯文档,无运行时影响;验证方式:对比 endpoints/ 和 samples/ 确认字段覆盖完整
-->