/** * @return \Illuminate\Http\RedirectResponse * Lands to this page right after the Payment Process */ public function getFinal() { $token = Input::get('t'); // site generated token $payment = $this->paymentRepository->findByToken($token); if (!$payment) { return Redirect::action('EventsController@index')->with('error', trans('word.invalid_token')); } $payment->payer_id = Input::get('PayerID'); $payment->payment_token = Input::get('token'); // token from the payment vendor if (Input::get('success') == true) { $payer = new Paypal(); $payer->executePayment($payment->transaction_id, $payment->payer_id); $payment->status = 'CONFIRMED'; $payment->token = ''; // set token to null $payment->save(); // Subscribe the User $controller = App::make('SubscriptionsController'); // Get The Event to Pass to the Subscription Function $event = $payment->payable->event; $controller->callAction('subscribe', [$event->id, 'PAYMENT']); //todo pass the event ID return Redirect::action('EventsController@getSuggestedEvents', $event->id)->with('success', trans('general.subscribed')); } // If Transaction Failed $payment->status = 'REJECTED'; $payment->save(); return Redirect::action('EventsController@index')->with('error', trans('general.subscription_error')); }
public function index() { $status = Input::get('status'); $type = Input::get('type'); if (!isset($type)) { $type = 'payment'; } if ($type == 'payment') { if (isset($status)) { $payments = $this->paymentRepository->getAllByStatus($status, ['user', 'payable.event']); } else { $payments = $this->paymentRepository->getAll(['user', 'payable.event']); } } else { // refunds dd('Not Yet Implemented'); } $this->render('admin.payments.index', compact('payments', 'type', 'status')); }