An affiliates package for Laravel Spark that allows you to track referrals from affiliates and pay commission.
Cashier 10+ / Laravel 6+ is supported in the 1. releases. To use older versions, use one of the 0. releases.
To get the latest version, simply require the project using Composer:
$ composer require keithbrink/affiliates-spark
use KeithBrink\AffiliatesSpark\Traits\Affiliate as AffiliateTrait;
class User extends SparkUser {
use AffiliateTrait;
...
}
Spark::createUsersWith('KeithBrink\AffiliatesSpark\Interactions\SaveAffiliateOnRegistration@createUser');
Spark::createTeamsWith('KeithBrink\AffiliatesSpark\Interactions\SaveAffiliateOnRegistration@createTeam');
or, if you want to add extra data to your user registration, use the interaction directly:
use KeithBrink\AffiliatesSpark\Interactions\SaveAffiliateOnRegistration;
...
Spark::createUsersWith(function ($request) {
$extra_data = [
...
];
$interaction = new SaveAffiliateOnRegistration;
return $interaction->createUser($request, $extra_data);
});
\resources\views\vendor\spark\nav\user.blade.php
, and under the Developer menu item (line 65), add the following code:@if (Auth::user()->isAffiliate())
@include('affiliates-spark::nav.affiliate-menu-item')
@endif
\resources\views\vendor\spark\kiosk.blade.php
, and under the Metrics Link item (line 30), add the following code:<!-- Affiliates Link -->
@include('affiliates-spark::nav.affiliate-menu-item-kiosk')
and in the same file under Tab Cards, add the following code:
<!-- Affiliates Tab -->
@include('affiliates-spark::nav.affiliate-tab-item-kiosk')
php artisan vendor:publish --provider="KeithBrink\AffiliatesSpark\AffiliatesSparkServiceProvider" --tag=javascript
. Then, in your /resources/js/app.js
, require the package javascript: require('./affiliates-spark/bootstrap');
Remember to compile the assets with npm run dev
.
Publish the package views with the command: php artisan vendor:publish --provider="KeithBrink\AffiliatesSpark\AffiliatesSparkServiceProvider" --tag=views
. You should enter instructions for your affiliates in /resources/views/vendor/affiliates-spark/affiliates/instructions.blade.php
.
Run the package migrations with the command: php artisan migrate --package "keithbrink/affiliates-spark
.
resources/views/vendor/spark/settings/subscription/subscription-notice.blade.php
file, after the @else
statement (line 9), add:@include('affiliates-spark::subscription.affiliate-discount')
<script async="" src="https://github.com/keithbrink/affiliates-spark/raw/master/a-s/aff.js"></script>
. You can also add the script to a different subdomain of the same top-level domain by making the src URL absolute rather than relative.SegmentSpark is licensed under The MIT License (MIT).