autepos / discount-nke-laravel
Laravel wrapper for autepos/discount
dev-main
2023-06-15 06:44 UTC
Requires
- php: ^8.0
- autepos/discount: dev-main
- laravel/framework: ^9.0||^10.0
Requires (Dev)
- barryvdh/laravel-ide-helper: ^2.13
- laravel/pint: ^1.5
- mockery/mockery: ^1.5
- orchestra/testbench: ^7.6
This package is auto-updated.
Last update: 2025-02-15 10:03:11 UTC
README
DiscountNkeLaravel is an implementation of autepos/discount for Laravel. It is designed to be similar to Stripe's Discount which is made up of a coupon and a promotion code. It not quite a wrapper around autepos/discount since it mainly implement the DiscountInstrument and interface and provides the necessary Eloquent models.
Requirements
- PHP 8.0+
- Laravel 9.x+
Installation
Install the package via composer:
composer require autepos/discount-nke-laravel php artisan migrate
Usage
use Autepos\DiscountNkeLaravel\Contracts\DiscountProcessorFactory; use Autepos\Discount\Contracts\DiscountableDevice; use Autepos\DiscountNkeLaravel\Models\PromotionCode; class Order implements DiscountableDevice { //... } $discountableDevice = new Order(); $discountInstrument = new PromotionCode::find(1); $processor = app(DiscountProcessorFactory::class); $processor->addDiscountableDevice($discountableDevice) ->addDiscountInstrument($discountInstrument); $discountLineList = $processor->calculate(); // Get the discount amount $discountAmount = $discountLineList->amount(); // Persist the discount $discountLineList->redeem();