商店 Escrow:为商店所有者提供安全的付款

当玩家从用户拥有的商店购买商品时,付款不再立即发送给商店所有者。相反,代币由服务器保管在 escrow 中,直到买家确认收到货物。只有在此之后,商店所有者才会收到付款——98% 在链上,外加 2% 的服务器佣金。

为什么需要 Escrow?

没有 escrow,商店所有者可能会收到付款后从不发货。买家将无法追索。Escrow 保护双方:

  • 买家可以在货物未交付或与描述不符时对订单提出争议。付款将被冻结,直到管理员审查该案件。
  • 商店所有者在买家确认后保证收到付款——或者如果买家未采取行动,则在 7 天后自动收到付款。

工作原理

1 买家付款
买家将全额付款发送到服务器的运营钱包。代币被保管在 escrow 中。订单状态被设置为 escrow。

2 买家确认收货
买家调用 POST /shop/confirm-receipt 确认已收到货物。服务器立即将付款的 98% 在链上发送到商店所有者的钱包。服务器保留 2% 的佣金。

3 7 天后自动释放
如果买家在 7 天内未确认或提出争议,付款将自动释放给商店所有者。后台工作进程每小时检查一次过期的 escrow。

4 争议解决
如果买家不满意,可以调用 POST /shop/dispute 冻结付款。然后管理员通过 POST /shop/admin/resolve-payout 审查该案件,并执行以下操作之一:

  • 释放付款给商店所有者,或
  • 退款——付款被取消,代币保留在服务器(买家可以手动获得补偿)。

付款状态参考

StatusMeaning
none官方商店或无订单
escrow代币由服务器保管,等待买家确认
disputed买家提出争议,等待管理员审查
paid98% 已在链上发送给所有者
refunded管理员取消付款,代币保留在服务器
failed链上转账失败

API 端点

EndpointWhoPurpose
POST /shop/confirm-receipt买家确认收货 → 释放 escrow
POST /shop/dispute买家对订单提出争议 → 冻结 escrow
POST /shop/admin/resolve-payout管理员解决争议(释放或退款)
GET /shop/my-payouts商店所有者查看 escrow + 已付款总额和历史记录

钱包选择

付款发送到商店所有者的钱包,使用与付款相同的链:

Payment CurrencyOwner Wallet Used
CC (Cash Coins)CC wallet(备用:KC wallet)
KC (Keshe Coins)KC wallet

收益分成

RecipientShare
商店所有者98%
服务器佣金2%

2% 的佣金用于覆盖基础设施成本:区块链 gas(如适用)、服务器托管以及 escrow 服务本身。

官方商店

官方 Erleuchtung 商店(服务器拥有,owner_id IS NULL)不纳入 escrow 系统。官方商店商品的付款直接进入服务器,不进行付款分割。

后续计划

Escrow 系统现已上线。商店所有者可以通过 GET /shop/my-payouts 端点跟踪其待处理的 escrow 余额和已付款收益。用于管理付款、确认收货和提交争议的前端仪表板将在即将发布的版本中推出。