RugWard Pay
状态、确认和付款证明
账单生命周期详解:账单何时算作已支付,少付、多付、迟付和过期分别是什么意思,退款如何处理,以及如何分享付款证明。
生命周期一览#
text
open ──(payment seen)──▶ pending ──(enough confirmations, full amount)──▶ paid / overpaid
│ │
│ └─(quote expired + 10 min grace, still short)──▶ underpaid
├─(nothing arrives before expiry)──▶ expired
├─(payment seen only after quote expiry + 10 min)──▶ late
└─(merchant cancels, no payment yet)──▶ canceled状态参考#
| 状态 | 后台标签 | 含义 | 该怎么做 | 是否最终? |
|---|---|---|---|---|
open | Awaiting payment | 已创建;尚未看到付款。 | 等待。 | 否 |
pending | Payment detected, confirming | 已看到付款但尚未确认,或在汇率锁定期内只到账了部分金额(买家可以补足余额)。 | 等待。暂不发货。 | 否 |
paid | Paid | 已确认的付款覆盖了报价金额(见下文容差)。 | 发货。 | 是 |
overpaid | Paid (more than requested) | 已支付,且比报价金额高出 1% 以上。 | 发货;如愿意,可从你的钱包退还多付部分。 | 是 |
underpaid | Underpaid | 汇率锁定期(加 10 分钟宽限期)结束时,已确认金额不足。 | 联系买家:要求补差价或退款。 | 是 |
late | Paid after expiry | 付款在报价过期加 10 分钟之后才到账。 | 核对金额和当前汇率后决定:接受、要求补差价或退款。 | 是 |
expired | Expired | 未按时收到任何款项。 | 如果买家仍想付款,请新建一张账单。 | 是 |
canceled | Canceled | 你在任何付款之前取消了它。 | — | 是 |
每次状态变化都会产生一个 Webhook 事件(invoice.pending、invoice.paid 等)。参见 Webhook。
账单何时算作已支付?#
对于买家所选的币种,RugWard 会累加在报价过期加 10 分钟宽限期之前看到的已确认付款(因此在截止前一刻广播的交易仍然有效)。账单状态为:
- paid:当该总额不低于报价金额减去一个很小的容差时;容差为唯一尾数加 0.1%(用于兼容会对末几位四舍五入的钱包);
- overpaid:当总额比报价金额高出 1% 以上时。
不同币种的金额绝不会相加。在 Base 上,由于 0.5% 在链上拆分,核对的是实际到达你账户的 99.5%。
确认数#
| 网络 | 所需确认 |
|---|---|
| Bitcoin | 1 |
| Monero | 10 |
| Ethereum | 12 个区块 |
| Base | 30 个区块 |
| Arbitrum | 60 个区块 |
| BNB Chain | 15 个区块 |
| Polygon | 32 个区块 |
| Solana | finalized 确认级别 |
RugWard 如何检测付款#
| 币种 | 自动检测方式 | 买家也可粘贴 |
|---|---|---|
| Bitcoin | 扫描你的地址,查找精确的唯一金额 | 交易 id |
| EVM 链上的 USDC / USDT(无分账合约) | 带有精确唯一金额的代币 Transfer 事件 | 交易哈希 |
| ETH / BNB(无分账合约) | 交易哈希(由钱包按钮自动提交) | 交易哈希 |
| Base 上的 ETH / USDC(分账合约) | 分账合约的 Paid 事件,其中包含本报价的 reference、你的地址、代币以及恰好 0.5% 的费用 | 交易哈希 |
| Solana 上的 SOL / USDC / USDT | Solana Pay 的 reference 密钥 | 交易签名 |
| Monero | 交易 id 加 tx key,或你的 view key(两个公共节点必须一致) | 交易 id(+ tx key) |
检测机制内置的保护措施:
- 一笔交易只能支付一张账单。 每笔交易在每个网络和收款地址上只能入账一次。
- 防抢跑(front-running)。 他人粘贴的交易哈希,只有在与本报价的精确唯一金额一致或带有本报价的 reference 时才会被接受。
- 不接受旧交易。 在报价创建之前已上链的交易不能用于支付该报价。
- 粘贴的交易金额不一致时会被拒绝,并提示 "Contact the merchant with the transaction id";由商户手动处理。
- 汇率只在服务器端计算;买家的浏览器从不提供价格。
退款#
RugWard Pay 是非托管的:资金已经在你的钱包中,因此 RugWard 无法退款、撤销或拒付任何款项。如需给买家退款,请你自己从钱包中将币退回,最好退到买家提供的地址(不要自动退回发送地址:它可能属于交易所)。请保留账单 id 和交易链接以备查。
付款证明#
每张 paid 或 overpaid 账单都有一个公开、可分享的证明页面,地址为 https://rugward.com/pay/proof/<invoice id>(JSON 版本位于 /api/pay/proof/<invoice id>)。页面显示美元金额、商户、确认时间、报价的币种金额和汇率及其价格来源、收款地址,以及每笔已确认交易及其区块浏览器链接。任何人都可以在公开区块链上重新核验这些交易。

证明页面不会被搜索引擎收录。未支付的账单没有证明(404)。
过期规则详解#
- 账单过期(15 分钟至 7 天):此后无法再锁定新汇率。
- 报价(汇率锁定)过期:买家选择币种 30 分钟后。如果剩余时间不足 5 分钟,再次选择同一币种会锁定新的汇率。
- 宽限期:在报价过期后 10 分钟内看到的付款仍然正常计入。
- 只有当账单本身及其最后一个报价(加宽限期)都结束且没有付款时,账单才会变为 expired。
最后更新: 2026年10月30日