😀 给用户充值入账时,最危险的不是没有备注,而是把备注当成身份证。
我在 @Dusk_Foundation 的 Moonlight 充值扫描指南里,盯住了两句几乎相邻的话。
文档把 memo 以十六进制返回,并归为需要先验证格式的“不受信任路由数据”。
紧接着的提醒更直接:永远不要把 memo 当作幂等键。真正该唯一的是 Dusk 交易 ID。
这一区别决定了入账系统把什么当事实。memo 只是告诉系统“可能该交给谁”的线索;交易 ID 才能回答“这笔钱有没有被处理过”。平台若把两者混用,方便的前台标记就会被误当成后台账本。
坏场景是两笔充值携带相同、缺失或格式异常的 memo。若系统按备注去重,可能漏记一笔;若直接按它归属,可能把异常请求推给错误账户。用户只会看到充值迟迟不到账,运营团队却要在资金、日志和客户之间反复对账。
这不是 $DUSK 的备注设计有问题,而是集成方要不要承认路由信息天生需要校验。@Dusk 的文档已经给出方向:未知或无效元数据应进入人工复核,而不是被静默丢弃。真正值得检验的,是接入方会不会把这条规则做进产品,并让用户看到自己正处于人工复核。#dusk
我在 @Dusk_Foundation 的 Moonlight 充值扫描指南里,盯住了两句几乎相邻的话。
文档把 memo 以十六进制返回,并归为需要先验证格式的“不受信任路由数据”。
紧接着的提醒更直接:永远不要把 memo 当作幂等键。真正该唯一的是 Dusk 交易 ID。
这一区别决定了入账系统把什么当事实。memo 只是告诉系统“可能该交给谁”的线索;交易 ID 才能回答“这笔钱有没有被处理过”。平台若把两者混用,方便的前台标记就会被误当成后台账本。
坏场景是两笔充值携带相同、缺失或格式异常的 memo。若系统按备注去重,可能漏记一笔;若直接按它归属,可能把异常请求推给错误账户。用户只会看到充值迟迟不到账,运营团队却要在资金、日志和客户之间反复对账。
这不是 $DUSK 的备注设计有问题,而是集成方要不要承认路由信息天生需要校验。@Dusk 的文档已经给出方向:未知或无效元数据应进入人工复核,而不是被静默丢弃。真正值得检验的,是接入方会不会把这条规则做进产品,并让用户看到自己正处于人工复核。#dusk