You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Moodle中通过Stripe创建月/年订阅计划实现页面付费?

在Moodle中实现Stripe月付/年付订阅及付费页面访问方案

一、核心思路

单纯将课程作为订阅计划会受限于Moodle课程的周期逻辑,无法自动处理续费流程。正确的做法是结合Stripe支付网关插件+付费权限控制插件,把订阅状态和页面访问权限绑定,而非直接关联课程本身。

二、具体实现步骤

1. 配置Stripe支付网关

  • 安装Moodle官方的Stripe支付网关插件,在后台「站点管理」→「插件」→「支付网关」→「Stripe」中完成配置:
    • 填入Stripe的测试/生产API密钥
    • 勾选「允许订阅支付」选项,确保插件支持Stripe的订阅计划

2. 在Stripe后台创建订阅计划

  • 登录Stripe管理后台,创建两类订阅产品:
    • 月付计划:设置名称、月付金额,开启自动续费
    • 年付计划:设置名称、年付金额,开启自动续费
    • 记录每个计划的定价ID,后续在Moodle中关联使用

3. 用付费权限插件控制页面访问

  • 安装「Restrict Access by Payment」类插件(Moodle插件市场可搜索获取)
  • 针对需要付费访问的页面(自定义页面、课程资源、模块等)设置访问规则:
    • 添加「支付条件」,关联之前记录的Stripe订阅定价ID
    • 设定规则:仅当用户处于有效订阅状态时,才能访问目标页面

4. 实现订阅状态与权限同步

  • 在Stripe后台配置webhook,监听以下关键事件:
    • customer.subscription.updated(订阅状态更新)
    • customer.subscription.deleted(订阅取消)
  • 在Moodle中通过自定义脚本或插件自带功能,接收Stripe的webhook通知:
    • 续费成功时,自动延长用户对应页面的访问权限有效期
    • 订阅取消/续费失败时,立即收回用户的访问权限

5. 简化方案:使用会员制插件

  • 若不想手动配置webhook,可选择内置Stripe订阅集成的Moodle会员插件:
    • 创建月付、年付两个会员等级,关联Stripe对应订阅计划
    • 为不同会员等级分配对应页面的访问权限
    • 插件会自动处理续费提醒、权限同步、订阅状态变更等流程,无需额外开发

三、解决课程订阅的续费限制

之前用课程作为订阅计划的问题在于,Moodle课程的 enrolment 逻辑是一次性的,无法自动关联Stripe的自动续费。修正方案:

  • 不要直接将课程设为订阅商品,而是把课程访问权限绑定到用户的订阅状态
  • 通过webhook或会员插件,在用户续费成功时自动重新 enrol 课程,续费失败则移除 enrolment

内容的提问来源于stack exchange,提问作者MD TAREK HOSSEN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 15:12:36