jn-devops/payment
最新稳定版本:v1.3.3
Composer 安装命令:
composer require jn-devops/payment
包简介
Homeful Payment Package
README 文档
README
The Homeful\Payment package provides a robust and testable abstraction layer for mortgage-related financial computations. It encapsulates the standard PMT and PV formulas using precise monetary operations via the whitecube/price and brick/money libraries.
📦 Features
- Compute monthly amortization with interest and term (PMT formula)
- Add-on fee handling (e.g. insurance, extra charges)
- Deductible fee support (e.g. rebates, adjustments)
- Compute present value from future payment streams (PV formula)
- Income requirement estimation based on configurable disposable income percentage
- Extensive test coverage and simulation datasets
✅ Installation
Ensure you have the following packages:
composer require whitecube/price brick/money jarouche/financial
🧮 Usage
📘 Basic PMT Calculation
use Homeful\Payment\Payment; use Homeful\Payment\Class\Term; $payment = (new Payment) ->setPrincipal(850000.0) ->setTerm(new Term(20)) // 20 years ->setInterestRate(6.25 / 100); $monthly = $payment->getMonthlyAmortization(); echo $monthly->format(); // e.g. PHP 6,213.00
➕ Add-On Fees (e.g. Fire Insurance, MRI)
use Homeful\Common\Classes\AddOnFeeToPayment; $payment->addAddOnFeeToPayment(new AddOnFeeToPayment('fire insurance', 100, false)); $payment->addAddOnFeeToPayment(new AddOnFeeToPayment('mortgage redemption insurance', 200, false));
➖ Deductible Fees (e.g. Promo Deduction)
use Homeful\Common\Classes\DeductibleFeeFromPayment; $payment->addDeductibleFee(new DeductibleFeeFromPayment('promo', 125, true));
🧾 Income Requirement
echo $payment->getIncomeRequirement(); // e.g. PHP 20,710.00
💡 Present Value Calculation
use Homeful\Payment\PresentValue; use Homeful\Payment\Class\Term; $pv = (new PresentValue) ->setPayment(19978.48) ->setTerm(new Term(20)) ->setInterestRate(7 / 100); echo $pv->getDiscountedValue()->format(); // e.g. PHP 2,576,874.00
🧪 Testing
Unit and simulation tests available in /tests/Payment.
php artisan test --filter=Payment
Includes scenarios for:
- Edge case interest validation
- Max term validations
- Add-on and deductible modifier interactions
- Multiple amortization simulations
⚙️ Configuration
You may configure these via config/payment.php:
return [ 'default_percent_disposable_income' => 0.30, 'max_years_to_pay' => 30, 'max_months_to_pay' => 360, ];
📂 Data Transformation
Use PaymentData::fromObject($payment) to extract structured values like:
principalterm,cycleinterest_ratemonthly_amortizationincome_requirement
🧩 Traits
HasAddOnFeesHasDeductibleFeesHasIncomeRequirement
These ensure modular responsibility and are shared across payment types.
🤝 Dependencies
✨ Example Output
$payment = (new Payment) ->setPrincipal(2900000) ->setTerm(new Term(30)) ->setInterestRate(6.75 / 100); echo $payment->getMonthlyAmortization()->format(); // PHP 18,809.00
Behold, a new you awaits — one with precise mortgage computations and a testable financial layer.
jn-devops/payment 适用场景与选型建议
jn-devops/payment 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.31k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 07 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「payment」 「laravel」 「Homeful」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 jn-devops/payment 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jn-devops/payment 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 jn-devops/payment 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
统计信息
- 总下载量: 3.31k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 10
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-07-06