您好,我对这个插件进行了以下更改,想知道 Discourse 团队是否愿意接受 PR。
也希望其他人能进行广泛的测试。我现在正在测试对我而言至关重要的各种场景下的流程。
原始插件是一个很好的基础,但主要侧重于通过 Stripe 进行定期订阅。已进行以下更改:
新功能和增强功能摘要
1. 多提供商支付系统(支持 Razorpay) 该插件不再硬编码为 Stripe。它现在使用基于提供商的架构,允许使用多个支付网关。
- Razorpay 集成: Razorpay 已完全集成作为第二个支付提供商。这对于像印度这样的市场中的社区至关重要,因为 Razorpay 是首选的支付网关。
- 安全 Webhook: Razorpay 集成非常强大,包括一个安全 Webhook 处理程序,用于服务器到服务器确认付款,确保在用户付款后关闭浏览器时不会错过任何订阅。
2. 一次性、限时订阅 除了标准的定期订阅外,这还引入了一种新的、灵活的产品类型。
- 过期访问: 管理员现在可以创建一次性付款计划,授予用户在固定期限内访问群组的权限(例如,7 天活动通行证、30 天试用期或 90 天套餐)。
- 自动过期: 每天会自动运行一个后台作业,检查过期的订阅并将用户从相关群组中移除,确保访问控制完全自动化。
3. 完整的定价页面大修 默认的用户订阅页面已完全重建,以提高转化率和用户体验。
- 现代卡片式 UI: 旧的产品列表被一个干净、响应式的卡片式布局取代,该布局更易于阅读和比较。
- 主题感知: 新设计使用 Discourse 的主题变量,并与浅色和深色模式完全兼容。
- 单页结账: 整个结账过程现在都在定价页面上进行。点击“订阅”会在页面上直接显示付款表单,消除了冗余步骤并减少了用户阻力。
4. 高级追加销售和价值显示逻辑 新的定价卡片旨在成为强大的追加销售工具。
- 有效月费: UI 会自动计算并显示所有计划类型的有效“月费”(包括 3 个月或年度一次性计划),让用户可以轻松比较不同选项的价值。
- 明确节省: 在长期计划上会自动显示“节省 ₹X”徽章,清楚地传达了选择比基线更高价值计划的好处。
5. 统一的管理员和用户仪表板 管理员和用户的账单页面都已重构,变得更简单、更强大。
- 单一统一视图: 不再有不同付款类型的单独列表,现在有一个表显示所有提供商(Stripe、Razorpay、手动)的所有订阅。
- 清晰的信息: 这些视图清楚地显示了每个交易的提供商、状态、到期/续订日期和金额,为管理员和用户提供了其权益的完整历史记录。
6. 管理员的手动订阅管理 添加了一套新工具,让管理员拥有更多控制权。
- 授予订阅: 管理员现在可以手动为任何用户授予任何订阅计划,并指定特定期限。这非常适合处理离线付款、提供免费访问或进行更正。
- 撤销访问: 可以从管理员仪表板立即撤销非定期计划的访问权限。
7. 群组管理的关键错误修复
- 已修复原始群组移除逻辑中的一个主要错误。当订阅被取消或撤销时,系统现在会执行“安全检查”,以查看用户是否对同一群组有任何其他有效订阅。只有当用户没有其他有效访问方式时,用户才会被从群组中移除,从而防止用户被错误地移除。

