augustusnaz / laravel-vouchers

Manage ecommerce vouchers. Associates vouchers with any eloquent models and allow multiple models to redeem vouchers.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Laravel Vouchers

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

Documentation

All documentation is available at the documentation site.

💚 Unique Features

  • 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);

Installation

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"

Notes

  • The allow_models and deny_models attributes mentioned above are actually saved as can_redeem and cannot_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 and cannot_redeem attributes. Example code here.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Manage ecommerce vouchers. Associates vouchers with any eloquent models and allow multiple models to redeem vouchers.

License:MIT License


Languages

Language:PHP 99.7%Language:Shell 0.3%