blunck / coupons
Coupon generator for Laravel 5
0.3.1
2018-09-06 16:58 UTC
Requires
- php: ^7.1
- illuminate/database: ^5.5
- illuminate/support: ^5.5
- nesbot/carbon: ^1.22
This package is not auto-updated.
Last update: 2025-03-22 20:42:21 UTC
README
Coupon generator for Laravel 5.
Installation
You can install the package via composer:
composer require blunck/coupons
The package includes a migration to create a coupons
& coupon_user
table:
# Publish migration file php artisan vendor:publish --provider="Blunck\Coupons\CouponServiceProvider" # Run migration php artisan migrate
Add Redeemable
trait to User
model:
use Blunck\Coupons\Traits\Redeemable; class User { use Redeemable; // ... }
Usage
Retrieve / Check if a coupon code is valid
try { $coupon = Coupons::check('AAAA-BBBB-CCCC'); } catch (CouponException $e) { // }
You can optionally pass a user instance as the 2nd argument to Coupons::check
to check if user has already redeemed a non disposable coupon.
Redeem coupon
$user->redeemCoupon($coupon);
Redeeming a coupon adds a record to the coupon_user
pivot table.
Create Coupon
/** * Disposable coupons can only be used onece. * * @var boolean */ $is_disposable = true; /** * Coupon discount. * * @var float */ $discount = 10.50; /** * Days from now when coupon expires. If null * coupon never expires. * * @var integer|null */ $expires_in = 30; /** * Additional data. * * @var array */ $data = ['note' => 'lorem ipsum']; $coupon = Coupons::create($is_disposable, $discount, $expires_in, $data); $code = $coupon->code;
Acknowledgments
Architecture inspired by laravel-promocodes