public function notifyAction() { $payment = $this->getObject(); $payment->made_at = date("Y-m-d H:i:s"); $paypal = Wpjb_Payment_Factory::factory($payment); try { $paypal->processTransaction($this->getRequest()->getAll()); if ($payment->object_type == Wpjb_Model_Payment::FOR_JOB) { $this->_notifyJob($payment->object_id); } elseif ($payment->object_type == Wpjb_Model_Payment::FOR_RESUMES) { $this->_notifyResume($payment->object_id); } else { // wtf? } $payment->payment_paid = $this->getRequest()->post("mc_gross"); $payment->external_id = $this->getRequest()->post("txn_id"); $payment->is_valid = 1; $payment->save(); } catch (Exception $e) { $payment->message = $e->getMessage(); $payment->is_valid = 0; $payment->save(); } exit; return false; }
protected function _premiumRequest() { $object = Wpjb_Model_Employer::current(); $buy = (int) $this->_request->post("purchase", 0); $curr = Wpjb_List_Currency::getCurrencySymbol(Wpjb_Project::getInstance()->conf("cv_access_curr")); $this->view->payment = $curr . number_format(Wpjb_Project::getInstance()->conf("cv_access_cost"), 2); $this->view->active_until = $this->_activeUntil(); $this->view->purchase = 0; $this->view->form = new Wpjb_Form_Frontend_ResumesAccess(); if (!$this->isPost()) { return; } if (!$this->view->form->isValid($this->getRequest()->getAll())) { return; } $access = new Wpjb_Model_ResumesAccess(); $access->employer_id = Wpjb_Model_Employer::current()->getId(); $access->extend = Wpjb_Project::getInstance()->conf("cv_extend"); $access->created_at = date("Y-m-d H:i:s"); $access->save(); $payment = new Wpjb_Model_Payment(); $payment->object_type = Wpjb_Model_Payment::FOR_RESUMES; $payment->object_id = $access->getId(); $payment->user_id = $access->employer_id; $payment->engine = $this->view->form->getElement("payment_method")->getValue(); $payment->payment_currency = Wpjb_Project::getInstance()->conf("cv_access_curr"); $payment->payment_sum = Wpjb_Project::getInstance()->conf("cv_access_cost"); $payment->payment_paid = 0; $payment->save(); $paypal = Wpjb_Payment_Factory::factory($payment); $this->view->paypal = $paypal; $this->view->purchase = 1; }
public function paymentAction() { $payment = $this->getObject(); $button = Wpjb_Payment_Factory::factory($payment); $this->_setTitle(__("Payment", WPJB_DOMAIN)); if ($payment->payment_sum == $payment->payment_paid) { $this->view->_flash->addInfo(__("This payment was already processed correctly.", WPJB_DOMAIN)); return false; } if ($payment->object_type == 1) { $this->view->job = new Wpjb_Model_Job($payment->object_id); } $this->view->payment = $payment; $this->view->button = $button; $this->view->currency = Wpjb_List_Currency::getCurrencySymbol($payment->payment_currency); }
public function saveAction() { if (!$this->_canPost()) { wp_redirect($this->_stepAdd); } $this->view->current_step = 3; $form = new Wpjb_Form_AddJob(); $request = $this->getRequest(); $id = $request->session("wpjb.job_id"); if ($id < 1) { if ($form->isValid($request->session("wpjb.job", array()))) { $paymentMethod = $form->getElement("payment_method")->getValue(); $form->save(); $job = $form->getObject(); if (strlen($request->session("wpjb.job_logo_ext")) > 0) { $ext = $request->session("wpjb.job_logo_ext"); $path1 = Wpjb_List_Path::getPath("tmp_images"); $path2 = Wpjb_List_Path::getPath("user_images"); $oldName = $path1 . "/temp_" . session_id() . "." . $ext; $newName = $path2 . "/job_" . $job->getId() . "." . $ext; $job->company_logo_ext = $ext; $job->save(); rename($oldName, $newName); } if ($job->payment_sum > 0) { $uid = null; if (wp_get_current_user()->ID > 0) { $uid = wp_get_current_user()->ID; } $payment = new Wpjb_Model_Payment(); $payment->user_id = $uid; $payment->object_id = $job->getId(); $payment->object_type = Wpjb_Model_Payment::FOR_JOB; $payment->engine = $paymentMethod; $payment->payment_currency = $job->payment_currency; $payment->payment_sum = $job->payment_sum; $payment->payment_paid = 0; $payment->save(); } $request->setSessionParam("wpjb.job", null); $request->setSessionParam("wpjb.job_logo_ext", null); $request->setSessionParam("wpjb.job_id", $job->getId()); } else { wp_redirect(Wpjb_Project::getInstance()->getUrl() . "/" . $this->_getRouter()->linkTo("step_add")); } } else { $job = new Wpjb_Model_Job($id); } if ($job->payment_sum > 0) { if ($job->payment_sum != $job->payment_paid) { $action = "payment_form"; } else { $action = "payment_already_sent"; } } else { $action = "job_online"; if ($job->is_active && $job->is_approved) { $online = true; } else { $online = false; } $this->view->online = $online; } if ($action == "payment_form") { $payment = Wpjb_Payment_Factory::factory($job->getPayment(true)); $this->view->payment = $payment->render(); } $this->view->action = $action; $this->view->job = $job; }