Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

nbkvh1i

Pioneers
  • Posts

    21
  • Joined

  • Last visited

  • Days Won

    1

nbkvh1i last won the day on November 24 2016

nbkvh1i had the most liked content!

Profile Information

  • Real Name
    Ed Campbell

nbkvh1i's Achievements

  1. We did find one a bit of flaw/bug in the logic. What I discovered is that we needed apply a second layer or break up the logic a bit more. So, if the OSC Orders Module is off is one condition and the error should be check every time. Then if it is on we need to add the compound check that it is below the minimal amount. I think in my first attempt I was trying to combine the two and that left some use cases open that should have executed the error check. Here is the revised if statement: // If a shipping method has not been selected for all vendors, redirect the customer to the shipping method selection page if (SELECT_VENDOR_SHIPPING == 'true') { // This test only works under MVS if (!is_array ($shipping['vendor']) || count ($shipping['vendor']) != count ($cart->vendor_shipping)) { // No shipping selected or not all selected if (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING != 'true') { //check to see if free shipping at the total char level it configured tep_redirect (tep_href_link (FILENAME_CHECKOUT_SHIPPING, 'error_message=' . ERROR_NO_SHIPPING_SELECTED, 'SSL')); } elseif((MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') && ($cart->total <= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER)) { //check to see if free shipping at the total char level it configured tep_redirect (tep_href_link (FILENAME_CHECKOUT_SHIPPING, 'error_message=' . ERROR_NO_SHIPPING_SELECTED, 'SSL')); } } } We are finding one other issue. And this is more user frustration type of flaw. I have not researched it, however, I think there is bug within the OSC Order Module within Checkout_Shipping.PHP page using grand total vs. cart sub-total. Here is the failed use case: A user creates an order that is below the minimal free shipping amount. They enter the checkout process and select one or more shipping options (if they have more than one vendor’s product). All seems to work without issue unless they abandon the checkout process (to go back and modify the cart items) after selecting one or more shipping methods. What happens is that when they re-execute the checkout process they may get displayed that they qualify for free shipping even thru the cart amount is still below the minimal amount. What I believe is occurring is that what OSC is using is looking at the total order amount and not the cart sub-total amount. Because if the total order amount is over (with the prior selected shipping amounts) then they are getting displayed free shipping. Now, the funny thing is that the checkout_confirmation.php logic above is trapping for and sending back to select a new shipping method for the order because the cart amount is still below the minimal and no revised shipping method(s) was selected. I could see this as point of frustration for a user being told they get free shipping and at very end they don’t qualify. I am going to take a look at the logic within checkout_shipping.php to see if I can find what it is using.
  2. In case someone ever wants to do free shipping at the cart/order total value level here is what I changed (and Jim let me know if you can see any issues). I took advantage of the constants and the fact that application_top stores the total of the shopping chart. : In the checkout_payment.php around line 26 changed: // 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')); } TO: // if no shipping method has been selected, redirect the customer to the shipping method selection page if (!tep_session_is_registered('shipping')) { if ((MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING != 'true') && ($cart->total >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER)) {//check to see if free shipping at the total cart level it configured tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); } } And in checkout_confirmation.php around line 20: // If a shipping method has not been selected for all vendors, redirect the customer to the shipping method selection page if (SELECT_VENDOR_SHIPPING == 'true') { // This test only works under MVS if (!is_array ($shipping['vendor']) || count ($shipping['vendor']) != count ($cart->vendor_shipping)) { // No shipping selected or not all selected tep_redirect (tep_href_link (FILENAME_CHECKOUT_SHIPPING, 'error_message=' . ERROR_NO_SHIPPING_SELECTED, 'SSL')); } } TO: // If a shipping method has not been selected for all vendors, redirect the customer to the shipping method selection page if (SELECT_VENDOR_SHIPPING == 'true') { // This test only works under MVS if (!is_array ($shipping['vendor']) || count ($shipping['vendor']) != count ($cart->vendor_shipping)) { // No shipping selected or not all selected if ((MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING != 'true') && ($cart->total >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER)) { //check to see if free shipping at the total cart level it configured tep_redirect (tep_href_link (FILENAME_CHECKOUT_SHIPPING, 'error_message=' . ERROR_NO_SHIPPING_SELECTED, 'SSL')); } } } After making the above changes to get it to work all you have to do is set the value and trun on Free Shipping in the in Admin->Modules->Order Totals -> shipping. And the site will we do free shipping at the total cart level with MVS. Now, one thing I noticed from a business perspective is that you need to watch the minimal amount you set the free shipping value to because we had a combination of items that were coming from different vendors when I set the value for free shipping to $50.00 that would have cause the business to loose money on that order. So, we change it to $100.00 so that they could cover the cost of the shipping and the product and still make a marginal profit. The other improvement I am considering is on the checkout_shipping.php page is add a selector that is preselected for Free Shipping so that it matches the page when there is no free shipping. Also, I am considering changing the message/text on the page because is states something like "Please select from...." to be more align that there is a free shipping offer. Jim, Like to know your thought on this approach and if you think it is userful.
  3. Hate to keep asking but a thought came to mind. What if I wrapped the check in checkout_payment with logic that follows something like; If OSC's Free Shipping is enabled and total order amount is greater than then min amount set in OSC's value in free shipping module/table? That way if OSC free ship is enable and the order is over the amount the check is not needed and thus we skip it. But, it not then check for a select shipping method is required and send the user/customer back to the shipping checkout page. Would there be any other issues that you can think of? Just asking because that may be simipler than try to retro fit the OSC Free Shipping to MVS.
  4. Jim, Where does this check take place (which PHP file)? I am thinking if I can get an understanding of the check logic I maybe able to do what you're suggesting. Also, I would assume we have this same issue for some type of logic around a coupon code for discount or free shipping? Is that correct? Thanks for all your help! Ed
  5. Jim, Could you explain a bit more by what you mean by: It should be possible to change the stock osCommerce free shipping code to have an associated vendor If it is assocated to a vendor, is that not the same as the free shipping within MVS? Sorry, just attempting to understand. Thanks,
  6. All, A question, I have a site where someone else installed MVS. It works and operates without issue. We want to invoke free shipping for a specific minimal “total” order dollar amount regardless of the vendor. At first, attempted to setup free shipping with each vendor from within Vendor Management in MVS, it worked however, it was calculated on the dollar amount for that vendor and not total order dollar amount. For example; set all vendors free shipping be to $100 minimal. A customer has 150.00 total order. $101.00 comes from vendor A and $49.00 from vendor B. The shipping checkout would show free shipping for vendor A but calculated or charges for shipping for vendor b because the total for that vendor is less than $100.00. Then we attempted to go into normal OSC shipping and setup free shipping there (and left MVS running) and and turned on its free shipping with at $100.00. Now, this seem to work perfect. The shipping check out page would properly display free shipping for each group of vendor products if the order was over $100.00 and if the total order amount as below $100.00 if would show a break for shipping by vendor. However, there was an issue that set the checkout process into an endless loop. At the final page of checkout. There was an error to the user stating they “have not selected a shipping method” and will take them back to the checkout shipping page. I am assuming that I am missing how to configure free shipping based on a total order amount with MVS. Can someone advise me on the proper configuration to setup MVS with free shipping but based on the total order amount and the not the total amount by vendor? Also, one other issue I noticed is that the final checkout page does not display the total shipping amount in the cost line items. The total is correct but just prior to a user entering their CC info and finalizing the transaction it is missing the total shipping amounts from MVS. Thanks for your assistance!
×
×
  • Create New...