function generateConfirm($payment_method) { $msc = oseRegistry::call('msc'); $country = JRequest::getCmd('bill_country', null); $state = JRequest::getCmd('bill_state', 'all'); $taxParams = oseMscPublic::getTax($country, $state); $cart = oseMscPublic::getCart(); $cart->updateTaxParams('country', $country); $cart->updateTaxParams('state', $state); $cart->updateTaxParams('rate', $taxParams['rate']); $cart->updateTaxParams('file_control', $taxParams['file_control']); $cart->updateTaxParams('has_file_control', $taxParams['has_file_control']); $cart->updateTaxParams('vat_number', $taxParams['vat_number']); $cart->refreshSubTotal(); $msc_id = JRequest::getInt('msc_id',0); $msc_option = JRequest::getCmd('msc_option',null); $item = array('entry_id'=>$msc_id,'entry_type'=>'msc','msc_option'=>$msc_option); $cart->addItem($item['entry_id'],$item['entry_type'],$item); $cart->update(); $cart->refreshCartItems(); $items = $cart->get('items'); $item = $items[0]; $msc_id = oseMscPublic::getEntryMscID($item); $msc_option = oseObject::getValue($item, 'msc_option'); $payment_mode = oseMscPublic::getPaymentMode('payment_payment_mode'); $payment_mode = oseMscPublic::savePaymentMode(); $node = $msc->getInfo($msc_id, 'obj'); $draw = new oseMscListDraw(); $payment = oseRegistry::call('payment'); $paymentView = $payment->getInstance('View'); $items = $cart->get('items'); $subtotal = oseMscPublic::getSubtotal(); $total = $cart->get('total'); $discount = $cart->get('discount'); $osePaymentCurrency = $cart->get('currency'); $item = $items[0]; $array = array(); $array['title'] = $draw->drawFirstTitle(oseObject::getValue($item, 'title'), oseObject::getValue($item, 'leaf')); if (oseObject::getValue($item, 'leaf')) { if (oseObject::getValue($item, 'recurrence_mode', 'period') == 'fixed') { $price = oseObject::getValue($item, 'second_price') . ' ' . oseObject::getValue($item, 'standard_recurrence'); $paymentPre = JText::_('MANUAL_BILLING'); } else { if ($payment_mode == 'a') { $price = oseObject::getValue($item, 'second_price') . ' ' . JText::_('FOR_EVERY') . ' ' . oseObject::getValue($item, 'standard_recurrence'); if (oseObject::getValue($item, 'has_trial')) { $price .= ' (' . oseObject::getValue($item, 'first_price') . ' ' . JText::_('IN_THE_FIRST') . ' ' . oseObject::getValue($item, 'trial_recurrence') . ')'; } $paymentPre = JText::_('AUTOMATIC_BILLING'); } else { if (oseObject::getValue($item, 'eternal')) { $price = oseObject::getValue($item, 'second_price') . ' ' . JText::_('FOR_LIFETIME'); } else { $price = oseObject::getValue($item, 'second_price') . ' ' . JText::_('FOR_EVERY') . ' ' . oseObject::getValue($item, 'standard_recurrence'); } $paymentPre = JText::_('MANUAL_BILLING'); } } $array['price'] = $draw->drawPrice(JText::_('BILLING_PLAN') . ': ' . $price); $array['payment_preference'] = '<div id="ose-confirm-preference">' . JText::_('PAYMENT_PREFERENCE') . ': ' . $paymentPre . '</div>'; $gwInfo = oseRegistry::call('payment')->getInstance('GateWay')->getGWInfo($payment_method); if ($payment_method == 'oospay') { $payment_method = 'Garanti Bankası Güvenli Ödeme Noktası'; } if (!empty($gwInfo) && $gwInfo->is_cc) { $array['payment_method'] = '<div id="ose-confirm-method">' . JText::_('PAYMENT_METHOD') . ': ' . JText::_('CREDIT_CARD') . '</div>'; ; } else { $array['payment_method'] = '<div id="ose-confirm-method">' . JText::_('PAYMENT_METHOD') . ': ' . JText::_(ucfirst($payment_method)) . '</div>'; } $array['subtotal'] = '<div id="osetotalcosts"><div class="items">' . JText::_('SUBTOTAL') . ': ' . $osePaymentCurrency . ' ' . $subtotal . '</div>'; $array['discount'] = '<div class="items">' . JText::_('DISCOUNT') . ': ' . $osePaymentCurrency . ' ' . $discount . '</div>'; $array['tax'] = '<div class="items">' . JText::_('TAX') . ' (@' . $cart->getTaxParams('rate', '0') . '%): ' . $osePaymentCurrency . ' ' . $cart->getTaxParams('amount', '0.00') . '</div>'; if ($cart->getTaxParams('amount', 0) > 0) { if ($cart->getTaxParams('vat_number', false)) { $array['tax_vat_number'] = '<div class="items">' . JText::_('VAT_NUMBER') . ': ' . $cart->getTaxParams('vat_number') . '</div>'; } } $array['total'] = '<div class="items" id ="osegradntotal">' . JText::_('GRANT_TOTAL') . ': ' . $osePaymentCurrency . ' ' . $total . '</div></div>'; } if (is_array($array)) { $array = implode("\r\n", $array); } $divSelectedRow = $draw->drawDiv('ose-selected-row'); $array = '<div class="ose-selected-heading">' . JText::_('SELECTED_MEMBERSHIP') . '</div>' . "\r\n" . $array; $html = sprintf($divSelectedRow, "\r\n" . $array . "\r\n"); return $html; }
function generateConfirm($payment_method) { $msc = oseRegistry::call('msc'); $country = JRequest::getCmd('bill_country', null); $state = JRequest::getCmd('bill_state', null); $taxParams = oseMscPublic::getTax($country, $state); $cart = oseMscPublic::getCart(); $cart->updateTaxParams('country', $country); $cart->updateTaxParams('state', $state); $cart->updateTaxParams('rate', $taxParams['rate']); $cart->updateTaxParams('file_control', $taxParams['file_control']); $cart->updateTaxParams('has_file_control', $taxParams['has_file_control']); $cart->refreshSubTotal(); $items = $cart->get('items'); $item = $items[0]; $msc_id = oseMscPublic::getEntryMscID($item); $msc_option = oseObject::getValue($item, 'msc_option'); $payment_mode = $cart->getParams('payment_mode'); $node = $msc->getInfo($msc_id, 'obj'); $draw = new oseMscListDraw(); $payment = oseRegistry::call('payment'); $paymentView = $payment->getInstance('View'); $items = $cart->get('items'); $subtotal = oseMscPublic::getSubtotal(); $total = $cart->get('total'); $discount = $cart->get('discount'); $osePaymentCurrency = $cart->get('currency'); $item = $items[0]; $array = array(); $array['title'] = $draw->drawFirstTitle(oseObject::getValue($item, 'title'), oseObject::getValue($item, 'leaf')); if (oseObject::getValue($item, 'leaf')) { if ($payment_mode == 'a') { $price = oseObject::getValue($item, 'second_price') . ' for every ' . oseObject::getValue($item, 'standard_recurrence'); if (oseObject::getValue($item, 'has_trial')) { $price .= ' (' . oseObject::getValue($item, 'first_price') . ' in the first ' . oseObject::getValue($item, 'trial_recurrence') . ')'; } $paymentPre = 'Automatic Billing '; } else { if (oseObject::getValue($item, 'eternal')) { $price = oseObject::getValue($item, 'second_price') . ' for lifetime'; } else { $price = oseObject::getValue($item, 'second_price') . ' for every ' . oseObject::getValue($item, 'standard_recurrence'); } $paymentPre = 'Manual Billing '; } $array['price'] = $draw->drawPrice('Billing Plan: ' . $price); $array['payment_preference'] = '<div id="ose-confirm-preference">Payment Preference: ' . $paymentPre . '</div>'; if ($payment_method == 'authorize' || $payment_method == 'paypal_cc' || $payment_method == 'eway') { $array['payment_method'] = '<div id="ose-confirm-method">Payment Method: Credit Card</div>'; ; } else { $array['payment_method'] = '<div id="ose-confirm-method">Payment Method: ' . JText::_(ucfirst($payment_method)) . '</div>'; } $array['subtotal'] = '<div id="osetotalcosts"><div class="items">Subtotal: ' . $osePaymentCurrency . ' ' . $subtotal . '</div>'; $array['discount'] = '<div class="items">Discount: ' . $osePaymentCurrency . ' ' . $discount . '</div>'; $array['tax'] = '<div class="items">Tax: ' . $osePaymentCurrency . ' ' . $cart->getTaxParams('amount', '0.00') . '</div>'; $array['total'] = '<div class="items" id ="osegradntotal">Grand Total: ' . $osePaymentCurrency . ' ' . $total . '</div></div>'; } if (is_array($array)) { $array = implode("\r\n", $array); } $divSelectedRow = $draw->drawDiv('ose-selected-row'); $array = '<div class="ose-selected-heading">' . JText::_('Selected Membership') . '</div>' . "\r\n" . $array; $html = sprintf($divSelectedRow, "\r\n" . $array . "\r\n"); return $html; }
private function toPaymentOS() { $model = $this->getModel('register'); $post = JRequest::get('POST'); $post['payment_method'] = $payment_method = oseMscPublic::getPaymentMethod(); $cart = oseMscPublic::getCart(); $items = $cart->get('items'); $item = $items[0]; $payment_mode = $cart->getParams('payment_mode'); $msc_id = oseMscPublic::getEntryMscID($item); $allow_to_join = $this->checkJoiningControl($msc_id); if ($allow_to_join == false) { $result['success'] = false; $result['title'] = JText::_('Error'); $result['content'] = JText::_('Permission denied, this membership is for members only!'); $result = oseJson::encode($result); oseExit($result); } $msc_option = JRequest::getCmd('msc_option', null); if (empty($payment_mode)) { $result['success'] = false; $result['title'] = JText::_('Error!'); $result['content'] = JText::_('Fail Paying...'); return $result; } if (empty($msc_id)) { $result['success'] = false; $result['title'] = JText::_('Error!'); $result['content'] = JText::_('Fail Paying...'); return $result; } $list = oseMscAddon::getAddonList('registerOS_body', false, 1, 'obj'); $list = oseMscPublic::filter($list, array('juser'), false); foreach ($list as $addon) { $action_name = oseMscAddon::getActionName($addon, 'formValidate', 'register'); $updated = oseMscAddon::runAction($action_name, array('inner' => true)); if (!$updated['success']) { return $updated; } } $user = oseMscPublic::getUser(); $params['member_id'] = $user->id; $params['payment_method'] = $payment_method; oseRegistry::call('msc')->runAddonAction('member.billinginfo.save'); oseRegistry::call('msc')->runAddonAction('register.profile.save', $params); $order = oseRegistry::call('msc')->runAddonAction('register.payment.save', $params); $order_id = $order['order_id']; if ($order_id) { $updated = $model->processPayment($order_id, $post, $msc_option); $result = $updated; if (is_array($result)) { $result['order_id'] = $order_id; } } else { $result['success'] = false; $result['title'] = JText::_('Error!'); $result['content'] = JText::_('Fail Creating Order...'); } return $result; }
function add() { $db = oseDB::instance(); $coupon_code = JRequest::getCmd('coupon_code',null); $result = array(); if(empty($coupon_code)) { $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('THE_COUPON_IS_INVALID'); } else { $config = oseMscConfig::getConfig('coupon','obj'); if(oseObject::getValue($config,'wildcard_enabled',false)) { $white_pass_minlength = oseObject::getValue($config,'wildcard_minlength',10); if(strlen($coupon_code) < $white_pass_minlength) { $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('THE COUPON CODE MINIMUM LENGTH IS').' '.$white_pass_minlength; $result = oseJson::encode($result); oseExit($result); } $code = $db->Quote($coupon_code); $query = " SELECT * FROM `#__osemsc_coupon`" ." WHERE {$code} LIKE CONCAT('%',`code`)" ; } else { $code = $db->Quote($coupon_code); $query = " SELECT * FROM `#__osemsc_coupon`" ." WHERE code = {$code}" ; } $db->setQuery($query); $item = oseDB::loadItem('obj'); $couponParams = oseJson::decode(oseObject::getValue($item,'params','{}')); if(empty($item) ) { $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('THE_COUPON_IS_INVALID'); } else { $user = oseMscPublic::getUser(); $cart = oseMscPublic::getCart(); // check range 1 if(!$user->guest) { $query = " SELECT COUNT(*) FROM `#__osemsc_member`" ." WHERE `member_id` = '{$user->id}'" ; $db->setQuery($query); $hasMsc = $db->loadResult(); $itemParams = oseJson::decode($item->params); if($hasMsc > 0 && $itemParams->range == 'new_member_only') { $cart->updateParams('coupon',null); $cart->update(); $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('COUPON_RANGE_NOT_MATCH'); return $result; } } // check range 2 $items= $cart->get('items'); foreach ($items as $tmpitem) { $cartitem= $tmpitem; break; } if(!empty($cartitem)) { $params = oseJson::decode($item->params); $msc_id = oseMscPublic :: getEntryMscID($cartitem); $mscs = $params->msc_ids; if($mscs != 'all') { if(!is_array($mscs)) { $mscs = explode(',',$mscs); } if(!in_array($msc_id,$mscs)) { $cart->updateParams('coupon',null); $cart->update(); $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('THE_COUPON_IS_INVALID'); return $result; } } $coupon_currencies = explode(",", oseObject::getValue($couponParams,'currencies','')); $session =& JFactory::getSession(); $currency = $session->get('osePaymentCurrency',oseRegistry::call('msc')->getConfig('currency','obj')->primary_currency); if(empty($coupon_currencies)) { } else { if(!in_array('all',$coupon_currencies) && !in_array($currency, $coupon_currencies)) { $allowCurrencies = implode("OR", $coupon_currencies); $cart->updateParams('coupon',null); $cart->update(); $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('THE_COUPON_CANNOT_BE_APPLIED_IN_THIS_CURRENCY').$allowCurrencies; return $result; } } } // check amount $query = " SELECT COUNT(*) FROM `#__osemsc_coupon_user`" ." WHERE `coupon_id` = '{$item->id}' AND `paid` = '1'" ; $db->setQuery($query); $used = $db->loadResult(); if($item->amount_infinity != 1 && $used >= $item->amount) { $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('COUPON_USED_OUT'); return $result; } $result['success'] = true; $result['title'] = JText::_('SUCCEED'); $result['content'] = JText::_('COUPON_DISCOUNT_APPLIED'); $result['is_free_manual'] = false; //check the total amount $query = "SELECT frontend_enabled FROM `#__osemsc_addon` WHERE `name` = 'payment_mode'"; $db->setQuery($query); $enabled = $db->loadResult(); if($enabled) { $payment_mode = $cart->getParams('payment_mode'); }else { $payment_mode = oseMscPublic::getPaymentMode('payment_payment_mode'); $payment_mode = oseMscPublic::savePaymentMode(); $payment_mode = $cart->getParams('payment_mode'); } if($payment_mode == 'm') { if($item->discount_type == 'rate' && $item->discount == 100) { $result['is_free_manual'] = true; }else{ $items= $cart->get('items'); $cartitem= $items[0]; $price = oseObject :: getValue($cartitem, 'standard_raw_price'); if($price <= $item->discount) { $result['is_free_manual'] = true; } } } $cart->updateParams('coupon_range',oseObject::getValue($couponParams,'range','all')); $cart->updateParams('coupon_range2',oseObject::getValue($couponParams,'range2','first')); $cart->updateParams('coupon_discount',$item->discount); $cart->updateParams('coupon_discount_type',$item->discount_type); $cart->updateParams('coupon_currencies',oseObject::getValue($couponParams,'currencies','all')); $couponParams = oseJson::decode($item->params); $couponNumber = $cart->getParams('coupon_number'); if($coupon_code == $cart->getParams('coupon')) { // $cart->updateParams('coupon_msc_ids',$couponParams->msc_ids); } else { $cart->updateParams('coupon',$coupon_code); $cart->updateParams('coupon_id',$item->id); if($user->guest) { $cart->updateParams('coupon_number',uniqid('guest_')); } else { $cart->updateParams('coupon_number',uniqid($user->id.'_')); } $cart->updateParams('coupon_msc_ids',$couponParams->msc_ids); } $updated = $this->updateCoupon($item,$cart->getParams('coupon_number')); if($updated) { $cart->updateParams('coupon_user_id',$updated); } //$cart->cart['params'] = array(); $cart->update(); } } $result = oseJson::encode($result); oseExit($result); }
function getPaymentMsc() { $session = JFactory::getSession(); $items = oseMscPublic::getCartItems(); $oseMscPayment = $items[0]; $model = $this->getModel('payment'); $msc_id = oseMscPublic::getEntryMscID($oseMscPayment); $item = $model->getPaymentMsc($msc_id, oseObject::getValue($oseMscPayment, 'msc_option')); $result = array(); if (!empty($item)) { $result['total'] = 1; $result['results'] = $item; } else { $result['total'] = 0; $result['results'] = array(); } $result = oseJson::encode($result); oseExit($result); }