微信个人支付实现,监听微信支付备注实现,免支付牌照认证
使用autoTask对手机实现任务管理的后台系统
功能简介:
-
客户端管理,通过mqtt协议对手机进行管理
-
任务管理,通过手机上的autoTask软件上传任务,可以在后台直接执行任务,也可以将上传的任务添加到我的任务,下载给其他手机,通过common订阅地址对所有手机进行群控
-
获取手机上的文本,通过autoTask上传文本
-
脚本管理,支持shell和python脚本
-
微信公众号自动回复机器人,通过配置调用脚本实现
-
微信收款码管理,可配置百度ocr自动识别,美化收款码
-
个人微信支付,收款成功自动回调
-
订单管理
项目部署
-
maven构建jar包部署到服务器
-
创建m-web数据库,并导入执行m-web.sql
-
修改配置文件
#服务端口 server.port=9000 #日志等级 logging.level.root.org.m=debug #数据库连接配置 spring.datasource.url=jdbc:mysql://192.168.1.108:3306/m-web?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai spring.datasource.username=root spring.datasource.password=root #前端代码静态目录 spring.web.resources.static-locations=static spring.jackson.time-zone=Asia/Shanghai #mqtt服务端配置 mqtt.server.username=mqtt mqtt.server.password=2e51bf05564158d7eff6d5f0b9fcbb5f #mqtt客户端配置 mqtt.client.username=mqtt mqtt.client.password=2e51bf05564158d7eff6d5f0b9fcbb5f
需要注意mqtt用户名和密码配置后,在autoTask上使用该用户名和密码进行连接,连接后才可以使用,端口为8082,其他配置可以在application.yml中查看
-
构建前端代码,并上传到前端代码静态目录
-
手机上安装auto-task-mqtt.apk 并配置mqtt进行连接,启动服务,推荐使用shizuku授权
支付实现
-
org.m.pay.service.IPayServer#pay 开始调用支付,通过addPayTask方法加入任务开始获取手机上的支付信息,手机需要关注微信收款助手,成功后会回调org.m.pay.service.impl.PayServerImpl#onCallBack方法
-
支付成功匹配规则参考org.m.pay.handle.PayHandleMsgImpl#mather 方法,会匹配支付时间以及备注
-
获取使用二维码使用org.m.pay.service.IPayQrConfigService#getOneUnLockQr方法,获取对应支付方式的最近没使用的二维码,防止时间相近,直接支付成功
-
理论上可以支持生成备注、有收款提示任何支付方式
-
目前只实现了微信支付
使用技术
-
框架使用springboot3.2.1
-
数据库存储 mybatis-flex
其他仓库地址
-
前端代码 m-admin-vue
-
auto-task-mqtt auto-task-mqtt
项目优点
-
个人免签约支付,无需商家营业执照
-
支持拓展其他方式支付,目前只实现了微信支付,其它支付只有配置任务即可,基本上无需修改代码
-
手机端无需root
-
手机端只有在有支付任务时才会开始执行任务,功耗较低
-
支付回调及时,基本上在1s左右
项目截图