Skip to main content

概述

交易 API 允许您检索与您账户关联的所有财务交易的完整历史记录。这包括购买、存款、取款、转账、账单支付以及所有其他财务活动。 端点类型:GraphQL 查询
身份验证:必需(JWT Bearer 令牌)
所需权限范围:LIST_PAYMENT 和 LIST_PURCHASES
速率限制:适用标准的 GraphQL 速率限制

快速开始

基本查询



查询结构

参数


响应结构

TransactionConnection


筛选选项

TransactionFilterInput

筛选字段详情

记录与状态筛选

recordId
类型:[UUID]
描述:按特定的交易记录 ID 筛选。
示例:
status
类型:[TransactionStatus]
描述:按交易状态筛选。
选项:
  • PENDING - 交易正在处理中
  • SETTLED - 交易已成功完成
示例:

金额筛选

amount、amountGte、amountLte
类型:Float
描述:按精确金额或以美元计的金额范围筛选。
  • amount - 精确匹配金额
  • amountGte - 最小金额(大于或等于)
  • amountLte - 最大金额(小于或等于)
示例:
finalAmount、finalAmountGte、finalAmountLte
类型:Float
描述:按最终金额(金额 + 手续费)筛选。
示例:

返现筛选

cashbackAmount、cashbackAmountGte、cashbackAmountLte
类型:Float
描述:按获得的返现金额筛选。
示例:
cashbackPercentage、cashbackPercentageGte、cashbackPercentageLte
类型:Float
描述:按返现比例筛选。
示例:

手续费筛选

feeAmount、feeAmountGte、feeAmountLte
类型:Float
描述:按交易手续费金额筛选。
示例:

日期筛选

createdGte、createdLte
类型:DateTime
格式:ISO 8601(例如:2025-01-01T00:00:00Z)
描述:按交易创建日期范围筛选。
示例:
updatedGte、updatedLte
类型:DateTime
描述:按交易最后更新日期范围筛选。

商户筛选

merchantId
类型:[UUID]
描述:按特定商户 ID 筛选。
示例:
merchant
类型:[String]
描述:按商户名称筛选(与 destination 字段匹配)。
示例:

交易属性

transactionType
类型:[String]
描述:按特定交易类型筛选。
常见值:
  • Add Money - 存款
  • Gift Card Purchase - 礼品卡购买
  • Transfer - In - 转入
  • Transfer - Out - 转出
  • Virtual Card Purchase - 虚拟卡购买
  • Withdrawal

示例:
channel
类型:[String!]
描述:按平台渠道筛选。
常见值:
  • WEB - 网页浏览器
  • MOBILE - 移动应用
  • API - API 请求
示例:
category
类型:[String]
描述:按交易类别筛选。
示例:

虚拟卡筛选

virtualCardProgram
类型:[String]
描述:按虚拟卡项目/发卡行筛选。
示例:
virtualCard
类型:[UUID]
描述:按特定虚拟卡 ID 筛选。
示例:

其他筛选

fundingSource
类型:[String]
描述:搜索资金来源名称(与 source 或 destination 部分匹配)。
示例:
referenceId
类型:String
描述:按外部参考 ID 筛选(例如购买展示 ID)。
示例:
liabilityId
类型:UUID
描述:按负债 ID 筛选(用于账单支付)。

分页

OffsetInput

示例 - 第 1 页:
示例 - 第 2 页:
示例 - 检查是否还有更多页:

Transaction 类型

字段描述

核心交易字段

财务详情

余额快照

重要提示:所有余额字段显示的都是此交易生效之后的余额。

交易详情

商户信息

虚拟卡信息

货币转换

元数据


示例

示例 1:基本交易列表

查询:
响应:

示例 2:按日期范围筛选

查询:

示例 3:仅购买交易及余额

查询:
响应:

示例 4:高返现交易

查询:

示例 5:金额范围筛选

查询:

示例 6:虚拟卡交易

查询:

示例 7:分页示例

查询 - 获取第一页并检查是否还有更多:
响应显示 hasNextPage=true:
查询 - 获取第二页:

错误处理

常见错误

缺失或无效的令牌

HTTP 状态:401 Unauthorized

权限不足

HTTP 状态:403 Forbidden

无效的筛选参数

HTTP 状态:400 Bad Request

超出速率限制

HTTP 状态:429 Too Many Requests 这是一个普通的 JSON 响应体,而不是 GraphQL 的 errors 数组。有关阻断持续时间,请参阅速率限制。

最佳实践

1. 有效使用分页

始终检查 hasNextPage 以确定是否还有更多结果:

2. 仅请求所需字段

仅指定您需要的字段以减小响应大小:

3. 对历史查询使用日期筛选

查询较早的交易时,请始终使用日期筛选:

4. 缓存已结算的交易

状态为 status: SETTLED 的交易是不可变的,可以被缓存:

5. 高效组合筛选条件

使用范围筛选先缩小结果范围,再应用其他筛选条件:

速率限制

此查询与 GraphQL API 共享相同的限制。有关具体数值以及被拒绝请求的表现形式,请参阅速率限制。

代码示例

JavaScript/TypeScript


Python


cURL


常见问题

问:单次请求最多可以获取多少笔交易?

答:单次请求的最大限制是 20 笔交易。请使用 hasNextPage 字段实现分页。

问:交易历史可以追溯到多久以前?

答:自账户创建以来的所有交易都会被永久保留。

问:是否包含处理中的交易?

答:是的,默认情况下会包含处理中的交易。可以通过按 status: [SETTLED] 筛选来排除它们。

问:时间戳使用的是什么时区?

答:所有时间戳均为 UTC 时间(ISO 8601 格式)。

问:我需要哪些权限范围?

答:您同时需要 LIST_PAYMENT 和 LIST_PURCHASES 权限范围。

问:我可以在账户内按用户 ID 筛选吗?

答:不可以,该 API 始终返回您账户下的所有交易,不支持用户级别的筛选。

问:amount 筛选和 finalAmount 筛选有什么区别?

答:
  • amount 筛选的是基础交易金额
  • finalAmount 筛选的是金额 + 手续费(即向用户收取的总额)

问:如何按日期范围筛选?

答:使用 createdGte 和 createdLte 筛选创建日期:

支持


更新日志

v1.0.0(分支:13-fluz-15659-add-transactions-query-and-webhook-to-api)

  • 交易查询 API 的首个正式版本
  • 支持全面的筛选功能(15+ 种筛选类型)
  • 使用 TransactionConnection 响应类型进行分页
  • 交易记录中包含余额快照
  • 需要 LIST_PAYMENT 和 LIST_PURCHASES 权限范围
  • 仅支持账户级别的交易访问

需要帮助? 请通过 api-support@fluz.app 联系我们的开发者支持团队,或访问我们的开发者门户。