PHP code example of sagitarius29 / laravel-subscriptions

1. Go to this page and download the library: Download sagitarius29/laravel-subscriptions library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

sagitarius29 / laravel-subscriptions example snippets


'providers' => [
    /**
    * Some Providers
    */
    Sagitarius29\LaravelSubscriptions\LaravelSubscriptionsServiceProvider::class
]


use Sagitarius29\LaravelSubscriptions\Traits\HasSubscriptions;

class User extends Authenticable
{
    use HasSubscriptions; // Add this line for use subscriptions


use Sagitarius29\LaravelSubscriptions\Entities\Plan;
use Sagitarius29\LaravelSubscriptions\Entities\PlanFeature;
use \Sagitarius29\LaravelSubscriptions\Entities\PlanConsumable;
use Sagitarius29\LaravelSubscriptions\Entities\PlanInterval;

$plan = Plan::create(
        'name of plan', //name
        'this is a description', //description
        1 // sort order
    );
$features = [
    PlanFeature::make('listings', 50),
    PlanFeature::make('pictures_per_listing', 10),
    PlanFeature::make('listing_duration_days', 30),
    PlanFeature::make('listing_title_bold', true),
    PlanConsumable::make('number_of_contacts', 10),
];

// adding features to plan
$plan->features()->saveMany($features);

$plan->isFree(); // return true;

// adding interval of price
$interval = PlanInterval::make(PlanInterval::MONTH, 1, 4.90);
$plan->setInterval($interval);

$plan->isFree(); // return false;
$plan->isNotFree(); // return true; 


use Sagitarius29\LaravelSubscriptions\Entities\Plan;

$user = \Auth::user();
$plan = Plan::find(1);

$user->subscribeTo($plan);

$user->hasActiveSubscription(); // return true;

$currentSubscription = $user->getActiveSubscription(); // return Subscription object;



use Sagitarius29\LaravelSubscriptions\Entities\Plan;

$user = \Auth::user();
$firstPlan = Plan::find(1);
$secondPlan = Plan::find(2);

//upgrade or downgrade depending of the price
$user->changePlanTo($secondPlan);


$user = \Auth::user();

// the subscription is will end in the expiration date
$user->unsubscribe();

// the subscription end now
$user->forceUnsubscribe();
cmd
php artisan vendor:publish --provider="Sagitarius29\LaravelSubscriptions\LaravelSubscriptionsServiceProvider"
cmd
php artisan migrate