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

14 KiB
Raw Permalink Blame History

支付流水GetPayLogListPage

自动生成于 2026-02-13 | 数据来源:实时 API

基本信息

属性
接口路径 PayLog/GetPayLogListPage
完整 URL https://pc.ficoo.vip/apiprod/admin/v1/PayLog/GetPayLogListPage
请求方法 POST
Content-Type application/json
鉴权方式 Bearer TokenAuthorization 头)
ODS 对应表 payment_transactions
分页方式 page + limit(最大 100
时间范围 需要StartPayTime / EndPayTime

请求参数

参数名 类型 示例值 说明
StartPayTime string "2026-02-01 08:00:00" 支付起始时间
EndPayTime string "2026-02-13 08:00:00" 支付结束时间
siteId int 2790685415443269 门店 ID
OnlinePayChannel int 0 在线支付渠道0=全部)
paymentMethod int 0 支付方式0=全部)
relateType int 0 关联类型0=全部)
page int 1 页码(从 1 开始)
limit int 100 每页条数(最大 100

响应字段(共 11 个)

# 字段名 类型 示例值
1 siteProfile object {'id': 2790685415443269, 'org_id': 2790684179467077, 'sho...
2 create_time string '2026-02-13 04:49:48'
3 pay_amount float 0.0
4 pay_status int 2
5 pay_time string '2026-02-13 04:49:48'
6 online_pay_channel int 0
7 relate_type int 2
8 relate_id int 3092711340902597
9 site_id int 2790685415443269
10 id int 3092712422508741
11 payment_method int 4

详细字段分析

以下内容迁移自旧版 payment_transactions-Analysis.md,包含字段的业务含义、枚举值、跨表关联等详细说明。

二、字段逐一说明(含类型、枚举、可能含义)

  1. 门店维度字段 1.1 siteProfile

类型对象Object

含义:门店信息快照,与其他 JSON 中的 siteProfile 结构一致。

关键子字段(只列最重要的,结构与前面文件相同):

id门店 ID本数据中固定为 2790685415443269

org_id组织 ID。

shop_name店名例如“朗朗桌球”

full_address / address详细地址 / 简要地址。

business_tel门店电话。

longitude / latitude经纬度。

tenant_id租户 ID。

site_label门店标签如 “A”

shop_status门店状态枚举本数据中为 1表示正常营业

以及 WIFI、灯控、客服二维码等配置字段。

说明:

siteProfile.id 与本记录的 site_id 完全一致。

在整个系统中,这是一份门店维度的冗余快照,方便前端和报表使用。

1.2 site_id

类型整数long

观测:所有记录均为 2790685415443269。

含义:支付记录所属的门店 ID。

关联关系:

与其他所有 JSON 中的 site_id / siteId 对应,是全局的门店外键。

与 siteProfile.id 相同,保证“门店维度”一致。

  1. 支付流水主键与业务关联 2.1 id

类型整数long

特征200 条记录中的 id 全部唯一。

含义:支付流水记录的主键 ID。

作用:

在“支付记录”这个表内部,唯一标识一条支付流水(包括金额为 0 的记录)。

2.2 relate_type

类型整数int明显是 枚举字段。

观测到的枚举值及数量:

2出现 196 次。

5出现 3 次。

1出现 1 次。

含义(从结构与其他表关联推断):

表示“这条支付记录关联的业务类型”。

不同的 relate_typerelate_id 指向不同业务表:

relate_type = 2 通过数据实际比对,可以确认:

relate_id 对应 结账记录.json 中的 settleList.id即结账单 ID / order_settle_id

本类型是“结账单支付流水”。

relate_type = 5 通过与 会员卡流水tenantMemberCardLogs 的比对:

在 tenantMemberCardLogs 中,存在字段 relate_id = 本表.relate_idfrom_type = 3且有充值金额 account_data。

因此可以判断relate_type = 5 对应“会员卡余额/充值类业务”的支付流水。

relate_type = 1 当前样本中只有 1 条,且在其他 JSON 中没有找到同 ID 的记录,具体业务类型不明,结构上可先视作“其他业务类型(预留枚举值)”。

总结relate_type 是“支付关联业务类型”的枚举,至少包括:

2结账单支付

5会员卡充值/账户操作支付;

1其他少见业务类型暂不确定

2.3 relate_id

类型整数long

特征:

200 条记录中relate_id 全部互不重复n_unique=200

含义:关联业务记录的主键 ID按 relate_type 不同指向不同表)。

具体关联关系:

当 relate_type = 2

relate_id = 结账记录表(结账记录.json中 settleList.id。

即:一条结账单,会在本表中对应一条支付记录(当前样本里是一对一,结构上允许扩展为一对多)。

当 relate_type = 5

relate_id = 会员卡流水tenantMemberCardLogs中的 relate_id 字段,而非该表的主键 id。

说明:充值/余额变更有自己的“业务单号”,该单号在支付记录和会员卡流水中共享。

当 relate_type = 1

未在其他已解析表中找到对应 ID只能确认它是一种保留业务类型。

  1. 支付金额与时间字段 3.1 pay_amount

类型浮点数float

观测数据:

不同取值共 36 个。

最小值0.0最大值3000.0。

分布特征(只看结构):

0.0:出现 140 次。

其他典型值4.0, 5.0, 6.0, 10.0, 14.0, 15.0, 20.0, 48.0, 96.0, 1000.0, 3000.0 等。

含义(结构层面):

本条支付流水的“支付金额”,单位为元。

特别情况:

140 条 pay_amount = 0 的记录,其 (relate_type, payment_method) 组合全部为 (2, 2)。 从结构角度看,可以解读为:

这部分支付流水记录通过 payment_method=2 标记了某种支付渠道,但金额为 0

金额实际可能由其他渠道/卡券抵扣(具体业务逻辑不在本次分析范围)。 这里仅说明“0 元支付记录在结构上是合法且被大量使用的”。

3.2 create_time

类型字符串string格式 "YYYY-MM-DD HH:MM:SS"

特征:

200 条记录中create_time 全部唯一。

含义:

支付记录创建时间,通常与发起支付请求的时间一致(创建支付流水的时间戳)。

3.3 pay_time

类型字符串string格式同上。

特征:

200 条记录中pay_time 也全部唯一。

在数据中 create_time 与 pay_time 多数完全一致,说明支付完成较快。

含义:

实际支付完成时间(支付状态变为成功的时间戳)。

从结构角度:

create_time 可以用来追踪“付费动作发起时间”。

pay_time 记录“支付成功时间”。 在异步支付场景,二者有可能不一致(当前样本中大多相同)。

  1. 支付状态与渠道、方式字段 4.1 pay_status

类型整数int枚举。

样本情况:所有记录 pay_status = 2。

含义(结合命名和导出结果推断):

支付状态枚举字段。

当前导出只包含状态为 2 的记录,很明显是“支付成功”的状态。

其他可能存在的枚举值(未出现在本数据中):

例如 0=未支付1=支付中3=支付失败4=已退款等(仅示例,具体需参考系统配置)。

结论(结构): 导出的 支付记录.json 是“成功支付流水”的子集,其他状态被过滤掉。

4.2 payment_method

类型整数int枚举。

样本分布:

2140 条记录。

460 条记录。

含义:

支付方式枚举,例如微信、支付宝、现金、银行卡、储值卡等某一种。

当前数据中只出现了 2 种枚举值,但没有文字说明映射关系。

从结构角度的判断:

这是区分不同支付“方式/通道”的关键字段;

应与系统中的“支付方式配置表”存在映射关系(本次导出未包含该配置表)。

需要注意: 虽然可以猜测 2 和 4 可能对应常见通道(如微信/支付宝等),但在缺乏配置表的情况下不宜直接下结论,这里只确认它是“支付方式枚举”的字段。

4.3 online_pay_channel

类型整数int枚举。

样本情况:所有记录 online_pay_channel = 0。

含义(命名层面):

线上支付渠道枚举,例如:

0无 / 线下;

1微信

2支付宝

……

但当前时间范围内,所有记录均为 0没有其他枚举值出现。

结构特点:

这个字段是为细分“在线支付通道”准备的;

当前门店在本次导出时间段内,可能没有使用该字段(或所有支付统一走某种方式未拆分)。

  1. 其他结构性字段

这里主要就是前面已经涉及的:

siteProfile门店快照对象

site_id门店 ID所有记录相同。

id支付流水主键。

relate_type & relate_id业务关联键。

没有额外隐藏字段,本表结构很精简、单一职责较强。

三、与其他 JSON 的关联关系(从字段角度)

本表核心作用:承载“支付结果”层面的信息,通过 relate_type + relate_id 把不同业务域的流水(结账单、会员卡流水等)统一串到“支付系统”上。

  1. 与结账记录(结账记录.json的关系

关联字段:

当 relate_type = 2 时:

支付记录.relate_id = 结账记录.settleList.id

结构含义:

每一笔结账单settleList.id对应一条支付记录当前样本中是一条记录relate_id 唯一)。

通过这个关系,可以:

从结账记录跳转到对应的支付记录;

从支付记录反查对应的结账单。

补充:

在整个系统中,结账记录.id 也对应各类明细表的 order_settle_id台费、助教等因此

支付记录 间接成为连接“支付系统”与“台费/助教/商品明细”的桥梁。

  1. 与会员卡流水tenantMemberCardLogs/ 余额变更记录的关系

对于 relate_type = 5 的记录:

在 tenantMemberCardLogs 中存在:

tenantMemberCardLogs.relate_id = 支付记录.relate_id

tenantMemberCardLogs.payment_method = 支付记录.payment_method

tenantMemberCardLogs.account_data = 充值金额(例如 1000.0)。

结构含义:

这些支付记录对应的业务类型是“会员卡余额充值/账户变动”。

relate_id 在这里扮演“充值业务单号”的角色,在支付表和会员卡流水中共享。

  1. 与门店维度的关系

site_id 与各个表(结账记录、台费流水、助教流水等)的 site_id 一致。

siteProfile 作为冗余的门店信息快照,与其他文件中的门店快照结构一致。

  1. 与结算/小票维度的间接关系

支付记录 →(通过 relate_id→ 结账记录 →(通过 id/orderSettleId→ 小票详情/台费/助教明细。

结构上,这构成一条完整的链路:

业务明细表(台费/助教等)只记录“消费内容”;

结账记录汇总明细,形成一条“结算单”;

支付记录在“结算单”基础上记录“实际支付行为”。

四、本表暴露出的结构性设计特点和线索

从纯结构、字段设计角度,本表有几个明显的设计意图和特点:

强烈的“统一支付网关”设计 通过 (relate_type, relate_id) 组合,支付系统不直接关心支付的是“台费单、结账单还是会员卡充值单”,而是:

不同业务系统约定一个 relate_type

将各自的业务主键(或业务单号)写入 relate_id。 这样整个支付层可以统一处理资金动作,而上层业务只需按约定填字段。

支付成功流水视角,非全量支付事件日志

pay_status 全部为 2

没有看到待支付、失败、关闭等状态。 说明当前导出的 支付记录.json 实际上是“支付成功流水卡片”,而不是“完整交易生命周期日志”。 对数据建模时,应该把“支付记录”视为 成功资金落地的事实表。

支付方式与线上渠道双层枚举结构

payment_method高层次区分支付方式现金/卡/微信/支付宝/储值卡等);

online_pay_channel更细粒度区分“线上支付通道”按实际配置可能划分微信/支付宝等)。 当前样本中 online_pay_channel 全为 0说明这个维度还没被实际利用但结构已经预留用于以后精细化拆分。

允许一单多笔支付的设计空间

结构上relate_id 并没有强制唯一,可以允许:

同一个 relate_id + 不同 payment_method

同一结账单部分现金、部分在线等组合支付。

虽然本时间段样本中每个 relate_id 只出现一次(对 relate_type=2 来说),但从设计上看,完全可以扩展为一对多。 在后续建模时不要假定“一个 relate_id 一定只对应一条支付记录”,这只是当前时间段的实际情况。

0 元支付流水的大量存在

规模200 条记录中,有 140 条 pay_amount = 0且全部 (relate_type=2, payment_method=2)。

结构意义:

系统会对“金额为 0 的支付动作”也产生支付流水记录,这可能是为了:

记录“某个支付方式参与了本单,但实际金额由其他方式/卡券承担”;

或记录内部结算/记账动作。

对后续分析和建模来说不能简单按“pay_amount > 0”过滤数据否则会丢失一大批结构上真实存在的支付行为。

门店维度冗余一致性

site_id 与 siteProfile.id 始终一致;

该模式与台费流水、助教流水、结账记录中的门店设计完全统一。 这种“一份数字外键 + 一份冗余快照”的模式,对于你后面做数据中台/数仓建模有直接影响:

在数仓中一般会把 site_id 建成维度外键;

siteProfile 只在上游 ODS 层保留快照DW 层不一定全量展开。