/** * Checkout step - Payment * * @access public */ public function action_paypal() { if (\Session::get('payment_key', false)) { \View::set_global('title', 'Redirecting to Pay Pal...'); $purchase_page = \Page\Model_Page::get_locked_pages('purchase_page', true); // Check if we have selected products to purchase \Session::get('checkout.products', false) or \Response::redirect(\Uri::front_create('page/' . $purchase_page->seo->slug)); if (\Input::post('save')) { $form = $this->save_order(); } // Expire session key \Session::delete('payment_key'); $this->page_theme = \Theme::instance()->set_partial('content', $this->view_dir . 'paypal'); isset($form) and $this->page_theme->set('payment_form', $form, false); } else { \Messages::info('Your payment session key has expired. Please return to checkout process and try again.'); \Response::redirect(\Uri::front_create()); } }
/** * Remove order product from session * and return form html * * @access public */ public function action_remove() { if (!\Input::is_ajax()) { throw new \HttpNotFoundException(); } $return['success'] = false; if (\Input::post('remove')) { $key = str_replace('.', '::', \Input::post('key', '')); \Session::set('checkout.total.price', \Session::get('checkout.total.price') - \Session::get('checkout.products.' . $key . '.price')); \Session::set('checkout.total.save', \Session::get('checkout.total.save') - \Session::get('checkout.products.' . $key . '.save')); \Session::delete('checkout.products.' . $key); // If cart is left empty we redirect user to previous page if (!\Session::get('checkout.products')) { $purchase_page = \Page\Model_Page::get_locked_pages('purchase_page', true); $return['redirect'] = \Uri::front_create('page/' . $purchase_page->seo->slug); } $return['success'] = true; $return['price'] = number_format(\Session::get('checkout.total.price'), 2); $return['save'] = number_format(\Session::get('checkout.total.save'), 2); } echo json_encode($return); }