PHP code example of stellarsecurity / subscription-laravel

1. Go to this page and download the library: Download stellarsecurity/subscription-laravel 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/ */

    

stellarsecurity / subscription-laravel example snippets


use StellarSubscription;
use StellarSecurity\SubscriptionLaravel\Enums\SubscriptionType;

// Find all subscriptions for a user
$response = StellarSubscription::findUserSubscriptions(123, SubscriptionType::VPN->value);

if ($response->successful()) {
    $data = $response->json();
}

use StellarSecurity\SubscriptionLaravel\SubscriptionService;

class SomeController
{
    public function index(SubscriptionService $subs)
    {
        $response = $subs->user(123);

        if ($response->successful()) {
            // ...
        }
    }
}

use StellarSecurity\SubscriptionLaravel\SubscriptionEventService;
use StellarSecurity\SubscriptionLaravel\Enums\SubscriptionEventType;

class VpnTelemetryController
{
    public function login(SubscriptionEventService $events)
    {
        return $events->add([
            'subscription_id' => 'subscription-uuid',
            'event_type' => SubscriptionEventType::VPN_LOGIN->value,
            'event_source' => 'stellar_vpn_android',
            'meta' => [
                'app_version' => '1.0.0',
            ],
        ]);
    }
}

use StellarSubscription;
use StellarSecurity\SubscriptionLaravel\Enums\SubscriptionSource;
use StellarSecurity\SubscriptionLaravel\Enums\SubscriptionStatus;
use StellarSecurity\SubscriptionLaravel\Enums\SubscriptionType;

$response = StellarSubscription::add([
    'user_id' => 123,
    'type' => SubscriptionType::VPN->value,
    'status' => SubscriptionStatus::ACTIVE->value,
    'expires_at' => '2026-07-28 00:00:00',
    'source' => SubscriptionSource::ESIM_PURCHASE->value,
    'source_meta' => [
        'order_id' => 'order_123',
        'product_slug' => 'albania-esim',
    ],
]);

$response = StellarSubscription::add([
    'user_id' => 123,
    'type' => SubscriptionType::VPN->value,
    'status' => SubscriptionStatus::ACTIVE->value,
    'expires_at' => '2026-07-28 00:00:00',
    'source' => SubscriptionSource::DIRECT_VPN_PURCHASE->value,
    'source_meta' => [
        'payment_provider' => 'stripe',
        'order_id' => 'order_456',
    ],
]);

$response = StellarSubscription::patch([
    'id' => 'subscription-uuid',
    'source' => SubscriptionSource::DIRECT_VPN_PURCHASE->value,
    'source_meta' => [
        'payment_provider' => 'crypto',
    ],
]);

use StellarSubscriptionEvent;
use StellarSecurity\SubscriptionLaravel\Enums\SubscriptionEventType;

$response = StellarSubscriptionEvent::add([
    'subscription_id' => 'subscription-uuid',
    'event_type' => SubscriptionEventType::VPN_LOGIN->value,
    'event_source' => 'stellar_vpn_android',
    'meta' => [
        'app_version' => '1.0.0',
    ],
]);

StellarSubscriptionEvent::event([...]);

$event = StellarSubscriptionEvent::find(1);
$subscriptionEvents = StellarSubscriptionEvent::findBySubscription('subscription-uuid');
$userEvents = StellarSubscriptionEvent::findByUser(123);

StellarSubscriptionEvent::subscription('subscription-uuid');
StellarSubscriptionEvent::user(123);

use StellarSecurity\SubscriptionLaravel\Enums\SubscriptionStatus;
use StellarSecurity\SubscriptionLaravel\Enums\SubscriptionType;
use StellarSecurity\SubscriptionLaravel\Enums\SubscriptionSource;
use StellarSecurity\SubscriptionLaravel\Enums\SubscriptionEventType;

SubscriptionStatus::ACTIVE;
SubscriptionType::ANTIVIRUS;
SubscriptionSource::ESIM_PURCHASE;
SubscriptionEventType::VPN_LOGIN;

SubscriptionSource::ESIM_PURCHASE;
SubscriptionSource::DIRECT_VPN_PURCHASE;
SubscriptionSource::DIRECT_ANTIVIRUS_PURCHASE;
SubscriptionSource::AFFILIATE_VPN_PURCHASE;
SubscriptionSource::ADMIN_GRANTED;
SubscriptionSource::PROMO_GRANTED;

SubscriptionEventType::VPN_LOGIN;
SubscriptionEventType::VPN_CONNECTED;
SubscriptionEventType::VPN_SESSION_STARTED;
SubscriptionEventType::VPN_SESSION_ENDED;
SubscriptionEventType::VPN_LOCATION_SELECTED;
SubscriptionEventType::APP_OPENED;
SubscriptionEventType::PLAN_ACTIVATED;
SubscriptionEventType::PAYMENT_SUCCEEDED;
SubscriptionEventType::PAYMENT_FAILED;
SubscriptionEventType::SUBSCRIPTION_RENEWED;
SubscriptionEventType::SUBSCRIPTION_CANCELLED;
bash
php artisan vendor:publish --tag=stellar-subscription-config