hiqdev / php-billing
PHP 计费库
dev-master
2024-09-19 10:37 UTC
Requires
- php: ^8.0
- cache/array-adapter: ^1.2
- hiqdev/php-units: dev-master
- moneyphp/money: ^3.0 | ^4.0
- psr/simple-cache: ^1.0
Requires (Dev)
- ext-intl: *
- behat/behat: ^3.4.3
- cache/array-adapter: *
- hiqdev/hidev: dev-master
- hiqdev/hidev-behat: dev-master
- hiqdev/hidev-hiqdev: dev-master
- hiqdev/hidev-php: dev-master
- hoa/ruler: ^2.17
- league/event: ^2.1
- matthiasnoback/behat-expect-exception: ^v0.3.0
- phpunit/phpunit: ^8.1
- vimeo/psalm: ^3.0
Suggests
- ext-intl: intl extension is required for formula support
- hiqdev/hoa-compiler: ~1.0
- hiqdev/hoa-file: ~1.0
- hiqdev/hoa-iterator: ~1.0
- hiqdev/hoa-protocol: ~1.0
- hiqdev/hoa-ruler: ~1.0
- hiqdev/hoa-stream: ~1.0
- league/event: required for event-rich billing
- dev-master
- dev-hp-1950--progressive-prices
- dev-HP-1653/inrease_formula
- dev-HP-1251/volume-billing-problem
- dev-bug/sale-close
- dev-dont-skip-charges-with-events
- dev-feature/monthly-cap-for-overuses
- dev-feature/usage
- dev-feature/sale-close-time
- dev-charges-merging
- dev-end-with-type-matching
- dev-magic-addons
- dev-context
This package is auto-updated.
Last update: 2024-09-19 10:37:36 UTC
README
PHP 计费库
提供订阅、订单、计费计划、智能折扣、账单、计算器和聚合器等功能的计费库
-
为用户提供订阅
-
带有操作动作的订单
-
带有价格的计费计划
-
带有公式的智能折扣
-
带有费用的账单
-
计算器和聚合器
-
一次性、按量计费和周期性收费
请参阅俄语附加文档。
安装
安装此库的首选方式是通过composer。
运行以下命令
php composer.phar require "hiqdev/php-billing"
或者将以下内容添加到你的composer.json文件的require部分。
"hiqdev/php-billing": "*"
Idea
总的来说,计费功能是这样工作的
对于给定的订单,一个计算器找到计划,然后将适用的价格匹配到动作,并计算费用。然后可以使用聚合器将费用汇总到账单。
计费操作理念
免责声明
此计费库设计得灵活且抽象,因此支持不同的用例。我们在生产中使用此包,并添加额外的层,如
- 为管理员提供的计划和价格存储和管理UI,使他们可以创建计划,将价格填充到计划中,并将其分配给客户。
- 动作和订单生产者。此层接收最终用户动作(如购买某物)并在订单内部生成正确的动作
- 持久层。该层实现了多种在包内定义的仓库接口(例如PlanRepositoryInterface,为所需的实体提供数据保存和检索逻辑。
- 周期性操作(CRON任务)。这包括获取仪表数据(如累积资源消耗),将其转换为正确数量的操作,运行账单操作,更新账单及其费用。
- 业务指标监控、分析和警报。该层对账单生成数据进行定期检查,以确保系统健康。
- 读取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/)。