源码简介
EasyStore是一套基于Laravel构建的多租户跨境电商SaaS源码,支持租户隔离、自助开店、套餐管理、订阅计费、域名管理、统一运维和平台自动化等功能,主要面向希望自建在线商城平台、商城托管平台以及多商户电商服务的开发者、建站公司、主机服务商和创业团队。代码全开源可二开。
EasyStore与传统单商城程序不同,该系统从多租户架构出发设计。平台运营者只需要部署一次源码,即可让不同客户自主注册并创建独立商城。客户选择套餐、填写商城地址并完成注册后,系统能够自动完成商城初始化,为其分配独立数据库、存储目录和缓存空间,并提供独立的前台商城和后台管理环境。
EasyStore核心能力包括独立数据库、独立存储与缓存、商城自助注册、20前台预设模板、完整管理后台、43种语言、REST API、Webhook、套餐配额、Stripe订阅、银行转账、批量更新和运营日志等。
多租户商城架构
EasyStore的核心特点是“Database Per Store”,即每个商城使用独立的MySQL数据库,而不是让所有商户共用一套数据表。
每个商城同时拥有独立的:
- MySQL数据库
- 文件存储目录
- 缓存Key空间
- 商品数据
- 订单数据
- 客户数据
- 商城后台
- 独立域名或子域名
这种架构能够降低不同商城之间的数据混用风险,也方便运营者单独迁移、删除或维护某个商城。
在平台层面,系统还提供专门的运营控制台,用于统一管理商城、套餐、订阅、域名、应用、主题、API和Webhook等内容。
自助注册与商城自动开通
访客进入营销网站后,可以自行:
- 选择商城套餐;
- 设置商城地址;
- 选择商城预设模板;
- 创建账户;
- 自动完成商城初始化。
系统在完成开通后,为客户生成独立商城以及对应的管理后台,并提供带有示例目录的主题预设,避免新商城创建后出现完全空白的状态。
根据产品介绍,商城通常可以在约一分钟内完成初始化。
20种商城前台预设
系统内置20种商城前台预设主题,可用于快速创建不同类型的电商网站。
预设覆盖包括:
- 时尚服饰
- 电子产品
- 家具
- 美妆护肤
- 运动鞋
- 珠宝
- 有机产品
- 体育用品
- 宠物用品
- 其他电商业务
预设主要用于初始化商品目录和页面结构,帮助新商城快速形成完整的展示效果。
完整商城后台
每个独立商城都拥有完整的后台管理功能,商城所有者可以在自己的后台处理日常经营业务。
主要包括:
- 商品管理
- 商品规格与变体
- 订单管理
- 客户管理
- 配送管理
- 税费设置
- 优惠折扣
- 发票管理
- 商品评价
- 商品分类
- 子分类
- 图片及内容管理
因此,平台运营者负责管理整个SaaS平台,而每个商城客户则可以独立管理自己的电商业务。
套餐、配额与订阅管理
平台提供独立的Plans & Quotas套餐系统,可以针对不同商业模式创建不同等级的商城方案。
套餐可以设置:
- 套餐价格
- 计费周期
- 试用时间
- 商品数量限制
- 员工数量限制
- 自定义域名权限
- 应用权限
- 主题权限
系统还支持套餐订阅状态管理。当套餐发生变更时,可以按照平台规则处理升级、延期、重新激活和取消等操作。
产品介绍还特别说明,套餐购买时的价格和限制可以保持稳定,后续修改套餐不会自动重新计算已有订阅者的价格或配额,而新增的应用和主题可以根据套餐配置提供给对应客户。
Stripe订阅计费与银行转账
在平台运营者向商城客户收取SaaS订阅费用方面,系统支持Stripe订阅模式。
通过Stripe Checkout和Stripe Billing Portal,可以实现:
- 订阅付款
- 免费试用
- 套餐变更
- 逾期处理
- 宽限期
- 自动暂停
同时系统支持银行转账模式。运营人员可以在后台查看客户提交的线下付款请求,对付款进行审核并生成编号收据。
如果不使用Stripe,也可以通过运营控制台手动分配、修改和取消套餐,并通过银行转账等线下方式完成收款。
需要注意的是,Stripe以及商城消费者使用的第三方支付服务需要运营者自行申请相关账户,具体费用、审核要求和服务地区由对应服务商决定。
支持多种商城支付方式
商城结账系统支持多种支付方式,包括:
- 货到付款
- 银行转账
- Stripe
- PayPal
- Razorpay
- Paystack
- Mollie
- SSLCommerz
其中部分在线支付服务需要商城运营者自行申请商户账户,并按照第三方支付平台的要求完成身份验证和配置。
货到付款和银行转账不依赖外部在线支付账户,可以直接用于商城业务。
商城状态与运营管理
运营人员可以查看平台中所有商城,并了解每个商城对应的套餐、状态、域名和使用情况。
对于特定商城,还可以执行:
- 暂停商城
- 恢复商城
- 取消商城
- 打开商城后台
- 查看商城信息
系统还支持管理员模拟进入某个商城后台进行技术支持,并将模拟操作记录到平台日志中,包括操作人员、商城、IP地址和操作时间等信息。
REST API接口
对于需要与CRM、计费系统、客服平台或自有业务系统进行整合的项目,系统提供控制平面REST API。
产品介绍显示,目前提供38个API端点,可以覆盖商城生命周期以及相关平台操作,例如:
- 创建商城
- 更新商城
- 暂停商城
- 恢复商城
- 取消商城
- 删除商城
- 查询商城使用情况
- 查询事件
- 分配订阅
- 修改订阅
- 延长订阅
- 重新激活订阅
- 取消订阅
- 管理自定义域名
- 管理应用与主题
- 查询套餐
- 管理Webhook
- 查看Webhook投递记录
API支持Bearer Key,并可以设置读写权限以及针对单个Key的访问频率限制。
Webhook事件系统
除了REST API之外,系统还提供27种签名Webhook事件,可以把平台中的重要事件推送到外部系统。
Webhook采用HMAC-SHA256签名,并提供:
- 签名验证
- Replay Protection重放保护
- 自动重试
- 投递记录
- 事件订阅
因此,开发者可以将商城创建、状态变化、订阅变化等平台事件同步至CRM、客服系统、账单系统或者自己的业务平台。
43种语言与RTL支持
系统支持43种语言,并且营销网站和平台控制台都支持多语言环境。同时提供RTL从右到左布局支持,适合需要面向不同国家和地区运营商城SaaS服务的项目。
对于计划打造国际化商城建站平台的团队来说,可以根据目标市场进行语言和界面适配。
独立域名与子域名
每个商城可以运行在独立子域名下,也支持客户连接自己的自定义域名。
使用商城子域名时,需要运营者配置Wildcard DNS记录和对应的Wildcard SSL证书。
如果客户使用自定义域名,系统会显示对应的DNS配置要求,客户按照指定记录完成域名验证后即可使用自己的商城域名。
域名注册、DNS服务和SSL证书等基础设施仍需要由运营者自行准备。
缓存与存储隔离
为了避免不同租户之间产生数据混淆,系统针对每个商城设置独立的存储和缓存空间。
商城上传文件、日志等内容保存在自己的目录中,缓存隔离支持:
- 文件缓存
- 数据库缓存
- Redis
- Memcached
其中Redis为推荐方案,但并非强制要求。
操作日志与安全审计
平台在运营管理方面加入了操作记录机制。
管理员进入商城后台进行模拟操作时,会记录相关操作信息;账单状态发生变化时,也会记录执行人员。
这种机制能够帮助平台运营者追踪后台管理行为,为多租户平台的日常运维和问题排查提供依据。
测试与代码质量
产品介绍显示,多租户Tenancy核心模块包含800多个通过测试的测试项目,并通过持续集成机制在提交代码时执行测试,其中还包含专门的租户隔离回归测试。
源码基于Laravel框架开发,并提供完整源代码,方便开发者根据自身业务进行二次开发。
第三方服务说明
EasyStore本身可以在不依赖第三方服务的情况下运行,但部分扩展功能需要运营者自行注册对应服务。
例如:
商城消费者支付:Stripe、PayPal、Razorpay、Paystack、Mollie和SSLCommerz等支付平台需要独立商户账户。
SaaS订阅收费:Stripe订阅计费需要独立Stripe账户。
邮件服务:商城开通、试用结束、支付失败、商城暂停等生命周期邮件需要配置SMTP服务。
域名服务:商城子域名需要Wildcard DNS和Wildcard SSL环境,自定义域名则需要按照系统要求完成DNS验证。
本站资源仅供下载者学习技术,版权归资源原作者所有,请在下载后24小时之内自觉删除。
本站资源仅供下载者学习IT编程开发技术,请遵守国家法律法规,严禁用于非法用途。
若作商业用途,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
如您是版权方,本站源码有侵犯到您的权益,请邮件联系331752841@qq.com 删除,我们将及时处理!
常见问题FAQ
- 链接地址失效怎么办?
- 下单后客服会及时检查链接地址是否有效,并即时更新网盘并通过注册邮箱发送通知和链接,如未即时处理请联系站长。
- 提示下载完但解压或打开不了?
- 有演示地址吗?包搭建吗?




