public function initializeBilling(InitializeBillingRequest $request)
 {
     //TODO FAIRE UN SERVICE NON et des repository ?
     $category = $request->get('category');
     $uuid = base64_encode(time());
     $plan = config("plans.pricing.{$category}");
     $users_sup = $request->get('users');
     $plan['limits']['base'] = +$users_sup;
     $subscription = new Subscription();
     $subscription->price_base = $plan['price'];
     $subscription->category = $category;
     $subscription->price_current = $plan['price'] + $users_sup;
     //TODO CALCUL SAVANT
     $subscription->values = json_encode($plan);
     $subscription->is_active = false;
     $subscription->last_billing_uuid = $uuid;
     $billing = new Billing();
     $billing->uuid = $uuid;
     $billing->status = "NOT-BILLED";
     $billing->price = $subscription->price_current;
     $billing->is_billed = false;
     $subscription->organization()->associate($this->organization);
     $subscription->save();
     $billing->subscription()->associate($subscription);
     $billing->organization()->associate($this->organization);
     $billing->save();
     return redirect();
     //TODO ENV REDIRECT URL
 }
Пример #2
0
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function subscribe($id)
 {
     if (Auth::guest()) {
         return Redirect::to('/auth/login');
     } else {
         $subs = Subscription::where("subscriber_id", $id)->where("subscribed_id", Auth::user()->id)->get();
         if (!$subs) {
             return back();
         } else {
             $subscription = new Subscription();
             $subscription->subscriber_id = $id;
             $subscription->subscribed_id = Auth::user()->id;
             $subscription->save();
             return back();
         }
     }
 }
Пример #3
0
 public function process(ProcessRequest $request)
 {
     // Initialize paymill request
     // Create credit card payment
     $payment = new Payment();
     $payment->setToken($request->get('token'));
     $paymentResponse = $paymillRequest->create($payment);
     // Create subscription
     $subscription = new Subscription();
     $subscription->setAmount(30)->setPayment($paymentResponse->getId())->setCurrency('EUR')->setInterval('1 week,monday')->setName('Nova sub')->setPeriodOfValidity('2 YEAR')->setStartAt(time());
     $subscriptionResponse = $paymillRequest->create($subscription);
     // Save in database
     $paymentModel = new PaymentModel();
     $paymentModel->user_id = Auth::user()->id;
     $paymentModel->paymill_payment_id = $paymentResponse->getId();
     $paymentModel->save();
     // Save subscription
     $subscriptionModel = new SubscriptionModel();
     $subscriptionModel->user_id = Auth::user()->id;
     $subscriptionModel->paymill_subscription_id = $subscriptionResponse->getId();
     $subscriptionModel->save();
 }
Пример #4
0
 /**
  * @param $recipient
  */
 private function saveSubscription($recipient)
 {
     $result = $this->subscription->subscribe($recipient);
     $subscription = new SubscriptionModel();
     $subscription->number = $recipient;
     $subscription->status = $result->status;
     $subscription->description = $result->description;
     $subscription->save();
     Log::debug($recipient . ' is subscribed');
 }
Пример #5
0
 /**
  * Subscribe user with POST request.
  *
  * @param Request $request
  * @return mixed
  */
 public function postSubscription(Request $request)
 {
     $validator = Validator::make($request->all(), array('sub_email' => 'required|email|unique:subscriptions'), array('sub_email.required' => 'Please enter an e-mail address!', 'sub_email.email' => 'Please enter an correct e-mail address!', 'sub_email.unique' => 'Your already subscribed, please enter a different e-mail address!'));
     if ($validator->fails()) {
         return Redirect::route('home')->with('msg-error', 'Bad Email!')->withErrors($validator);
     } else {
         $s_email = new Subscription();
         $s_email->sub_email = $request['sub_email'];
         $s_email->user_ip = $request->getClientIp();
         if ($s_email->save()) {
             return Redirect::route('home')->with('msg-success', 'Your successfully subscribed with: <strong>' . $request['sub_email'] . '</strong>');
         }
     }
     return Redirect::route('home')->with('global', 'There was an error with sign in. Please try again later!');
 }