兜兜零元 发表于 2025-2-21 21:40:43

vmq开源支付系统部署

媒介

vmq 是一套开源版的支付系统,可以进行免签支付,并提供了客户端以及服务端的部署版本
官方发布有 java 和 php 的服务端版本,这里以 java 的版本作为服务端,官方地址
https://github.com/szvone/Vmq
https://github.com/szvone/vmqApk
支付原理

通常只能是商家才能接入支付业务,如果个人要接入支付业务,通常有以下几种方式
1、通过第三方如虎皮椒这种平台
但是这种支付有一定限制,比如说存在域名限制不能变更,别的另有开户手续费,以及每笔订单抽成
而且大量这种野生的支付平台,一旦选择不慎,平台随时都存在跑路的可能
https://i-blog.csdnimg.cn/img_convert/56a262ed22cfff4014a8cf243b079153.png
2、个人搭建免签系统
微信对个人不支持免签,支付宝可以进行面临面支付,个人也能开通,不外也有可能被随时中止
这里支付的本质问题就是,对个人用户,微信/支付宝是否有提供支付回调,对商户而言是有支付回调的
如果微信/支付宝不提供回调,那么在你的产品被客户付款之后,你的平台是无法感知到的
以是出现了免签系统,免签系统用的比较多的就是 V 免签
它的原理就是:
部署一个 java 的 Vmq 或者 php 版本的服务端 ,以及一个安卓客户端 VmqApk
安卓客户端手机上运行着微信/支付宝,并且监听着通知栏消息,打开手机的微信/支付宝的通知消息
在吸取到消息的时间,显示在通知栏上(因为权限问题,这里是没有 iphone 版本客户端的)
VmqApk 在监控到微信/支付宝通知消息之后,通过解读通知消息,如果发现是支付信息
那么就会向 Vmq 服务端发送支付响应,表示当前已经收到支付信息 XX 元
但是这一类免签系统都存在着天然的缺陷,就是无法处理并发订单的问题
以是 Vmq 在处理这个问题上,限制订单在有用期内一个金额数值只能有一笔订单
类似金额的订单会进行 1 分钱的递增/递减以便区分
https://i-blog.csdnimg.cn/img_convert/e2d9296807994a48a3d0acb99c77970c.png
服务端部署

官方提供的编译版本,默认监听在 8080 端口,可以启动时指定监听端口
数据存储使用 h2 本地数据库文件,windows下默认在 C:\Users\Administrator\mq.mv.db
java -jar vmq.war --server.port=9090
启动成功后,终端窗口会有提示信息,没问题的话会正常监听,比如我这里监听在 8003 端口
https://i-blog.csdnimg.cn/img_convert/625fe3b3d93e37100e68c145d3029207.png
登录首页,默认账户密码为 admin/admin,登录后候建议修改密码
客户端部署

电脑端运行浏览器访问服务端的 web 页面,在设置页面进行收款二维码的设置
将 apk 安装包拷贝到安卓手机上安装,并使用扫码设置,进行配对初始化
从 github 堆栈的代码来看,默认只支持 http 明文的请求,对于 https 的请求是无法设置成功的
如果 vmq 服务端的域名设置了证书的话,有两种处理方式
1、一种方式是开放 http 访问,使得服务同时支持 https 和 http 请求
2、一种方式是修改官方 Apk 版本的代码,支持 https 请求访问
https://i-blog.csdnimg.cn/img_convert/a4932aa5f917c6ee0c6ba37f1214d064.png
改动也很简朴,把代码中 http 改成 https ,修改后重新编译安装,然后扫描服务端进行设置就可以了
改了之后,就不支持 http 了,如果还需要支持 http,那么这里的代码就需要做适配兼容了

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: vmq开源支付系统部署