支付
Payment 部分列出付款处理后的交易记录。每条记录包括组织、用户、购买时间和购买的商品。
一次支付可以包含多个商品。支付记录逐个列出商品名称,并保存一个合并后的显示名称。在支付详情页上,Products 列把每个商品显示为一行,并链接到商品详情。用 View Order 打开关联的订单;付款后可以跳到订单,或返回订单列表。
支付状态与通知
支付在处理过程中会经历几个状态。支付提供商发来交易完成的通知时,Casdoor 会原子地同时更新支付及其关联订单,保持两者同步。
为防止重复处理,系统在应用更新前会检查支付是否已到达终态(Paid、Error、Canceled 或 Timeout)。如果提供商多次发送同一个通知且状态没有变化,就完全跳过更新:不会发出重复的 webhook 事件, 也不会再次写数据库。这样即使支付提供商发送多次通知,你的数据和下游集成也能保持一致。
notify-payment webhook 事件包含提供商回调中的完整支付响应数据,你的 webhook 处理程序可以拿到通知时的支付状态。
对于外部支付提供商的交易,Casdoor 只在收到付款成功的通知后才创建交易记录。这样能保证交易反映的是实际付款,而不只是付款尝试。余额支付的方式不同:由于余额检查已事先确认付款成功,会立即创建交易。
交易记录会自动关联到用户注册时所用的应用,在整个组织中留下清晰的审计记录。
发票
打开支付编辑页,填写发票字段。发票有两种类型:个人和单位。点击 Issue invoice 开具发票。
