本文整理汇总了PHP中Plan::isTrial方法的典型用法代码示例。如果您正苦于以下问题:PHP Plan::isTrial方法的具体用法?PHP Plan::isTrial怎么用?PHP Plan::isTrial使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Plan
的用法示例。
在下文中一共展示了Plan::isTrial方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: transaction
public function transaction($userId, $planId)
{
$user = new User($userId);
$plan = new Plan($planId);
$request = $this->getRequest()->request;
$planPeriodId = $request->get('plan_period');
$planPeriod = new Plans_period($planPeriodId);
$systemId = $request->get('system');
$system = new Payment_gateways($systemId);
$interval = new DateInterval('P' . $planPeriod->period . ucwords($planPeriod->qualifier));
/* @var Core\Service\Subscriber\Subscriber $subscriber */
$subscriber = $this->get('core.subscriber');
$subscriber->setUser($user);
if (!($planPeriod->price == 0 && $plan->isTrial())) {
$transactionManager = $this->get('core.payment.transactions.manager');
$transaction = $transactionManager->createForSubscription(array('amount' => $planPeriod->price, 'description' => 'subscribe on ' . $plan->name), $user, $system);
} else {
$subscriber->addTrialSubscription($plan, $interval);
if (!$this->ion_auth->logged_in()) {
$this->ion_auth->loginForce($user->email, true);
}
redirect('dashboard');
}
$subscriber->addNewSubscription($transaction, $plan, $interval);
if (!$this->ion_auth->logged_in()) {
$this->ion_auth->loginForce($user->email, true);
}
redirect('payment/pay/' . $transaction->id . '/' . $planPeriodId);
}