Trexology / Promocodes by trexology
forked from zgabievi/laravel-promocodes

Promotional Codes Generator for Laravel 5.1
1,066
12
2
Package Data
Maintainer Username: trexology
Package Create Date: 2016-08-08
Package Last Update: 2024-03-13
Home Page: http://zgabievi.github.io/Promocodes
Language: PHP
License: MIT
Last Refreshed: 2024-04-19 15:06:21
Package Statistics
Total Downloads: 1,066
Monthly Downloads: 5
Daily Downloads: 1
Total Stars: 12
Total Watchers: 2
Total Forks: 5
Total Open Issues: 2

Promocodes

PR0M0C0D35

Latest Stable Version Total Downloads License

Promotional Codes Generator for Laravel 5.*

Table of Contents

Installation

Composer

Run composer command in your terminal.

composer require trexology/promocodes

Laravel

Please read Config 'n Migration section first. It's requried to create promocodes table

Open config/app.php and find the providers key. Add PromocodesServiceProvider to the array.

Trexology\Promocodes\PromocodesServiceProvider::class

Find the aliases key and add Facade to the array.

'Promocodes' => Trexology\Promocodes\Facades\Promocodes::class

Usage

Recomendations

Run php artisan make:model Promocode and update app/Promocode.php as following:

/**
 * @var bool
 */
public $timestamps = false;

/**
 * @var array
 */
protected $fillable = [
	'code',
	'reward',
	'quantity',
  'is_used',
];

Methods

You can generate Promotional codes using generate method.

The only parameter is amount of codes to generate.

Promocodes::generate(5); // $amount = 1
  • $amount int - number of promotional codes to be generated

This method will return array of codes with 5 element


You can generate and save codes instantly in your database using:

Promocodes::generateAndSave(5, 10.50); // $amount = 1, $reward = null
  • $amount int - number of promotional codes to be generated
  • $reward double - amount of reward of each promocodes

This will generate 5 codes and insert in your DB.


You can generate and save codes with the exact name in your database using:

Example:

Promocodes::generateCodeName("OFF20%", 0.2); // $reward = null (percentage discount)
Promocodes::generateCodeName("5SGDOFF", 5); // $reward = null (dollar discount)
  • $code string - exact promotional code name to be generated
  • $reward double - amount of reward of each promocodes

This will return false if code name already existed


Check code using method check.

Method returns boolean.

$valid = Promocodes::check('TEST-CODE'); // $promocode
  • $promocode string - promotional code wich will be checked if issets

Laslty use code using method apply.

Method returns boolean.

$applied = Promocodes::apply('TEST-CODE', true); // $promocode, $hard_check = false
  • $promocode string - promotional code wich will be checked if issets, and applied to current user
  • $hard_check boolean - if false or null, you will get only boolean value of checked promocode. If true you will get amount of reward as double or false.

If method returns false, code was already used or it wasn't valid

Config 'n Migration

Publish Promocodes config & migration file using command:

php artisan vendor:publish

Created file config\promocodes.php. Inside you can change configuration as you wish. Created migration file, now you can simply run php artisan migrate and that's it, you will have promocodes table.

License

Promocodes is an open-sourced laravel package licensed under the MIT license

TODO

  • [x] Create migration for vendor publish