An ecommerce voucher generator. It associates vouchers with one or more eloquent model and allows multiple models to own/redeem vouchers.
✔️ Requirements
- Laravel ^8
- PHP ^8.1
All documentation is available at the documentation site.
- Associate one voucher with one or more items
- Flexible redeemer models: vouchers can be redeemed by any model.
User
,Admin
,Guest
models. - Flexible voucher models: voucher can be associated with any model.
Product
,Variant
,Ticket
, whatever else. - Use vouchers once or multiple times
- Limit access: can define model instances that are allowed or excluded from redeeming a Voucher
- Multiple limit scheme; exhaust redeems per instance, per user or per product
Example usage:
$product = Product::find(1);
$voucher = $product->createVoucher();
$user->redeem($voucher);
You can install the package via composer:
composer require moirei/laravel-vouchers
Next publish the migration with
php artisan vendor:publish --tag="vouchers-migrations"
Then run the migrations:
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="vouchers-config"
- The
allow_models
anddeny_models
attributes mentioned above are actually saved ascan_redeem
andcannot_redeem
internally. They are mutated on boot creating or updating. - If you manage your resources with Nova, Nova Multiselect can be used directly with the
can_redeem
andcannot_redeem
attributes. Example code here.
The MIT License (MIT). Please see License File for more information.