
适用范围:先明确哪一环节离线
讨论离线支付数字钱包的适用条件,首先要明确断网的是付款端、收款端,还是双方,以及离线时完成的是信息交换、验证还是支付确认。这些环节需要分别判断,不能仅凭钱包能够展示付款信息,就认定整笔支付可以脱离网络完成。
以下条件属于通用技术判断范围。Payment Request API与COSE均不能单独证明某款钱包具备离线支付能力。
条件一:支付方式与两端实现支持
W3C的Payment Request API用于协调商户、用户和支付方式之间的请求流程;具体如何判断支付可用、如何响应请求,由支付处理程序实现。该接口本身不创建新的支付方式,也不直接对接支付处理机构。
因此,浏览器能够调起钱包只是流程中的一环。离线适用性还取决于具体支付方式是否允许相应环节断网,以及钱包和收款端是否支持同一套处理规则。仅有支付入口,无法推导出离线能力。
条件二:本地具备所需的验证能力
RFC 9052定义了COSE的签名、消息认证码、加密及密钥表示结构,可为离线或存储转发场景提供消息安全基础。应用仍需按自身需求选择安全结构与算法。
若收款端需要在离线时验证消息,就必须能够在本地取得所需的验证材料,并按应用规则处理消息。签名可以用于检查内容完整性及其与签名密钥的关系,但不能单独证明余额充足、凭证尚未使用或资金已经结算。这些判断需要支付系统另行设计。
条件三:支付规则覆盖离线状态
完整的离线方案还需要说明:哪些操作可在断网时完成,凭证如何判定有效,重复提交如何处理,以及恢复连接后如何确认交易状态。若这些步骤必须即时访问远端服务,相应环节就不能仅靠本地消息处理完成。
可用金额、连续使用次数、离线持续时间和设备要求属于具体方案的适用规则。上述两项标准没有给出数字钱包通用的数值限制,也无法据此列出适用商户或地区。
常见问题
支持网页支付接口,是否就支持离线支付?不能据此判断。接口负责支付请求的协调,实际网络依赖由支付方式及其实现决定。
采用COSE,是否就能防止同一凭证重复支付?不能单靠消息签名保证。内容真实与凭证是否已被使用是不同问题,后者需要应用层的状态管理和处理规则。
离线显示成功,是否意味着最终结算完成?需要看支付方案对该状态的定义。消息交换完成、本地验证通过与最终结算应分别确认,不能互相替代。