第三方线下支付系统

我要开发同款
贠学文2023年11月22日
75阅读
开发技术rabbitmq、springmvc、多线程、nginx、java

作品详情

项目描述:
此系统是为商家提供 POS 机服务,用户在商家的 POS 机刷卡后,利用银行收取系统的手续费与系统收取商家的
手续费之间的差价,赚取利润。
项目流程:
代理商在系统中,为自己的商户提交开户申请,审批通过后系统为商户颁发 POS 机。用户在商家购物,使用商
户的 POS 机刷卡,POS 机将支付请求转发至系统,系统根据设置好的路由规则,将请求转发至相应的银行,
并将银行返回的结果返回至 POS 机。系统每天会对商户发生的交易进行结算,并对代理商分润。
项目量级: 数据量: 千万级。
活跃用户量:千级。
并发量: 高峰时每秒几百笔。
项目架构:
1. 前端层 Web 端(html+jquery+css) 、 pos 机
2. 传输层 Https 传输(对一些重要交易,做关键字段加密以及数据签名) 、json(报文传输格式)8583 报文(pos 机上传报文
格式)
3. 网关层 Ngxin(负载均衡、限流) 、 Keepalived(保证 nginx 的高可用)
4. 服务层 SpringMvc(web 服务) 、hibernate(持久层框架) 、Slf4j+log4j(日志打印) 、Fastjson(json 处理)dubbo(微服务)
微服务拆分 运营平台、账户系统、风控系统、路由系统、交易系统、日志管理系统、分布式事务管理系统
5. 消息层 rabbitMq+集群(异步处理)
6. 数据层 Redis+集群(数据缓存) 、Mysql+主从+分库分表(数据存储)
微服务架构拆分: 此系统通过 springCloud 拆分成了 7 个微服务,每个微服务负责的功能如下:
1. 运营平台:
代理商、商户对自身信息的管理以及相应单据的提交,运营人员对整体信息的管理、以及权限的分配,单
据的审批等等。
2. 账户系统
对代理商、商户的账户的管理,以及各个账户之间的资金流转。并将系统的交易与银行的交易进行对账,
财务人员对疑帐和错账进行相应的处理。
3. 风控系统
对风险商户和风险交易的控制管理,风险交易的发生通过两个方面来控制,第一是事前通知,根据风控人
员设定的参数,直接将疑似风险交易拒绝掉。第二是事后通知,根据风控人员定义的风险规则,系统自动
摘出触发风险规则的交易,风控人员可以对触发风险规则的商户做处理,如暂缓结算等等。
4. 路由系统
系统根据用户刷卡的发卡行,匹配到费率最低的通道,以赚取最大的利润。
5. 交易系统
与银行通道的连接,并接受 POS 机发来的请求,通过路由系统转发至银行,并将银行返回的结果返回至
POS 机。
6. 日志管理系统:
记录用户的每一次操作的详情,包括操作内容、时间、结果等等,方便在出现异常时,运维人员可以快速
定位到问题。并且可以对日志内容做分析,得出某个时间段内每个接口的调用量以及执行成功率。
7. 分布式事务管理系统:
通过自研的方案,解决分布式事务的最终一致性问题。并可以分析某个时间段内每个事务的触发量以及
成功率。
项目职责:
1. 担任项目组长一职,带领团队开发运营系统、账户系统、风控系统。
2. 负责项目的需求分析与工作分配。
3. 审批流框架的研发。
4. 核心功能的开发。
5. 编写系统的说明文档。
项目难点:
1. 风控系统的事前通知,在大数据量并发时,如何保证数据安全。
2. 如何在大数据量情况下,提高查询效率。
3. 如何保证分布式锁的有效性。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论