V免签是一款面向个人开发者的收款解决方案,分别提供了 Java SpringBoot 和 Thinkphp 版本。
用户可通过V免签,临时替代个人无法申请的在线支付服务。
V免签分为服务端和监控端两个产品。服务端负责向用户提供收款码,等待监控端响应,处理订单信息。监控端负责监控手机通知,在接收到收款通知时,向服务端发出通知,指示用户支付完成。
原理[编辑 | 编辑源代码]
用户扫码付款 -> 收到款项后手机通知栏会有提醒 -> V免签监控端监听到提醒,推送至服务端->服务端根据金额判断是哪笔订单
通过第三方服务调用V免签接口发起新订单,V免签会在自己系统生成一个同等金额的订单,并向用户展示固定的个人收款码。用户向收款码支付指定金额时,监控端设备会收到支付软件的收款通知,监控端会将通知里的金额发送到服务端,服务端比对可用订单的金额和监控端通知的金额,来确定哪笔订单得到支付。
如果同时间已经有X金额的订单,有用户再次发起X金额的订单,此时因为上述通知逻辑,如果任意一位用户支付X金额,则两个订单都会被匹配金额,无法区分具体支付的是哪笔订单。为了解决这个问题,V免签提供了金额差额功能,若同时间已经有X金额的订单A,有用户再次发起X金额的订单B,此时V免签会根据设置的“金额递增”火“金额递减”将订单B金额设置为(X+0.01)或(X-0.01),从而使两个订单金额不同。同理,若同时间再有用户发起金额X的订单C,则该订单金额会相应地被设置为(X+0.01*2)或(X-0.01*2),即(X+0.02)或(X-0.02)。
支持的通知类型[编辑 | 编辑源代码]
- 支付宝个人收款的推送通知
- 支付宝商家二维码的收款推送通知
- 支付宝店员通绑定的店员账号收款的推送通知
- 微信二维码收款推送通知
- 微信店员收款推送通知
下载[编辑 | 编辑源代码]
Java 版本:https://github.com/szvone/Vmq