karnoweb / commerce
Domain Commerce package for Laravel: orders, invoices, payments, wallets, discounts. Data and services only — no host UI.
13.4.0
2026-09-04 23:13 UTC
Requires
- php: ^8.3
- illuminate/console: ^13.0
- illuminate/database: ^13.0
- illuminate/events: ^13.0
- illuminate/support: ^13.0
- karnoweb/translation: ^13.0
Requires (Dev)
- laravel/pint: ^1.18
- orchestra/testbench: ^11.0
- phpunit/phpunit: ^11.0|^12.0|^13.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
پکیج دامنهٔ بازرگانی برای لاراول: سفارش، اقلام/جمعها/مرجوعی، فاکتور، پرداخت، تراکنش درگاه، کیف پول، تخفیف، روش ارسال و پرداخت.
مستندات: docs/README.md — مفاهیم و طرز استفاده
قرارداد معماری (انگلیسی): COMMERCE_PACKAGE.md
Requirements
- PHP 8.3+
- Laravel 13.x
karnoweb/translation^13.0
Installation
composer require karnoweb/commerce:^13.0
php artisan vendor:publish --tag=commerce-config
php artisan vendor:publish --tag=commerce-migrations
php artisan vendor:publish --tag=commerce-lang # اختیاری
php artisan migrate
قابلیتها (v13.0)
مدلهای lean + config/morph + رویداد. سرویسهای پیچیدهٔ قیمت سبد و ارزیابی تخفیف در میزبان میمانند.
| حوزه | نقطه ورود |
|---|---|
| تنظیمات و مدل | فاساد Commerce |
| رویداد بعد از commit | CommerceEventDispatcher |
| persistence | مدلهای Order, Invoice, Payment, Wallet, … |
در پکیج نیست: UI، Action/Pipeline، درگاه واقعی (karnoweb/payment)، کاتالوگ (karnoweb/shop)، سند حسابداری.
مثال سریع
use Karnoweb\Commerce\Facades\Commerce; use Karnoweb\Commerce\Enums\FinancialStatusEnum; use Karnoweb\Commerce\Support\CommerceEventDispatcher; use Karnoweb\Commerce\Events\OrderCreated; $order = Commerce::model('order')::query()->create([ 'order_number' => 'ORD-1001', 'user_id' => $userId, 'financial_status' => FinancialStatusEnum::PENDING, 'total_amount' => 1_050_000, ]); CommerceEventDispatcher::dispatch(new OrderCreated( orderId: (int) $order->id, userId: $order->user_id, ));
بیشتر: docs/usage/README.md
License
MIT