if ($json_return->returnInfos->mCode != 0) { echo Tools::jsonEncode($json_return->returnInfos); } else { $fidbag_user = new FidbagUser((int) Tools::getValue('customer')); if (!$fidbag_user->getFidBagUser()) { $fidbag_user->createFidBagUser(); } $fidbag_user->setIdCart((int) Tools::getValue('cart')); $fidbag_cardnumber = $json_return->fidcardInformations->FidBagCardNumber; if (empty($fidbag_cardnumber)) { $create_temp_fidcard_arg = array('MerchantCode' => Configuration::get('FIDBAG_MERCHANT_CODE'), 'Email' => Tools::getValue('login')); $return_temp_fidcard_creation = $webService->action('CreateTempFidCard', $create_temp_fidcard_arg, $create_temp_fidcard_arg); if ($return_temp_fidcard_creation != null && isset($return_temp_fidcard_creation->CreateTempFidCardResult)) { $json_return = Tools::jsonDecode($return_temp_fidcard_creation->CreateTempFidCardResult); $fidbag_cardnumber = $json_return->CardNumber; } else { die(1); } } $fidbag_user->setCartNumber($fidbag_cardnumber); $fidbag_user->setPayed(false); $fidbag_user->setLoginPassword(Tools::getValue('login'), Tools::getValue('password')); die($return->LoginUserWithMerchantCodeAndExternalTokenResult); } } else { die("0"); } } catch (Exception $e) { die($e->getMessage()); } }
public function hookNewOrder($params) { if (!$this->_activeVerification()) { return false; } $fidbag_user = new FidbagUser($params['cart']->id_customer); $cart = new Cart($params['cart']->id); if ($fidbag_user->getFidBagUser() && !$fidbag_user->getPayed() && $cart->id == $fidbag_user->getIdCart()) { if (_PS_VERSION_ >= '1.5') { $discounts = $cart->getCartRules(); } else { $discounts = $cart->getDiscounts(); } if (count($discounts)) { foreach ($discounts as $key => $val) { if (strcmp($val['name'], 'Fid\'Bag') === 0) { if (_PS_VERSION_ >= '1.5') { $discount = new Discount($val['id_discount']); $discount_value = $discount->reduction_amount; } else { $discount = $val; $discount_value = $val['value']; } } } } $webService = new FidbagWebService(); $total_cart = $cart->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING); if (isset($discount_value) && (int) $discount_value > 0) { $return = $webService->action('ConsumeImmediateRebate', array('CardNumber' => $fidbag_user->getCardNumber(), 'MerchantCode' => Configuration::get('FIDBAG_MERCHANT_CODE'), 'Amount' => (int) $total_cart, 'RebateUsed' => (int) $discount_value, 'AmountDo' => (int) $total_cart)); $json_return = Tools::jsonDecode($return->ConsumeImmediateRebateResult); } else { $return = $webService->action('CreditFidCard', array('MerchantCode' => Configuration::get('FIDBAG_MERCHANT_CODE'), 'FidCardNumber' => $fidbag_user->getCardNumber(), 'PurchaseOrderAmountTTC' => (int) $total_cart)); $json_return = Tools::jsonDecode($return->CreditFidCardResult); } $fidbag_user->setPayed(true); } }