背景
moodle是一个开源的课程平台,对国外的很多产品都有插件支持,在当今知识付费的时代,国内也需要兼容支付宝、微信等平台,甚至结合微信公众号等实现移动端的体验。
之前已经实现微信三方登录,如果实现了微信支付在moodle中进行选课,那么进而就可以推送到微信公众号,用户的课程购买信息。并且在上课前xx分钟,进行推送上课。
从原理来说,这些方案都是可行的,并且可以实现的。本文将简单介绍一下,实现的思路与流程。
思路
我花了点时间阅读了,moodle关于课程的PHP源代码。得到的资料如下:
1、在用户选课或者手动加入用户时,提交数据到的页面是,moodle\enrol\index.php
简单阅读后,就有了思路,用户在访问课程时,先访问这个页面,查询用户是否选课,如果选课,则打开,否则是提示尚未加入选课。当我输入密码选课时,将会在数据表中,插入一行字段。
2、那么那些数据表是跟用户选课操作密切相关的呢。
mdl_course
这个表是用来存贮课程的所有信息的,课程名字等,记录用户的唯一字段ID.
mdl_user_enrolments
这个表用来存贮,用户的选课信息数据,记录哪些用户选了哪些课程。
逻辑
有了思路和数据表的位置后,我们便大概可以将付费选课功能进行实现了。
1、将学生手动选课,调整为付费选课。
2、结合微信的三方登录功能
3、结合微信公众号、小程序 公众号可以直接调起选课,静默进入课程页面
4、在小程序中付费选课,直接反馈到moodle平台.
5、选课结束,微信服务号推送消息选课成功!
6、定期提醒,用户的课快要开始了,结合微信服务号。
实现
介绍一下基本的逻辑实现。
1、从课程表中取出所有的课程内容,检测用户是否已经选课了。
2、选课时,将数据写入mdl_user_enrolments表中,代表选课了。用户即可进入学习。
3、付款时,注意让用户关注服务号,将接收到相关的提醒信息。比如选课成功,开始上课了。
代码实现:
1、数据库的增删查改
2、支付接口的回调与处理
3、微信接口的实现
4、怎么实现定时通知,脚本PHP即可。
于是,我们有了完整的实现思路,并且可以做出相应的效果出来!
结合微信
支付完成,在微信服务号中,发送提示消息,当前用户购买课程成功!
即将上课,开课前15分钟,提示用户可以开始上课了!
支付接口
个人用户如何申请支付接口呢,我查阅了很多资料,终于发现一个可以提供支付,并且比较好用的接口。就是payjs,个人也提供接口,并且十分好用,有不错的收益性。也可以用来做微信登录接口,还是很不错的。个人开通需要认证费300元,好像没时间限制,相比企业也可以接受了吧。
申请了个人支付接口,就可以用来挣钱啦。
后话
本文简单介绍了,如何实现moodle的付费选课微信支付开发思路,不妨尝试自己实现以下,我也是还在摸索过程中。
如果不介意付费服务,欢迎与我联系。微信,cutehxh。
参考文献
1、定期执行脚本PHP
2、其他系统定期执行脚本PHP
https://www.cnblogs.com/vania/p/6480312.html
3、定期执行脚本
https://blog.csdn.net/Yao52pt/article/details/82887372
4、脚本执行PHP
https://www.cnblogs.com/as3lib/p/5677854.html
https://www.cnblogs.com/shione/p/8481069.html