异常订单处理

在正常情况下,收币订单会顺利处理。但有时可能会遇到异常情况,例如:

  • 订单丢失:用户选择扫码支付并已完成付款,但订单状态未更新为"成功"

  • 通知异常:订单的 Webhook 通知已发送,但商户未收到

针对以上两种异常情况,需要进行处理——但只有收银台的操作员地址才有权限处理此类异常。操作员地址必须由 Owner 添加到收银台。

添加收银台操作员

操作步骤

  1. 进入操作员管理:在收银台页面,点击「操作」按钮,打开操作员用户弹窗

  2. 添加操作员:在操作员用户弹窗中,点击「添加操作员」

  3. 填写信息:在添加操作员弹窗中,输入操作员的钱包地址和昵称

  4. 确认添加:填写完成后,点击「添加」即可成功添加操作员

circle-info

权限说明:操作员只能处理其所属收银台的异常订单,无法访问其他收银台的数据。

操作员登录

操作员钱包连接 BlockATM DApp 后,只能看到其有权限的收银台。

登录步骤

  1. 连接操作员钱包到 BlockATM DApp

  2. 在收银台列表中找到对应的收银台

  3. 点击收银台中的「收币订单」进入订单页面

订单丢失 — 手动完成订单

扫码支付方式的订单可能会遇到订单丢失的情况(交易状态为处理中、已取消、已过期或失败)。

识别订单丢失

如果用户反馈已付款但订单状态未更新,可以在订单列表中查看:

订单状态
说明
处理方式

处理中

等待区块链确认

等待或手动完成

已取消

用户主动取消

无需处理

已过期

超时未支付

无需处理

已失败

支付失败

排查原因后重试

手动完成订单

如果订单确实已付款但未到账,操作员可以在 72 小时内手动完成订单。

手动完成条件

  • 订单状态为处理中、已取消、已过期或失败

  • 用户确实已完成链上转账

  • 操作员有该收银台的操作权限

操作步骤

  1. 在订单列表中找到需要处理的异常订单

  2. 点击操作列中的「完成交易」按钮

  3. 在弹窗中选择订单完成原因

  4. 输入用户完成转账的 TXID(区块链交易哈希)

  5. 点击「确认」完成订单

circle-exclamation

完成原因选项

选项
说明

用户已付款但未到账

用户通过扫码方式付款,但订单状态未更新

链上确认但状态未同步

区块链已确认,但 BlockATM 系统未及时更新

通知异常 — 重发通知

如果您的业务系统未收到「已完成」或「已失败」状态的收币订单的 Webhook 通知,操作员可以在 72 小时内重发通知。

重发通知条件

  • 订单状态为已完成或已失败

  • 商户系统确实未收到 Webhook 通知

  • 操作员有该收银台的操作权限

操作步骤

  1. 在订单列表中找到需要重发通知的订单

  2. 点击操作列中的「重发通知」按钮

  3. 系统将重新发送 Webhook 通知到您配置的 Webhook 地址

circle-info

通知重发限制:每个订单最多重发 3 次通知,超过限制后将无法重发。

常见问题

Q:为什么只有 72 小时的窗口期?

A:为了保障交易安全,BlockATM 限制异常订单处理的时间窗口。超过 72 小时后,链上数据可能与订单数据的关联性减弱,继续处理可能导致数据不一致。

Q:手动完成订单后,订单状态会变成什么?

A:手动完成的订单状态将变为「已完成」。

Q:可以批量处理多个异常订单吗?

A:目前不支持批量处理,需要逐个订单处理。

Q:重发通知后,商户系统仍然没收到怎么办?

A:请检查:

  1. Webhook 地址是否可公网访问

  2. 服务器是否正常响应 HTTP 200

  3. 防火墙是否拦截了请求

  4. 日志中是否有接收记录

最佳实践

circle-info

建议

  1. 及时处理:收到异常订单通知后应尽快处理,避免超过 72 小时窗口期

  2. 验证优先:在手动完成订单前,务必在区块链浏览器上验证 TXID

  3. 日志监控:建议配置日志监控,及时发现 Webhook 通知失败的情况

  4. 数据对账:定期与 BlockATM 管理后台的订单数据进行对账,确保数据一致性

Last updated