Exemplo n.º 1
0
            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());
    }
}
Exemplo n.º 2
0
 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);
     }
 }