PAYATHON 2026

如何在商家平台查看预授权冻结、解冻及转支付订单?

支付老李

结论

登录商家平台,进入 交易订单 或 卖出的订单,把业务类型设为 预授权,即可在线查询预授权冻结、解冻和转支付订单。常用筛选条件有:

  • 创建时间或交易时间
  • 商户订单号
  • 平台交易号
  • 预授权号
  • 业务类型
  • 订单状态
  • 门店、终端或操作员

商家平台、账号权限和产品版本不同,页面显示的菜单和字段也可能不同。请以实际页面提供的筛选项为准。

为什么要按业务类型和状态筛选

预授权不是普通消费,而是由多个关联操作组成:

  • 冻结:暂时冻结消费者账户中的指定金额。
  • 解冻:释放全部或部分冻结金额。
  • 转支付:将全部或部分冻结金额转为实际支付。

如果只查普通支付订单,可能看不到完整的预授权流水。查询时,先选择“预授权”业务类型,再根据订单状态、预授权号或原商户订单号查找相关记录。

操作步骤

1. 进入订单查询页面

登录对应的商家平台,在交易管理区域查找以下入口之一:

  • 交易订单
  • 卖出的订单
  • 订单管理

如果页面没有这些菜单,请确认当前账号是否有交易查询权限,或联系主账号管理员授权。

2. 设置查询时间

先选择预授权操作发生的大致时间。时间跨度过大时,平台可能限制查询范围、分页显示结果,或只返回部分数据。

同时确认页面使用的是哪种时间条件:

  • 订单创建时间
  • 冻结时间
  • 完成时间
  • 最近更新时间

查询解冻或转支付记录时,如果按冻结时间查不到结果,可以改用操作发生时间或更新时间。

3. 选择预授权业务

在“业务类型”“产品类型”或类似筛选项中选择:

预授权

有些平台会进一步区分:

预授权冻结
预授权解冻
预授权转支付

如果页面没有单独列出动作类型,可以查看订单状态或进入订单详情确认具体操作。

4. 输入订单标识

如果知道订单编号,优先使用精确查询。常见标识有:

  • 商户订单号
  • 平台交易号
  • 预授权号
  • 原冻结订单号
  • 商户请求号

冻结、解冻和转支付可能分别生成不同的业务流水号,但通常可以通过预授权号或原冻结订单号关联起来。只查询某次解冻或转支付的商户订单号,未必能看到完整的交易链路。

5. 按状态缩小范围

根据需要选择相应的订单状态,例如:

  • 冻结成功
  • 冻结处理中
  • 冻结失败
  • 已解冻
  • 部分解冻
  • 已转支付
  • 部分转支付
  • 已关闭

各平台使用的状态名称可能不同。例如,“转支付成功”也可能显示为“已完成”或“支付成功”。判断时应结合订单详情中的业务类型和金额变化。

6. 查看订单详情

打开查询结果中的订单详情,重点核对:

  • 冻结金额
  • 已解冻金额
  • 已转支付金额
  • 剩余冻结金额
  • 冻结时间
  • 解冻或转支付时间
  • 商户订单号
  • 平台交易号
  • 预授权号
  • 当前状态

各项金额通常应符合以下关系:

原冻结金额 = 已转支付金额 + 已解冻金额 + 剩余冻结金额

如果平台允许部分解冻或部分转支付,同一笔预授权下可能有多条后续流水。核对金额时应合并计算,不能只看其中一条。

常用筛选条件

筛选条件适用场景
时间范围不清楚订单号,只知道大致发生时间
商户订单号查询商户系统发起的某次冻结、解冻或转支付
平台交易号根据支付平台返回的交易流水精确定位
预授权号关联冻结及其后续解冻、转支付记录
业务类型区分预授权订单和普通支付订单
订单状态查找成功、失败、处理中或已关闭的订单
门店或终端在多门店、多收银设备场景下缩小范围
操作员核对某位员工发起的业务操作
金额订单号未知时辅助定位,但通常不能单独确认订单

代码示例

在线查看订单不需要编写代码。如果已经从平台导出订单数据,可以按预授权号汇总冻结、解冻和转支付金额。下面是一个通用示例,不是特定平台的官方接口代码:

from collections import defaultdict
from decimal import Decimal

records = [
    {"auth_no": "AUTH001", "type": "FREEZE", "amount": "500.00"},
    {"auth_no": "AUTH001", "type": "UNFREEZE", "amount": "100.00"},
    {"auth_no": "AUTH001", "type": "CAPTURE", "amount": "350.00"},
]

summary = defaultdict(lambda: {
    "freeze": Decimal("0"),
    "unfreeze": Decimal("0"),
    "capture": Decimal("0"),
})

for record in records:
    auth_no = record["auth_no"]
    amount = Decimal(record["amount"])

    if record["type"] == "FREEZE":
        summary[auth_no]["freeze"] += amount
    elif record["type"] == "UNFREEZE":
        summary[auth_no]["unfreeze"] += amount
    elif record["type"] == "CAPTURE":
        summary[auth_no]["capture"] += amount

for auth_no, amounts in summary.items():
    remaining = (
        amounts["freeze"]
        - amounts["unfreeze"]
        - amounts["capture"]
    )

    print(auth_no, {
        **amounts,
        "remaining": remaining,
    })

实际导出文件的字段名和业务类型值可能不同,需要按照平台提供的字段说明进行映射。

注意事项

  • 优先使用预授权号或原冻结订单号查询,这两类编号更适合关联完整的业务链路。
  • 冻结、解冻和转支付可能对应不同的流水,不一定只生成一条订单记录。
  • 处理中的订单可能存在状态同步延迟,可以稍后刷新,并结合异步通知或账单核对。
  • 页面查询结果不能代替财务对账。确认资金时,还要核对订单详情、账单和商户系统记录。
  • 如果查不到订单,请检查时间范围、业务类型、订单号类型、所属门店和当前账号的数据权限。
  • 不要通过重复发起解冻或转支付来验证订单状态,以免产生重复请求或业务冲突。

备注:内容仅供参考。