Laravel Packages

Laravel Vouchers

Published
Laravel Vouchers image

Laravel Vouchers is a package by Marcel Pociot that allows users to redeem vouchers that are bound to models:

This package can associate vouchers with your Eloquent models. This might come in handy, if you need to associate voucher codes with content that is stored in your Eloquent models.

Here’s a basic example of how to create them and redeem them from the readme:

$videoCourse = VideoCourse::find(1);
$voucher = $videoCourse->createVoucher();
 
auth()->user()->redeemVoucher($voucher);

You can also create vouchers with the Vouchers facade:

$videoCourse = VideoCourse::find(1);
 
// Create 5 vouchers associated to the videoCourse model.
$vouchers = Vouchers::create($videoCourse, 5);

If you need to provide additional information for your voucher, you can pass an array of key/value data:

$videoCourse = VideoCourse::find(1);
 
$vouchers = $videoCourse->createVouchers(2, [
'from' => 'Marcel',
'message' => 'This one is for you. I hope you like it'
]);
 
$voucher = $user->redeem('ABC-DEF');
$from = $voucher->data->get('from');
$message = $voucher->data->get('message');

You redeem a voucher with the redeemCode() method:

$voucher = $user->redeemCode('ABCD-EFGH');
 
// Redeem a Voucher model instance
$user->redeemVoucher($voucher);

To learn more about this package, check out beyondcode/laravel-vouchers on GitHub.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article