Giter Club home page Giter Club logo

vmq's Introduction

V免签 —— 个人开发者收款解决方案

V免签 是基于SpringBoot 2.1.1 实现的一套免签支付程序,主要包含以下特色:

  • 收款即时到账,无需进入第三方账户,收款更安全
  • 使用H2-Database,仅需安装Java环境,简单配置,一键搭建
  • 超简单Api使用,提供统一Api实现收款回调
  • 免费、开源,无后门风险
  • 支持监听店员收款信息,可使用支付宝微信小号/模拟器挂机,方便IOS用户
  • 免root,免xp框架,不修改支付宝/微信客户端,防封更安全

如果您不熟悉Java的配置,您可以使用PHP版本的服务端( https://github.com/szvone/Vmqphp

监控端的开源地址位于: https://github.com/szvone/VmqApk

V免签开发交流群:992029073

交流群主要目的是希望各位朋友在开发或使用过程中遇到问题相互交流,本人近期比较忙,可能会比较少回答问题,但是看到了我会回答,开源项目离不开大家的相互支持相互贡献,感谢支持,本项目将作为一个开源项目一直维护下去,承诺永不商业化,可以请大家放心使用!

bug反馈请建立issues

V免签的运行环境为JDK版本1.8。

V免签仅供个人开发者调试测试使用,请勿用于非法用途,商用请您申请官方商户接口

前言

V免签为完全开源项目,开源项目意味着作者没有任何收入来源,仅凭个人空闲时间开发,如果您有经济条件,您可以赞助本项目的开发(下方收款码),如果您不想赞助,也请您点击上面的Star给一个星星,也是对我莫大的认同,感谢各位的支持。

微信赞助支付宝赞助

安装

  • 下载已经编译好的war,位于GitHub的releases中
  • 确认本机已经拥有java的运行环境(JDK>=1.8),如果没有,请您安装java的运行环境
  • 在war包的同级目录,在控制台输入启动命令 java -jar v.war
    • 请将v.war替换成您下载的war包的名字
    • 如果您需要自定义项目的运行端口,请您在启动的时候使用:java -jar v.war --server.port=9090 (9090可以替换成任意端口)
  • 打开浏览器,访问 localhost:8080
  • 点击系统设置,进入设置页面,修改系统的默认配置
  • 下载V免签监控端到安卓手机或安卓模拟器,开启辅助服务,实现收款回调功能
  • 默认管理账号为:admin
  • 默认通讯密钥为:admin
  • 保存配置后,即可开始使用

升级说明:请您直接下载新版本覆盖旧版本即可!

说明

  • 请部署完成后访问后台,有详细的Api说明

注意

  • 本系统原理为监控收款后手机的通知栏推送消息,所以请保持微信/支付宝/V免签监控端后台正常运行,且添加到内存清理白名单!

  • 数据迁移问题:本程序使用使用的是h2数据库,数据库文件位于用户目录下的mq.mv.db,数据迁移请您复制该文件至新服务器即可

    • window位于:C:\Users\用户名\mq.mv.db
    • linux应该位于:~/mq.mv.db
  • v免签面向用户是个人开发者,如果您不懂如何开发网站,那么v免签不适合您的使用!

  • v免签的原理是监控手机收到收款后的通知栏推送信息,所以不适合于商用多用户的情况,如果您想用于商用,请二次开发!

  • v免签是免费开源产品,所有程序均开放源代码,所以不会有收费计划,因此作者不可能教会每个人部署安装,请参考文档多百度谷歌,v免签使用具有一定的技术门槛,请见谅!

  • v免签的监控端并不适配所有手机,遇到手机无法正常使用的时候,请您更换手机或使用模拟器挂机!

  • v免签拥有双语言服务端,当您使用php版本服务端遇到问题的时候,请您尝试使用java版本服务端,php版本服务端配置略复杂,需要配置伪静态规则,请知悉!

  • 正常的安装步骤简略如下

    • 下载服务端部署(GitHub中下载的为最新版)
    • 登录网站后台更改系统设置
    • 打开网站后台监控端设置
    • 下载监控端
    • 安装监控端后使用手动配置或扫码配置
    • 监控端中点击开启服务跳转到辅助功能中开启服务
    • 开启服务后返回v免签点击检测监听权限
    • 如果显示监听权限正常,至此安装完毕,如果只收到通知栏推送的测试通知,则系统不兼容无法正常监听
    • 如果显示监听权限正常,还是无法正常运行,那么请确定微信是否关注 “微信支付”这个公众号
  • v免签支持的通知有:

    • 支付宝个人收款的推送通知
    • 支付宝商家二维码的收款推送通知
    • 支付宝店员通绑定的店员账号收款的推送通知
    • 微信二维码收款推送通知
    • 微信店员收款推送通知

更新记录

  • v1.6.1(2019.05.22)

    • 增加详细的手机端设置教程
    • 同步最新版监控端App
  • v1.6(2019.05.16)

    • 更新监控端APP到1.6版本,理论支持更多手机
  • v1.5.2(2019.04.30)

    • 修复部分情况下出现订单已过期,但是页面还在倒计时的问题
  • v1.5.1(2019.04.24)

    • 同步最新版APP
    • 添加注意事项说明,完善README.md文档
  • v1.5(2019.04.20)

    • 整理代码,重新优化APP兼容性
    • 添加店员到账支持,添加后可以实现安卓备用机/模拟器 挂小号取收款通知,方便IOS用户,
      • 微信绑定店员方式=>微信->收付款->二维码收款->收款小账本->添加店员接收通知
      • 支付宝绑定店员方式=>我的->商家服务->店员通->立即添加
    • 修复金额无法递减
    • 修复后台首页的 今日收入 总收入 总是0不计数问题
    • 修复其他已知bug,建议更新到此版本
  • v1.4(2019.02.26)

    • 增加订单删除功能
    • 增加一键删除过期订单功能
    • 增加一键删除7天前订单功能
    • 增加PHP异步回调示例代码,请在 API说明->回调参数说明 中参考使用
  • v1.3(2019.02.25)

    • 修复监控端安卓7.0以上系统监控App闪退问题
    • 修复监控端检测服务状态无法正确检测是否正常问题
    • 添加商家码收款回调支持,商家码收款的也能正常回调啦
  • v1.2(2019.02.25)

    • 修复收款金额为整数时校验错误的问题
    • 再次修复部分用户无法上传通用收款码问题
  • v1.1(2019.02.10)

    • 修复部分用户无法上传通用收款码问题
  • v1.0(2019.01.31)

    • 初版发布

版本预告

  • 下个版本将针对监控端Apk优化,重点尝试解决当前的版本的不兼容和不稳定问题。
  • 待v免签测试稳定后,将会着手开发对接v免签的发卡平台,也是开源免费,敬请期待!

版权信息

V免签遵循 MIT License 开源协议发布,并提供免费使用,请勿用于非法用途。

版权所有Copyright © 2019 by vone (http://szvone.cn)

All rights reserved。

vmq's People

Contributors

szvone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vmq's Issues

为什么第一次直接就开始减0.01

我看了比如我设置的金额12,没有人支付12,默认直接就是11.99 另外如果超时的话,11.99 超时没有支付的话,下次应该复位,但是实际上会按照11.99 11.98 11.97一直往下面走

总结下BUG

大神你好,很喜欢你写的东西,也一直在用,但是有几个BUG总结下,希望能改进下.
1:金额问题 金额为整时会签名错误 比如 100 100.00 200 200.00 199 199.00 等 必须是小数点后面有数字才行
2:回调问题,不知道为什么老是回调显示通知失败,success也写了就是不行,会返回乱码,可能是GBK格式的事
3:心跳包能不能设置长一些,我的MIUI8系统锁屏后通知会自动获取但是V免签APP半小时才发送一次心跳包,但是不影响使用,后台会显示监控掉线,我看了源码是超过1分钟就显示掉线,能不能调长一些,(java编译不了,不知道为什么 老提示错误.)
4:支付宝的个人收款和商家收款通知推送内容不一样,v免签只能获取个人的,商家的获取不了
5:看源码好像是1分钟清理一次过期订单,但是后台的订单列表还是那些也没法删除,能加个按钮好了
还有大神能不能写个简单的PHP回调处理,好学习一下
别的暂时没发现就这么多了,不知道为什么用eclipse编译不了源码老提示错误,奈何小白一个解决不了,

java版的后台运行久了,接口就没法创建订单什么问题

程序要重启才能 正常创建订单。。。

我硬盘还剩下25G容量,tmp分区也才用116KB,

已经发现2次这样的问题了

``这是报错日志。

2020-06-16 16:31:49.319 ERROR 1684 --- [io-8083-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.5871292895930479145.8083/work/Tomcat/localhost/ROOT] is not valid] with root cause


java.io.IOException: The temporary upload location [/tmp/tomcat.5871292895930479145.8083/work/Tomcat/localhost/ROOT] is not valid
	at org.apache.catalina.connector.Request.parseParts(Request.java:2821) ~[tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.connector.Request.parseParameters(Request.java:3185) ~[tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.connector.Request.getParameter(Request.java:1116) ~[tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:381) ~[tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:84) ~[spring-web-5.1.3.RELEASE.jar!/:5.1.3.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.3.RELEASE.jar!/:5.1.3.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) ~[spring-web-5.1.3.RELEASE.jar!/:5.1.3.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.3.RELEASE.jar!/:5.1.3.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) ~[tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:791) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_192]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_192]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.13.jar!/:9.0.13]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_192]

参考https://blog.csdn.net/jdk_wangtaida/article/details/90906597解决

APP端 长时间会自动退出

上次说过了,MIUI系统在系统休眠后APP端半小时才发一次心跳 但是不影响使用,但是长时间这样的话 微信和支付宝也会休眠收不到收款信息所以导致回调失败.但是监控端不会退出会一直在后台运行
所以最近一直24H亮屏,这样心跳正常回调也正常,但是APP会在3个小时左右就会自动退出,网页端显示APP端掉线,打开程序发现已经关掉了(屏幕常开,停留在APP界面也一样),得重新运行点击开启服务才正常,这就很苦恼了,无法正常使用了..
以上问题跟系统设置无关,不管是开发者模式充电时屏幕不休眠,还是直接不锁屏停留在APP界面是一样的,都是时间长就会自动关闭,不知为何.,
以上测试机型为红米2A(5.1.1), 360n6(7.1.1)都不行!都会自动退出!获取推送不知道是主动还是被动,没找到延迟的地方,本来想改下延迟在测试下,找不到也没改.

总结就是该系统还是无法长时间稳定运行,锁屏后推送不及时,不锁屏就会退出 测试了2天得出的结果!

后台管理首页的订单统计三个无效的

大神你好
首页的 今日失败订单 今日收入 总收入 总是0不计数
还有回调问题 确实是格式的事,不能用GBK或UTF-8,只能用ANSI否则会返回乱码
研究半天才发现,用记事本打开另存为编码选择ANSI调试就正常了

还有就是这个通知失败后会自动补单吗?多久一次呢

代码读取部分二维码时抛异常:com.google.zxing.NotFoundException

在配置微信和支付宝二维码时,微信二维码基本能成功上传并识别;
但支付宝二维码就得看运气了,时常上传失败或不能正确读取内容。

由于我初转java,以前是.NET,所以也只能百度。幸运的是,问题成功解决。
下面贴上代码,大神轻喷,多多交流。

代码如下:

//优化精度
hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);

//复杂模式
hints.put(DecodeHintType.PURE_BARCODE, Boolean.TRUE);

微信截图_20191219220518

tomcat找不到login页面

为什么用java -jar 能正常启动,配置到tomcat之后,样式什么的都能找到,但是点登陆之后找不到login页面

同步通知无法到达

同步通知根本到达不了,前面会显示乱码,
你可以随便建个里面只有success也会返回乱码
点补单 会提示失败,然后查看信息就看到了
望解决

微信支付,无效果

微信已经关注了“微信支付”, 但是支付还是监听不到. 支付宝可以监听成功.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.