> ## Documentation Index
> Fetch the complete documentation index at: https://devzone.nayax.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Checkpoints & Scenario Tags

本页是 Log Trace Comparator 工具的完整检查点和场景标签参考。如果工具页面上的简短图例不够用,或者您不确定某个结果是否为真实问题,请阅读本页。

## 结果卡片的构成

每个日志或工作表都有各自的卡片:

* **文件/工作表名称**:格式为 `filename.xlsx → SheetName`,因此在同时上传多个文件或工作表时,可以清楚地看出每个结果来自哪个文件或工作表。
* **结论徽章**:<Badge color="green">ALL CHECKS PASSED</Badge>、<Badge color="orange">REVIEW RECOMMENDED</Badge> 或 <Badge color="red">FAILED CHECKS FOUND</Badge>。请参阅主工具页面上的图例。
* **场景标签**:自动检测交易类型或场景,例如 Vend denied 或 Multivend。完整列表见下文。
* **跟踪条**:每个检查点一个圆点,顺序与下文列出的检查点顺序相同。颜色图例位于工具页面上。
* **修复建议框**:当某个检查点出现警告或失败时显示,包含具体建议以及指向相关文档页面的 "Learn more" 链接。
* **证据行**:该检查点所依据的确切日志行,因此您无需手动查找。

## 场景标签

工具会根据日志中的模式,为每个结果标记所检测到的场景:

| 场景标签 | 含义 |
| - | - |
| `Regular transaction` | 普通交易,未检测到特殊场景 |
| `Multivend` | 工具发现了 Vend Multi-Request,即多产品交易 |
| `Multisession-capable build` | 该版本支持多个并行会话(这是版本能力,不一定在此日志中实际用到) |
| `Info session (card read only, no vend)` | 仅信息会话,读取卡片详细信息但不售出任何商品。此处出现 "vend denied" 结果属于正常情况 |
| `Card rejected — retry requested (unsupported/expired card)` | 卡片本身被读卡器拒绝(状态 78/84),通常是不受支持或无法读取的卡片,而非 SDK 缺陷 |
| `Explicit vend failure (no dispense)` | 收单机构已批准付款,但产品未出货(Vend Failure) |
| `Vend denied` | 收单机构或发卡机构拒绝了交易 |
| `Cancelled / aborted vend` | 用户取消了交易(X 按钮或 Cancel) |
| `Cancelled before card presented` | 用户在会话关闭前从未出示卡片 |
| `Session timeout` | 会话因超时而关闭 |
| `Settlement failed` | 结算明确失败 |
| `Communication lost (e.g. SIM removed / no signal)` | 没有蜂窝或网络连接,结算卡住 |
| `eReceipt` | 工具在日志中检测到二维码或电子收据 |
| `Not a recognized Marshall log` | 该文件或工作表根本不包含 Marshall 日志,例如源代码或元数据工作表 |

## 9 个检查点

每个结果都会经过相同的 9 个检查点,这些检查点分为四个类别,与工具页面上跟踪条的顺序一致。每一行说明检查点检查的内容以及各结论的含义:

| 类别 | 检查点 | 检查内容 | 各结论的含义 |
| - | - | - | - |
| 初始化 | SDK boot handshake | 初始配对序列(reset、config、transfer\_data、online)是否完整完成。 | **Pass**:找到全部 4 个事件,启动正常完成。<br />**N/A**:此日志不包含启动部分(部分捕获,属于正常情况)。<br />**Warning**:仅找到 4 个中的 1-3 个,捕获可能从启动中途开始。 |
| 初始化 | Reader reaches idle | 设备是否达到 Reader Enable 和状态 20(可用)。 | **Pass**:两者均找到。<br />**Warning / fail**:设备从未报告自身可用,通常是通信、接线或电源问题。 |
| 交易 | Vend/info request issued | 是否发送过 Vend 或 Info Session 请求。 | **Pass**:找到了请求。<br />**N/A**:此日志中没有售货请求(可能是仅包含启动的日志,这没有问题)。 |
| 交易 | Card read & authorization | 是否同时读取到卡片数据(`card_type`/`prop_card_uid`)和 MDB(Multi-Drop Bus)批准(代码 3 或 5)。 | **Pass**:两者均找到。<br />**Warning**:仅有部分数据,或卡片被读卡器本身拒绝(状态 78/84,属于正常情况,并不总是缺陷)。 |
| 交易 | Vend outcome resolved | 售货结果是什么:批准、拒绝、取消或出货失败。 | **Pass**:完整的 Vend Success。<br />**Warning**:拒绝、取消或 Vend Failure(视场景而定,通常是预期结果)。<br />**Fail**:从未收到任何结果,流程可能已挂起。 |
| 会话 | Session closed cleanly | 是否收到 end session,且设备已返回 ready/idle 状态。 | **Pass**:两者均找到。<br />**Warning / fail**:会话未完全关闭,可能仍处于打开状态。 |
| 会话 | Settlement result | 结算是否成功完成。 | **Pass**:结算完成/成功。<br />**Fail**:明确的结算错误。<br />**Warning**:卡在待处理状态,例如由于没有蜂窝连接。 |
| 健康状况 | Communication / firmware errors | Mac Send-retry、GUI Task Fail、会话超时或 CPU 资源匮乏事件的数量。 | **Pass**:0 个事件,或数量较少且在已知正常的日志中同样出现。<br />**Warning**:高于平常水平、明确的超时或明确的资源匮乏。请参阅稳定性指南。 |
| 健康状况 | Response timing | 是否存在超过所配置阈值(默认 15,000ms)的时间间隔(`+Xms`)。 | **Pass**:无异常间隔。<br />**Warning / fail**:发现间隔。有时这是有意设置的等待(24 小时空闲测试、会话超时、压力测试),而非真实问题,请参阅下一节。 |

在运行这九个检查点之前,工具会先检查输入内容是否像 Marshall 日志。如果未找到任何预期标记,工具会在此停止,并仅报告一个 **File format check** 结果,标记为 "Not a recognized Marshall log"。该徽章表示文件未被识别为日志,而不是日志本身有问题。请确认您上传的是正确的文件或工作表,并且它不是封面页或备注工作表。

## 是真实问题还是误报?

该工具只是快速的初步筛查,不能取代专业判断。在向您的 Nayax 集成人员报告问题之前,请检查以下列表:

* **工作表或测试名称是否表明这是有意的行为,例如 timeout、idle、stress 或 cancel?** 时间或售货结果上的警告或失败,可能正是该测试要演示的内容。
* **这是信息会话吗?** 在信息会话中,"Vend denied" 是正确结果,而非缺陷。工具已能识别这种情况并将其标记为通过,但仍值得再次确认。
* **唯一失败的检查点是否是 Response timing,而其他所有检查点都通过了?** 这很可能是一次等待,而非真实问题。
* **是否有修复建议框?** 阅读其内容并点击 "Learn more" 链接。它会说明该行为对于该协议是否正常,或者是否需要在您的实现中修复。
* **工作表是否被识别为日志?** 如果您看到 "Not a recognized Marshall log",请确认您上传了正确的工作表,并且它不是元数据或备注工作表。

如有任何疑问,请打开证据行,在原始日志中结合完整上下文阅读该确切日志行。

下面是一个实际示例。多会话、始终空闲流程的认证文件中可能包含一项名为 "24 hours in idle mode" 的测试,该测试仅在 Response timing 上失败,有 4 个间隔超过阈值。这不是缺陷:这正是该测试的目的。正确的做法是忽略该失败,或在运行比对前调高时间阈值,而不是将其作为问题报告。

## 导出报告或重新开始

查看完结果后,页脚中提供两个操作:

* **Download report (.txt)**:下载所有结果的完整文本摘要,包括详细信息和建议。可用于附加到支持工单,或发送给您的 Nayax 集成人员。
* **Clear all**:清除所有文件和结果,以开始新的检查。

<Warning>
  "Clear all" 无法撤销。如果您想保留当前结果的副本,请先下载报告。
</Warning>

## 已知限制

在将结果视为最终结论之前,请牢记以下几点:

* 工具只检测每种类型的第一个请求,例如第一个 Vend 请求。在包含数十笔连续交易的日志中(例如压力测试),详细信息仅针对第一笔交易,而不是每一笔交易。
* Response timing 检查点无法区分有意的等待和真实问题,需要人工判断,请参阅上一节。
* 所有逻辑都基于从真实示例中提取的文本模式。如果 SDK 更改了现有消息的措辞,检查点可能会漏检。
* 工具绝不会将数据发送到任何地方。所有分析都在浏览器中本地进行。只有 "Learn more" 链接会连接互联网,而且只有在您点击时才会连接。

## 另请参阅

<Card icon="magnifying-glass-chart" title="Log Trace Comparator" href="/docs/integrate-pos-device/marshall/log-analysis/log-trace-comparator">
  工具本身,包含简短介绍和结果图例。
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.