hiqdev/php-billing

dev-master 2024-09-19 10:37 UTC

README

PHP 计费库

Latest Stable Version Total Downloads phpunit-tests behat-tests Build Status Scrutinizer Code Coverage Scrutinizer Code Quality

提供订阅、订单、计费计划、智能折扣、账单、计算器和聚合器等功能的计费库

  • 为用户提供订阅

  • 带有操作动作的订单

  • 带有价格的计费计划

  • 带有公式的智能折扣

  • 带有费用的账单

  • 计算器和聚合器

  • 一次性、按量计费和周期性收费

请参阅俄语附加文档

安装

安装此库的首选方式是通过composer

运行以下命令

php composer.phar require "hiqdev/php-billing"

或者将以下内容添加到你的composer.json文件的require部分。

"hiqdev/php-billing": "*"

Idea

总的来说,计费功能是这样工作的

对于给定的订单,一个计算器找到计划,然后将适用的价格匹配到动作,并计算费用。然后可以使用聚合器将费用汇总到账单

计费操作理念

Model UML

免责声明

此计费库设计得灵活且抽象,因此支持不同的用例。我们在生产中使用此包,并添加额外的层,如

  1. 为管理员提供的计划和价格存储和管理UI,使他们可以创建计划,将价格填充到计划中,并将其分配给客户。
  2. 动作和订单生产者。此层接收最终用户动作(如购买某物)并在订单内部生成正确的动作
  3. 持久层。该层实现了多种在包内定义的仓库接口(例如PlanRepositoryInterface,为所需的实体提供数据保存和检索逻辑。
  4. 周期性操作(CRON任务)。这包括获取仪表数据(如累积资源消耗),将其转换为正确数量的操作,运行账单操作,更新账单及其费用。
  5. 业务指标监控、分析和警报。该层对账单生成数据进行定期检查,以确保系统健康。
  6. 读取API。该API接受请求,从数据库管理系统(DBMS)获取数据,并实现对订单、操作、账单、价格等的搜索,包括过滤、排序、访问控制和更多功能。

因此,如您所见,此包是大型账单系统的具体基础,但要使其成为完全可操作的账单,还需要在其之上构建很多“砖块”。不幸的是,我们并没有将所有这些“砖块”开源并文档化,因为其中许多实现了客户特定的逻辑,无法公开。

许可协议

本项目遵循BSD-3-Clause许可协议发布。[在此阅读更多信息](https://github.com/hiqdev/php-billing/blob/HEAD/LICENSE)。[更多信息请点击此处](http://choosealicense.com/licenses/bsd-3-clause)。

版权所有 © 2017-2019,HiQDev。[访问HiQDev官网](http://hiqdev.com/)。