Jump to content
Latest News: (loading..)

Recommended Posts

@kevindownie

If you create several codes of different discounts, will they all come out so you can choose one at random? no, that's why the code is not shown, no code.
It is also for security because you can create a code for a specific client and if it was shown, any client could use it.


I have a variable that says that I enter a particular code when I want all my clients to use it. When it is not the case it does not say anything, it is shown as it comes by default. If someone is interested I can publish the necessary code here, but it is for an earlier version, for the new one it would have to be adapted.

Share this post


Link to post
Share on other sites
2 hours ago, BrockleyJohn said:

It's your maths that needs an apology not your English.

LMAO.  Too funny/

Dan

Share this post


Link to post
Share on other sites

@kevindownie, please read the following message:

https://forums.oscommerce.com/topic/407936-discount-code-bs/?do=findComment&comment=1745918

Please see also:

Install.txt:

SETUP/CONFIGURATION
4.
IMPORTANT:

Edited by raiwa

Share this post


Link to post
Share on other sites
2 hours ago, kevindownie said:

The original code is present and not altered or uncommented in checkout_payment.php, the HR shows but no Discount Code!

Your store is heavy modified, it even seems it's not based on 2.3.4 BS community version, but using a bootstrap based customized theme.

Please check the refenced code and you may need to adapt the css selector in the header tag. Please post your source code of  your checkout_payment.php for further advice. You could also ask the web design company who set up your store for help.

Share this post


Link to post
Share on other sites
2 hours ago, reflex-ocasion said:

@BrockleyJohn

They are the mathematics of my accountant.

Discounts are the amount off the normal retail price (either amount or %) ie

((normal price - sale price) / normal price) * 100

Markups are the difference between cost and retail price as a percentage of the cost price.

((retail - cost) / cost) * 100

Margins are the difference between cost and retail price as a percentage of the sale price.

((retail - cost) / retail) * 100

Your sums seem to mix these up - I doubt that your accountant does. If he/she does, get a new accountant and report them.

If the sale price has a discount of n% to find out the retail price:

retail = (sale price / (100 - n)) * 100


For a new install or if your store isn't mobile-friendly, get the community-supported responsive osCommerce (2.3.4.1 CE) here: https://github.com/gburton/Responsive-osCommerce/archive/2341-Frozen.zip

Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x

Share this post


Link to post
Share on other sites

Here is my code for checkout_payment.php

<?php
/*
  $Id$

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2010 osCommerce

  Released under the GNU General Public License
*/

  require('includes/application_top.php');

// if the customer is not logged on, redirect them to the login page
  if (!tep_session_is_registered('customer_id')) {
    $navigation->set_snapshot();
    tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
  }

// if there is nothing in the customers cart, redirect them to the shopping cart page
  if ($cart->count_contents() < 1) {
    tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
  }

// if no shipping method has been selected, redirect the customer to the shipping method selection page
  if (!tep_session_is_registered('shipping')) {
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
  }

// avoid hack attempts during the checkout procedure by checking the internal cartID
  if (isset($cart->cartID) && tep_session_is_registered('cartID')) {
    if ($cart->cartID != $cartID) {
      tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
    }
  }

// Stock Check
  if ( (STOCK_CHECK == 'true') && (STOCK_ALLOW_CHECKOUT != 'true') ) {
    $products = $cart->get_products();
    for ($i=0, $n=sizeof($products); $i<$n; $i++) {
      if (tep_check_stock($products[$i]['id'], $products[$i]['quantity'])) {
        tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
        break;
      }
    }
  }

// if no billing destination address was selected, use the customers own address as default
  if (!tep_session_is_registered('billto')) {
    tep_session_register('billto');
    $billto = $customer_default_address_id;
  } else {
// verify the selected billing address
    if ( (is_array($billto) && empty($billto)) || is_numeric($billto) ) {
      $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$billto . "'");
      $check_address = tep_db_fetch_array($check_address_query);

      if ($check_address['total'] != '1') {
        $billto = $customer_default_address_id;
        if (tep_session_is_registered('payment')) tep_session_unregister('payment');
      }
    }
  }

  require(DIR_WS_CLASSES . 'order.php');
  $order = new order;

  if (!tep_session_is_registered('comments')) tep_session_register('comments');
  if (isset($HTTP_POST_VARS['comments']) && tep_not_null($HTTP_POST_VARS['comments'])) {
    $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);
  }

  $total_weight = $cart->show_weight();
  $total_count = $cart->count_contents();

// load all enabled payment modules
  require(DIR_WS_CLASSES . 'payment.php');
  $payment_modules = new payment;

  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PAYMENT);

  $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
  $breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

  require(DIR_WS_INCLUDES . 'template_top.php');
?>

<script type="text/javascript"><!--
var selected;

function selectRowEffect(object, buttonSelect) {
  if (!selected) {
    if (document.getElementById) {
      selected = document.getElementById('defaultSelected');
    } else {
      selected = document.all['defaultSelected'];
    }
  }

  if (selected) selected.className = 'moduleRow';
  object.className = 'moduleRowSelected';
  selected = object;

// one button is not an array
  if (document.checkout_payment.payment[0]) {
    document.checkout_payment.payment[buttonSelect].checked=true;
  } else {
    document.checkout_payment.payment.checked=true;
  }
}

function rowOverEffect(object) {
  if (object.className == 'moduleRow') object.className = 'moduleRowOver';
}

function rowOutEffect(object) {
  if (object.className == 'moduleRowOver') object.className = 'moduleRow';
}
//--></script>
<?php echo $payment_modules->javascript_validation(); ?>

<div id="checkoutPayment" class="centerColumn">
<?php echo tep_draw_form('checkout_payment', tep_href_link(FILENAME_CHECKOUT_CONFIRMATION, '', 'SSL'), 'post', 'onsubmit="return check_form();"', true); ?>

<?php
  if (isset($HTTP_GET_VARS['payment_error']) && is_object(${$HTTP_GET_VARS['payment_error']}) && ($error = ${$HTTP_GET_VARS['payment_error']}->get_error())) {
?>

  <div class="contentText">
    <?php echo '<strong>' . tep_output_string_protected($error['title']) . '</strong>'; ?>

    <p class="alert-box alert-error"><?php echo tep_output_string_protected($error['error']); ?></p>
  </div>

<?php
  }
?>
    <header><h4><?php echo CHECKOUT_BAR_PAYMENT_1; ?></h4></header>
    <div>
      <div id="coProgressBar" style="height: 5px;"></div>

      <table border="0" width="100%" cellspacing="0" cellpadding="2">
        <tr>
          <td align="center" width="33%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_DELIVERY . '</a>'; ?></td>
          <td align="center" width="33%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_PAYMENT; ?></td>
          <td align="center" width="33%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td>
        </tr>
      </table>
    </div>
    <div class="content">
        <h4><?php echo TABLE_HEADING_BILLING_ADDRESS; ?></h4>
        <div class="row checkout-payment-content">
            <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12 billing-address">
                <span><?php echo TITLE_BILLING_ADDRESS; ?></span>
                  <address class="sendto-address">
                    <?php echo tep_address_label($customer_id, $billto, true, ' ', '<br />'); ?>
                  </address>
                  <span class="cart-buttons">
                      <?php echo tep_draw_button(IMAGE_BUTTON_CHANGE_ADDRESS, 'home', tep_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS, '', 'SSL')); ?>
                  </span>
            </div>
            <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12 billing-content">
                <div class="floatingBox important forward alert alert-info">
                    <?php echo TEXT_SELECTED_BILLING_DESTINATION; ?><br />
                </div>
            </div>
            <br class="clearBoth">
        </div>
          
    </div>
    
  <div style="clear: both;"></div>

 <div class="content">
  <h4><?php echo TABLE_HEADING_PAYMENT_METHOD; ?></h4>

<?php
  $selection = $payment_modules->selection();

  if (sizeof($selection) > 1) {
?>

  <div class="contentText">
    <div style="float: right;">
      <?php echo '<strong>' . TITLE_PLEASE_SELECT . '</strong>'; ?>
    </div>

    <?php echo TEXT_SELECT_PAYMENT_METHOD; ?>
  </div>

<?php
    } elseif ($free_shipping == false) {
?>

  <div class="contentText">
    <?php echo TEXT_ENTER_PAYMENT_INFORMATION; ?>
  </div>

<?php
    }
?>

  <div class="contentText">

<?php
  $radio_buttons = 0;
  for ($i=0, $n=sizeof($selection); $i<$n; $i++) {
?>

    <table border="0" width="100%" cellspacing="0" cellpadding="2">

<?php
    if ( ($selection[$i]['id'] == $payment) || ($n == 1) ) {
      echo '      <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n";
    } else {
      echo '      <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n";
    }
?>

        <td><strong><?php echo $selection[$i]['module']; ?></strong></td>
        <td align="right">

<?php
    if (sizeof($selection) > 1) {
      echo tep_draw_radio_field('payment', $selection[$i]['id'], ($selection[$i]['id'] == $payment));
    } else {
      echo tep_draw_hidden_field('payment', $selection[$i]['id']);
    }
?>

        </td>
      </tr>

<?php
    if (isset($selection[$i]['error'])) {
?>

      <tr>
        <td colspan="2"><?php echo $selection[$i]['error']; ?></td>
      </tr>

<?php
    } elseif (isset($selection[$i]['fields']) && is_array($selection[$i]['fields'])) {
?>

      <tr>
        <td colspan="2"><table border="0" cellspacing="0" cellpadding="2">

<?php
      for ($j=0, $n2=sizeof($selection[$i]['fields']); $j<$n2; $j++) {
?>

          <tr>
            <td><?php echo $selection[$i]['fields'][$j]['title']; ?></td>
            <td><?php echo $selection[$i]['fields'][$j]['field']; ?></td>
          </tr>

<?php
      }
?>

        </table></td>
      </tr>

<?php
    }
?>

    </table>

<?php
    $radio_buttons++;
  }
?>

  </div>
</div>

  <hr>

  <div class="contentText">
    <div class="form-group">
      <label for="inputComments" class="control-label col-sm-4"><?php echo TABLE_HEADING_COMMENTS; ?></label>
      
      
      </div></div>

  
    <div class="content">
        <div class="contentText" id="checkout_comments">
            <h4><?php echo TABLE_HEADING_COMMENTS; ?></h4>
              <?php echo tep_draw_textarea_field('comments', 'soft', '60', '5', $comments); ?>
          </div>
    </div>
  
      <div class="cart-buttons">
          <?php echo tep_draw_button(IMAGE_BUTTON_CONTINUE, 'triangle-1-e', null, 'primary'); ?>
    </div>
      <div class="chk-ship"><?php echo "Continue to Step 3 - choose your payment method.";?></div>
</div>
<script type="text/javascript">
$('#coProgressBar').progressbar({
  value: 66
});
</script>

</form>

<?php
  require(DIR_WS_INCLUDES . 'template_bottom.php');
  require(DIR_WS_INCLUDES . 'application_bottom.php');
?>
 

Share this post


Link to post
Share on other sites

Hello @kevindownie,

As suspected, your code base is not 2.3.4 BS community version. It is a modified/themed 2.3.4 standard version.

There is the referenced parent class "contentContainer" missing in your page. That's why it doesn't work.

22 hours ago, kevindownie said:

The original code is present and not altered or uncommented in checkout_payment.php, the HR shows but no Discount Code!

The discount code add-on is labelled for OsC 2.3.4 BS community version not for standard. Just adding the few lines doesn't convert your page to a unmodified 2.3.4 BS page. You should provide exact and complete information in your first message to get a fast and precise answer.

Solution:

Option A:

Add a <div> with the "contentContainer" class around the code reference (it's opened below the form line and closed at the end of the page in the original checkout_payment.php)

 

Option B:

in: includes/modules/header_tags/ht_discount_code/ht_discount_code.php

line 18 remove "div.contentContainer " so it looks like this:

        $('div.contentText .form-group').parent().before('<h2><?php echo TEXT_DISCOUNT_CODE; ?></h2><div class="col-xs-6 col-sm-3">\n\

Best regards

Rainer

Share this post


Link to post
Share on other sites

Many thanks Rainer, that's got it working for me!

I'm sorry if I misled regarding the code was not altered, I meant the bit you mentioned in the Install was not altered.

I really appreciate your support and thanks again.

Share this post


Link to post
Share on other sites

@BrockleyJohn

I doubt that the system will be able to distinguish between the cost price and the sale price. I can earn more from a product because it has little demand, while I can earn less from another product because it has a lot of demand and there is a lot of competition.

To do what he says he would have to create a code for some products and another code for other products. The problem is that someone buys a product from each group, you can only use a discount code, not both.

The other option is to create a general code for all products and this is where I say that the discount percentage is not applied correctly. Have you checked my mathematics with a calculator?

I am going to put a mathematical problem without a solution, I do not know how it will be translated...

I want to buy a shirt that costs 97. I do not have the money and I borrow it from my father (50) and my mother (50). I buy the shirt and I have 3. 1 for my father, 1 for my mother and 1 for me.

Up to here all right, right? now the impossible.

Since I have returned 1 to each one I still owe 49 to each one.

49 + 1 = 50 x 2 = 100

Where does 1 come from that was for me?

I doubt that the system will be able to distinguish between the cost price and the sale price. I can earn more from a product because it has little demand, while I can earn less from another product because it has a lot of demand and there is a lot of competition.

To do what he says he would have to create a code for some products and another code for other products. The problem is that someone buys a product from each group, you can only use a discount code, not both.

The other option is to create a general code for all products and this is where I say that the discount percentage is not applied correctly. Have you checked my mathematics with a calculator?

I am going to put a mathematical problem without a solution, I do not know how it will be translated.

I want to buy a shirt that costs 97. I do not have the money and I borrow it from my father (50) and my mother (50). I buy the shirt and I have 3. 1 for my father, 1 for my mother and 1 for me.

Up to here all right, right? now the impossible.

Since I have returned 1 to each one I still owe 49 to each one.

Where does 1 come from that was for me?

I doubt that the system will be able to distinguish between the cost price and the sale price. I can earn more from a product because it has little demand, while I can earn less from another product because it has a lot of demand and there is a lot of competition.

To do what he says he would have to create a code for some products and another code for other products. The problem is that someone buys a product from each group, you can only use a discount code, not both.

The other option is to create a general code for all products and this is where I say that the discount percentage is not applied correctly. Have you checked my mathematics with a calculator?

I am going to put a mathematical problem without a solution, I do not know how it will be translated.

I want to buy a shirt that costs 97. I do not have the money and I borrow it from my father (50) and my mother (50). I buy the shirt and I have 3. 1 for my father, 1 for my mother and 1 for me.

Up to here all right, right? now the impossible.

Since I have returned 1 to each one I still owe 49 to each one.

49 + 1 = 50 x 2 = 100

Where does 1 come from that was for me?

 

The mathematics is not exact as you can see.

Share this post


Link to post
Share on other sites

@reflex-ocasion

 

18 minutes ago, reflex-ocasion said:


I am going to put a mathematical problem without a solution, I do not know how it will be translated...

I want to buy a shirt that costs 97. I do not have the money and I borrow it from my father (50) and my mother (50). I buy the shirt and I have 3. 1 for my father, 1 for my mother and 1 for me.

Up to here all right, right? now the impossible.

Since I have returned 1 to each one I still owe 49 to each one.

49 + 1 = 50 x 2 = 100

Where does 1 come from that was for me?

You borrowed $50 from each ($100 total), but only spent $97 of it on the shirt. Of the difference ($3), $1 went to each of them, and $1 went to you.

 


If you are running the "official" osC 2.3.4 or 2.3.4.1 download, your installation is obsolete! Get the latest community-supported responsive "Frozen" release here

Share this post


Link to post
Share on other sites

I do not know why the comment has been repeated. Does not matter.

To each of my parents I return 1 and then I return the remaining 49.

50 of my father + 50 of my mother = 100

100 - 97 = 3 (1 for my father, 1 for my mother and 1 for me)

First I return 1 and then I return 49 = 50 x 2 (50 for my father and 50 for my mother) = 100

It is not explained where the 1 that I left the return of the purchase of the shirt. I have returned all borrowed money and still spare me 1.

The mathematics is not exact as you can see. That is the question.

 

Share this post


Link to post
Share on other sites

No matter what order you put it in, the result is always the same, at least in the test store because in the live right now I do not know. In the live store I have many more options and so you see the discount is done to the total amount, with taxes and shipping included.

Calculator in hand what we see on the screen is correct. If we go deeper and try to obtain the discount percentage that has been applied, the result is no longer the same, it is wrong, it makes more discount than it should really do.

You say it's okay and I disagree. Let's leave it there, let's not continue the discussion because it's like the example that I put before the leftover that appears by magic.

 

discount codes 2.jpg

discount codes 1.jpg

Share this post


Link to post
Share on other sites

@reflex-ocasion

I thought this was answered already....the discount is applied to Order Subtotal OR Shipping, not both.  

As I understand it that is the way the contribution works. I suppose if you want it to do something else you could code it up or have/hire someone to do it for you.  There is nothing wrong with the math.

Dan

 

Share this post


Link to post
Share on other sites
7 hours ago, reflex-ocasion said:

it's like the example that I put before the leftover that appears by magic.

There isn't much magic in 98 - 97 = 1

Suggested reading and practice exercises: https://www.mathgoodies.com/lessons/percent/sale_price


For a new install or if your store isn't mobile-friendly, get the community-supported responsive osCommerce (2.3.4.1 CE) here: https://github.com/gburton/Responsive-osCommerce/archive/2341-Frozen.zip

Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x

Share this post


Link to post
Share on other sites
7 hours ago, reflex-ocasion said:

No matter what order you put it in, the result is always the same, at least in the test store because in the live right now I do not know. In the live store I have many more options and so you see the discount is done to the total amount, with taxes and shipping included.

Calculator in hand what we see on the screen is correct. If we go deeper and try to obtain the discount percentage that has been applied, the result is no longer the same, it is wrong, it makes more discount than it should really do.

You say it's okay and I disagree. Let's leave it there, let's not continue the discussion because it's like the example that I put before the leftover that appears by magic.

 

discount codes 2.jpg

discount codes 1.jpg

All correct here:

Subtotal 322.37 * 0.4 (40% discount) = 128,948 discount

Total: 332.27 - Discount  128.95 = Total 203.32

Whats the problem?

I explained you alreday in the PM before all of these messages here: The only issue is that you have the standard subtotal below the tax, so discount is applied on order subtotal incl. tax.

If you wish to apply it without tax, use the standard ot-subtotal before tax and the modified ot "base imponible" after tax (obviously with changed, inverted labels).

Or edit ot-discount and change all instances of "order_subtotal" to whatever is the name of "base imponible" in your order class.

Your setup is not standard and if you wish to use discount code for your particular setup it needs to be adapted.

There is NOTHING wrong with discount coupon.

Again: discount is applied to subtotal (NOT "Base Imponible") or shipping. If you wants something different, up to you to modify and adapt it.

 

 

Edited by raiwa

Share this post


Link to post
Share on other sites

I have done all kinds of tests. I have changed the order of the modules and I have even modified ot_discount changing, as indicated, subtotal by subtotal_ex which is the price without taxes. The result is always the same, an erroneous %. Sometimes it gives a quantity and sometimes it gives another quantity, but never the correct one.

Show what the screen shows, no matter what order each module is in or what module the discount applies to, adding and subtracting all the quantities always gives an apparently correct result. I have never said that is wrong. What I'm saying is that the % shown is not the correct one.

The discount can be applied to the subtotal or to the shipment, not to both. In that I agree because it is how the addon works and I see it very reasonable. The second image is from my live store and the discount is made to the total, not the subtotal. It is version 3.3 of this same addon and also gives an erroneous result. I have not modified anything, I have only translated it into Spanish.

What I do not agree with is how the discount is made, specifically when I want to make a percentage discount. When it is a fixed amount there is no problem, the problem is, according to my suppliers and my accountant, when obtaining the %. Maybe my suppliers, my accountant and I are wrong and maybe not.

 

In my old store 2.2rc2a I used another addon that got the % discount correctly. I will look for it and adapt it to BS edge, I will not continue discussing this issue further.


It is very possible that part of the problem is that you can not explain correctly. It is one thing to get the % discount and another thing is to verify that it is correct by adding that same % that has been previously discounted. And I say add the %, do not add the amount obtained.
If 180 I add 40% I get 252 instead of 300. If 180 I add 120 of course I get 300. Then 180 is not 40% discount of 300, is 66.6666%.

 

I said, I will not continue discussing this issue further. I may be wrong and I may not be.

Share this post


Link to post
Share on other sites

@reflex-ocasion Alfanso if you mark something up by 40% ie $180 + .40% and mark something down by 40% ie $300 - .40% you will never get the same answer.  You are marking down a higher amount and marking up a smaller amount. The percentage is the same but the amount you are applying it to is different so the results are different.  That is just basic math and I'm sure you can see that....it doesn't matter what version of the discount coupon module or osC you are using, that is just the way the math works.  Perhaps for clarity you simply need to alter the text description to have it say what you and your accountant intend.    

Dan

Share this post


Link to post
Share on other sites

If I add taxes to an amount, how do I break it down later?

The tax module works perfectly, and with my mathematics. See second capture, the one from my store live and check. I repeat it here so I do not have to turn the page back.

By that same rule of 3 the discount percentage must work the same and it does not. It does not matter if it is with the shipping included or not, it does not matter if it is with taxes included or not, the percentage that shows is not the correct one.

You must show a percentage equal to that of taxes, if it is 21% then 21, if 40% then 40. What it does is that if it is 40% it shows 66.6666%

Because the breakdown of taxes is correct while the breakdown of the discount is not?

266.42 + 21% = 322.37 is ok

203.32 + 40% = 284.65 NOT is ok. Nevertheless 203.32 + 65% = 335.48 which is more or less correct.

discount codes 1.jpg

Share this post


Link to post
Share on other sites

$322.37 - 40% = $128.95 which is correct.  It is giving you 40% of both the base cost and related taxes...which is how it should work....at least in our area.   Why are you trying to get a mark up % on the net cost?

Dan

Share this post


Link to post
Share on other sites

322.37 - 21% = 254.67

It is the same operation with taxes.

To break down a percentage you do not subtract that percentage, it is divided. Neither is it multiplied nor do other subsequent operations, it simply divides.

322.37 subtotal / 1.21 tax = 266.42                  322.37 - 266.42 = 55.95

322.37 subtotal / 1.40 discount = 230.26                  322.37 - 230.26 = 92.11

332.27 total / 1.40 discount = 237.34                   332.27 - 237.34 = 94.93

The tax module is the best proof that the discount module does not correctly apply the percentage. A fixed amount yes, the percentage does not.

It does not matter if the discount is total or subtotal, the result should be 94 or 92 depending on whether it applies, not 128 as shown.

Share this post


Link to post
Share on other sites

Hello  @Tsimi
We have been using this addon for awhile  and working well ,  today when we create discount 20%  or 20€  they are duplicate in the  checkout_confirmation.php
example :
subtotal                          100€
discount (20%)           -20€   same if we use  20€
TAX                                   24€
Total                               60€

it should be the total 80€

Any ideas?

Edited by Omar_one

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×