大家好,我是刚哥!
引子
最近,有同学私信问我有没有“支付系统源码?有没有开源项目?”说实话支付这么隐私的系统,后台都不会能给人看,更别说公开源码。
要获得一套完整的支付系统,至少花个几十万,金融级别的支付系统几百万都很正常。
不过事情也没那么绝对,开源社区真有这么一套全球唯一开源支付系统(反正我没找到过第二套)JeePay聚合支付开源项目,他非常完整,并且提供源码,你可以直接免费拿去在自己的项目中使用。
这次,对于想自己研究、找竞品和创业的小伙伴们,介绍下这套开源的支付系统JeePay。
【文末有JEEPAY的文档和演示地址】
01 JEEPAY有哪些版本
官网地址:https://www.jeequan.com/
JEEPAY定位是一个聚合支付平台。它分为“开源版本、商业版本、解决方案和增值服务”四部分,我们重点还是看下大家关注的开源版和商业版,其它的大家可以自行了解。
JEEPAY版本
1.1、开源版系统
开源版业务架构
开源版本比较精简,包含了“支付网关、核心能力、支付渠道”以及“商户平台、运营平台”两个管理系统。
底层的技术栈用的都是常见的开源框架,这样做的好处是开发者都比较熟悉,容易上手,学习起来不费劲。同时,这样做还能让项目的成本和质量更容易控制。
1.2、商业版系统
1)商业版系统
商业版相对于开源版不仅在”商户、运营”两个系统上功能丰富了很多。同时也增加代理商系统、硬件设备支持更加丰富,在商家移动端管理方面提供了“商户通”、以及更多的展业工具。
商业版业务架构
2)产品体系
开放就是好呀,产品体系和后台功能都不需要我来扒了,JEEPAY都给你整理的很详细了。
产品功能清单:https://docs.jeequan.com/docs/jeepay-plus//552
商业版产品能力
02 拆解开源版本
当然我们的重点还是开源版本,这是整个聚合支付系统最精简的内核。只有内核拆解清楚,上层应用的扩展就手到擒来了。
2.1、客户体系
首先,让我们一起来看下JEEPAY的商户体系结构吧。了解这个结构的层级划分,才能更好地理解他是如何来管理客户和产品的。
JEEPAY客户体系
JEEPAY的客户体系分为运营端和商户端。
2.2.1、运营端:
运营端就是整个支付系统的“大总管”,它负责商户的创建,应用的配置以及交易的管理。商户要开通账号,使用支付产品都需要运营端来设置后才能登录。
2.2.2、商户端:
运营端开通账号后,商户就可以登录商户端进行支付产品的配置和使用。商户端的角色就比较复杂些了,按照微信对于商户的定义分了三种角色。
1)普通商户:课独立在三方机构申请支付渠道,接口也是可以单独调用的。
2)服务商:为商户提供支付技术服务,帮助商户入网和调用支付接口。
3)特约商户:类似子商户,服务商协助其开通三方账户后,把支付产品授权给服务商,由服务商帮助其调用接口。
2.2、核心服务流程
Jeepay麻雀虽小五脏俱全,它有运营端、商户端两个前端应用,同时“网关、支付、商户、运营”几个服务端应用提供后台能力支撑。
JEEPAY核心流程
2.2.1、运营端流程
1)商户注册:在运营端创建商户号同时会生成“微信、支付宝、云闪付”等几类默认应用给商户。
2)支付配置:如果需要的支付产品不在默认应用中,要配置支付接口来进行开发。
3)对接开发:定制开发可以通过购买接口或者自研,如果是自研则需要进行“渠道对接、服务开发以及相关前端应用的修改”。然后发布到服务端进行测试和联调。
2.2.2、商户端应用
1)商户登录:运营端开出账号后商户就能在登录商户端开始管理支付应用。
2)应用管理:商户配置支付应用前需要提前准别好账号参数进行配置,这里涉及appid、密钥和证书的安装(这些需要技术人员的配合)。
3)分账管理:如果涉及分账场景,可以按应用来配置分账的账号组和收款账户,以及设置分账比例。
4)支付测试:Jeepay提供了支付测试工具,可以直接进行各种应用程序接口的测试和联调工作。
最后,全部测试通过之后,可以把应用发布到生产环境正式对外推出使用。整个开源系统非常简洁明了,非常适合个人开发者和中小团队来使用。
如果需要开放接口、增加代理商、展业APP、点餐小程序、收银机等”等应用也可以很好的扩展。
2.3、JEEPAY领域模型
通过对JEEPAY的流程、功能和数据结构的初步分析,我大致分析出了JEEPAY的领域模型。可能并不准确,但是能够讲清楚其内在的结构关系。
JEEPAY领域模型
JEEPAY分成了商户和应用的两大体系,一个商户可以创建多个支付应用。
1)商户模型
商户分为普通商户、特约商户、服务商这几个角色,其中普通商户拥有独立的账号和支付权限,而特约商户需要服务商才能设置支付权限。同时每个商户都可以设置自己的登录账号和增加登录的操作员。
需要说明的是,在开源版中仅是一个单层级”会员模型”,商业版才提供多层级的“服务商、代理商”管理。
2)应用模型
一个商户可以配置多个支付应用,每个支付应用都需要有配置对应渠道的支付接口和支付方式,其中支付方式也是支付接口的重要参数。
3)分账模型
分账模型管理着支付应用与商户账号的绑定关系,系统可以按照商户的支付应用来绑定分账账号。多组账号通过账号组来管理,方便对不同合作关系进行组合。
03 运营端拆解 3.1、工作台首页
运营工作台
系统有默认超管账号可以直接登录。工作台菜单和首页简洁明了, 默认的超管密码可以在“系统管理/用户角色管理/操作员管理”下重置。
3.2、商户管理
前面介绍了Jeepay分为商户和服务商两大角色,能够进行支付的只有商户。因此我们要给商户创建一个账号和密码这样它才能登录。
1)进入“商户列表”
进入商户列表可以管理商户账号,创建商户号,并且给它配置支付应用。
商户列表
2)创建“商户账号”
这里是给商户创建登录的商户账号,其中“登录名、手机号”必须是唯一的,密码默认是“jeepay123”,可以由运营人员“重置密码”,也可以由商户自己在商户端重置。
创建商户号
这里需要注意的是“普通商户”和“特约商户两个角色的不同。
普通商户:可以独立创建和启用,并且它的支付产品也是独立申请和调用的。
特约商户:需要关联服务商之后才能启用,它的支付产品也是授权服务商来进行支付的。
普通和特约商户配置的区别
3.3、服务商管理
由于是开源版,服务商不支持多层级管理,因此,服务商的账号配置就比较简单,设置基本信息就可以了,并且也没有单独的登录账号。
创建服务商账号
3.4、应用配置
在运营端,运营人员可以直接帮助商户开通支付应用。支付应用就是已经开发好的支付产品,系统默认有“微信、支付宝、云闪付”等支付应用,客户直接免费使用。
但是因为涉及很多的账号、密钥、证书等隐私信息,运营端只是辅助,一般在商户端由商户自行配置,详细内容我们在后面介绍。
应用配置
3.5、服务商的“支付配置”
1)创建服务商:
特约商户是由服务商协助入网和调用支付接口,因此需要服务商在后台帮助商户完成参数的设置。
服务商支付配置
2)服务商参数设置
这里主要是设置服务商自己的PID、appid、密钥、证书等支付接口调用信息。
服务商密钥配置
3.6、自研的“支付配置”
如果需要对接的支付渠道不包含在默认的“微信、支付宝、云闪付”中,就需要通过接口市场购买或者自己研发对接。在支付配置中可以修改默认配置,也可以直接新增一个支付应用产品。
1)支付接口配置
这里的应用是提供给服务商或者商户的开发人员在开发前进行配置。
支付接口配置
2)接口配置与应用的关系
支付配置包含了“支付接口”和“支付方式”两项配置,它也与商户使用的“支付参数”和“支付通道”两项参数一一对应起来。
商户应用与接口配置关系
支付接口:配置接口定义,包含了接口代码、接口定义参数以及支付方式等重要的接口开发参数。
支付方式:告诉开发者在配置支付接口时,可以选择哪些支付方式和了解相关费率。
运营端设置了商户号后商户就能登录了。商户端主要是支付产品的使用,因此主要包含了“应用管理、支付测试、转账、订单管理、分账管理”等业务操作功能。
商户端工作台
4.1、应用管理
1)查看支付应用
在运营端创建商户的同时就会默认创建一个支付应用,商户可以对支付应用进行配置。这个支付应用的Appid是与商户关联的。
商户支付应用
2)支付参数配置
这里集成了已经发布的支付应用,商户可以通过技术人员的协助来完成支付参数的配置。
商户支付参数设置
3)支付参数详情
支付配置主要是渠道侧开通支付参数、密钥和证书等比较敏感的安全信息,同时也需要在渠道侧后台(例如:微信支付后台,支付宝后台)配置对应的回调地址。
商户支付参数详情
4)支付通道配置
支付通道参数主要是生效支付方式,并且设置对应的支付费率,该费率作为系统内部登记使用的,实际的费率还是要以渠道产生的为准。
这种设置模式比较适合服务商、代理商,通过这里可以设置给不同商户的报价,这样就能赚取分润了。
商户支付通道配置
4.2、支付测试
完成支付配置后,商户可以为不同的业务设置多个支付应用,每个应用都能单独设置支付方式并测试。这样做可以让支付设置更符合各种业务需求。
测试支付时,你可以试用不同的支付方法,还能处理不同分账方式,比如不分账、自动分账或手动分账。测试金额也可以自己设定。
商户支付测试页面
4.3、分账管理
对于现在大家都比较关注的分账能力,也提供了分账管理功能,它与支付应用是关联在一起的,你可以通过“账号组”来管理多个账号。
分账账号有两种:一种是个人分账,需要用微信或支付宝扫码绑定;另一种是商户分账,直接填写账号就行。
为了保障账号的准确,在保存前会发送到支付渠道校验账号的有效性,这样支付时就不容易出错。
商户分账账户管理
05 JEEPAY开源系统总结
作为一个开源聚合支付系统,JEEPAY小巧而易于扩展。
5.1、商业模式分享
从商业模式上JEEPAY有一个完整的商业闭环。
1)开源版:提供基础支付系统,方便学习和搭建,帮助更多人了解和使用。
2)商业版:为需要自己搭建支付系统的企业提供完整、安全的解决方案,确保支付稳定、安全、保护隐私。
3)行业版:根据不同行业需求,提供专门的支付解决方案,帮助企业更好地服务客户。
4)支付备案:如果要经营支付业务就需要“收单外包备案”,显然这样的资质需要专业的服务和资源的。
5)支付服务:JEEPAY通过“接口市场”和“软硬件商城”,帮助商户简化了支付渠道对接和设备的使用,同时也为JEEPAY带来了服务收入。
JEEPAY商业模式
5.2、JEEPAY优劣势分析
针对JEEPAY的功能和使用体验我们也来分析下它的优势和不足。
5.2.1、JEEPAY的优势
JEEPAY最大的优势自然是开源,“它通过开源提供真实的支付系统,并且提供完善的支付解决方案,以此突破行业同质化瓶颈”。
1)开源集成到商业软件
JEEPAY功能简洁灵活,适合中小企业快速构建和扩展支付应用。它采用LGPL-3.0开源协议,允许以库文件形式集成到商业软件中,无需公开源代码。
2)完善的开发文档和部署脚本
作为开源软件,JEEPAY提供了完整的开发文档和安装部署脚本。并且也提供更加方便的宝塔面板一件安装。
3)全套方案演示环境
此外,JEEPAY不仅有开源版的演示环境,商业版、行业方案也同样提供了演示环境,供你随意访问。这展现其对产品自信,同时也与客户减少信息差,并降低沟通成本。
这种做法与我的观点一致:支付系统功能已趋于成熟且同质化严重,单靠功能难以形成独特卖点。如今客户看中的是产品如何给他带来更多的收入,更低的经营风险,以及更好的支付资源。没有这些价值,那就只能站在成本角度聊聊价格了,降本增效最终的结果大家也都知道(全都卷死)。
5.2.2、JEEPAY的不足
JEEPAY的不足还是“渠道接口配置”比较技术化,对于非技术人员学习和使用成本还是有点高的。
JEEPAY默认的“微信、支付宝、云闪付”等支付应用可以免费使用,但是非标准的渠道接口接入还是需要花费一定时间去学习它的开发规范和标准的。
渠道接口配置这块可以抽象出更多的共性做成配置化,这样客户新增渠道接入的效率也就能更高,同时放到商业版也是个非常好的增值卖点。
5.3、JEEPAY的资源汇总
时间原因,对于JEEPAY的拆解仅限于开源版本,商业版和行业解决方案我也没有深入的去了解,我把JEEPAY的资源汇总下,更多的宝藏大家自己去研究和开发吧。
5.3.1、开源版本资源
1)JEEPAY主页:https://www.jeequan.com/
2)开源版演示和部署:
https://www.jeequan.com/doc/detail_84.html
3)宝塔一键安装:
https://docs.jeequan.com/docs/jeepay/jeepay-1g4h1figddgfm
4)一键部署视频教程:
https://www.bilibili.com/video/BV17C411Y7EZ/?share_source=copy_web&vd_source=e48f1c20ae2c74b29a0b959a168914f2
4)开源社区:
https://gitee.com/jeequan/jeepay
5.3.2、商业版本资源
1)商业版演示账号:
https://docs.jeequan.com/docs/jeepay-plus/jeepay-plus-1doq35st0u4vu
2)商业版开发文档:
https://docs.jeequan.com/docs/jeepay-plus/jeepay-plus-1dmfn5bmqbgrr
5.3.3、行业方案资源
1)计全付开放文档:
https://docs.jeequan.com/docs/jeepay-open/jeepay-open-1dvtplvn8vvlf
2)行业方案演示账号:
https://docs.jeequan.com/docs/jeepay-open/jeepay-open-1ecc90rmvtdbt
【入群交流添加我微信,请注明来源从事"行业+岗位“】
特别说明:本人不介绍通道,不推广通道
热门跟贴