Skip to main content
Version: 2.0

Set Free Plan as default

How to see the free plan as default.

User Event

<?php

namespace App\User\Events;

use App\Entity\User;
use App\Repository\UserRepositoryInterface;
use Parthenon\Payments\Entity\Subscription;
use Parthenon\User\Event\PostUserSignupEvent;
use Parthenon\User\Event\PreUserSignupEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class UserSignup implements EventSubscriberInterface
{
public function __construct(private UserRepositoryInterface $userRepository)
{
$this->userRepository = $userRepository;
}

public function handleUserSignUp(PostUserSignupEvent $postUserSignupEvent)
{
/** @var User $user */
$user = $postUserSignupEvent->getUser();
$user->getTeam()->setSubscription(new Subscription());
$user->getTeam()->getSubscription()->setPlanName('free');
$this->userRepository->save($user);
}

public static function getSubscribedEvents()
{
return [
PostUserSignupEvent::NAME => 'handleUserSignUp',
];
}
}