Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

MSP

Archived
  • Posts

    427
  • Joined

  • Last visited

Profile Information

  • Real Name
    Mark

MSP's Achievements

  1. Hey guys, Does anyone have the code for merging MVS with PayPal WPP for checkout_shipping.php? There's a few mentions of posts a few pages back (the code you can view in this post ) but no actual code has been pasted that I can see. I have also tried PMing the people but no reponse yet. If anyone has this working, would they please mind copying the modified code here for me? Thank you for your time and consideration
  2. Hey guys, Does anyone have the code for merging MVS with PayPal WPP for checkout_shipping.php? There's a few mentions of posts a few pages back (the code you can view in this post ) but no actual code has been pasted that I can see. I have also tried PMing the peopl but no reponse yet. If anyone has this working, would they please mind copying the modified code here for me? Thank you for your time and consideration
  3. Oh no problem :) I had previously installed 2.6.3 but I backed out of it and a couple of days ago wanted to tryit again further so I went for 2.6.4 but I noticed that there was no longer a javascript file in the download. Nevermind :) MVS 1.1; nope I didn't know it even existed. I have now found it in the contribs so I'll check it out :) Ok no probs... basically I thought this was the case but I needed to make sure I wasn't missing something simple. At the mo we are sending Invoices through PayPal directly to the customer which works ok, but that would be a better solution. It tends to scare off some customers unfortunately so that's why I've been looking into alternative ways to go about it. Thanks for your time, I appreciate it :)
  4. Hi Stew et al. Nice work on this contrib and nice support too! I've checked through the last few pages of the thread but I didn't see anything about it. I've installed 2.6.4 and its running fine (PS I think the javascript file is missing from the file, I used the old one from 2.6.3 instead). I have OSC2.2, MVS using PayPal IPN and various other smaller non related contribs. The way my site works is the customer makes an order, PayPal IPN writes an order to the system, the customer gets shipped off to the PayPal website and hopefully they pay :) Now I made a small test order with a test customer. I then go and change their shipping because for example some of the items can be combined and we were able to ship for cheaper than the shipping estimator calculated. So later on the customer logs back in, and they go to their account page. (/account.php). They can see their existing order which has been changed, and they can see that the status of their order is set to Preparing (what we use when the customer has't paid but written an order to the system). The customer can then click View and check out their order (/account_history_info.php?order_id=#####). However from here, there appears to be no way for the customer to be able to complete their order without making a new one, which obviously nulifies the changes to shipping that have been made previously. To me it would be really awesome if this information (with the adjusted totals) could be sent of to PayPal with the customer, so that they could complete a payment for that order. That way, their order could be tracked permanetly in their history, plus they won't end up getting multiple orders over and over in their history (for some reason the customers tend to freak out a little and think they've been charged multiple times when they haven't been charged at all if their orders are still set to Pending. Has anyone added a 'Proceed to Payment' or similar button that would allow this information to be sent straight to PayPal with the customer? Thanks in advance, Mark
  5. I didn't notice this in any other threads, sorry if this is a report. I just received a letter today from UPS which you might find very important. http://ups.com/dimweight2007 Dimensional Weight Replaces Oversize in 2007 Effective January 1, 2007, Oversize charges for large packages shipped via UPS Ground services will be replaced with a simpler rate calculation based on dimensional weight. Dimensional weight rates are applicable only to UPS Ground packages that are three cubic feet (5,184 cubic inches) or larger. Billable weight will be based on actual package weight or the dimensional weight, whichever is greater. Packages smaller than three cubic feet will be billed based on actual weight. How To Measure Cubic Size To determine if dimensional weight pricing applies to your package, you must first calculate its cubic size. Follow these steps: Measure the length, width and height of your package. Round each measurement to the nearest whole inch. (For example, 1.00" to 1.49" will be considered 1 inch, and 1.50" to 1.99" will be considered 2 inches.) Multiply the length by the width by the height. The result is the cubic size of your package. How To Calculate Dimensional Weight Once you have calculated the cubic size of your UPS Ground package and have determined that it is 5,184 cubic inches or greater, you are ready to calculate the dimensional weight. Divide the cubic size of your package by 194 (166 for Standard to Canada) rounding up to the nearest full pound. UPS Domestic Ground Service Ground Service to Canada L x W x H L x W x H 194 166 Billable weight will be based on either the actual weight or dimensional weight of your UPS Ground package, whichever is greater. For UPS HundredweightSM Service and Standard to Canada shipments with multiple packages, the billable weight of the shipment will be determined by the sum of the weights of individual packages: actual weight for packages less than 5,184 cubic inches, the greater of actual or dimensional weight for packages 5,184 cubic inches or larger. How To Prepare for the Change to Dimensional Weight Pricing The change to dimensional weight rating will need to be incorporated in your shipping system. No matter which shipping system you use, it will be possible to simply enter the package dimensions and the dimensional weight rate, if applicable, will be calculated automatically. UPS CampusShip?, UPS Internet Shipping, UPS OnLine? Shipping Tool and iShip?: We are in the process of updating all shipping systems provided by UPS. The dimensional weight rate changes for UPS Ground services will be incorporated without any action required on your part and will be in effect January 1, 2007. UPS WorldShip? 9.0: UPS WorldShip 9.0 will contain the dimensional weight upgrade and should be installed as soon as you receive it on CD. Distribution begins in January. Host Vendor Systems: If you have a shipping system that is not supplied by UPS, you will need to make programming changes or request an update from your shipping system vendor by January 1, 2007. UPS has already contacted many vendors about this change. Unfortunately for me this has a significant impact, as about 50% of my packages are going to be effected.
  6. Hey Kris, I use UPSXML through MVS and it's working fine with no problems for me on my site.
  7. Ok cool, thanks for the info. I see what you mean and I had a go at trying to do this but no luck just yet (close though!) The code in the prod attribute contribution in shopping_cart.php is : // attributes price // [email protected] // add-weight-to-product-attributes mod: // added weight to db query if (isset($this->contents[$products_id]['attributes'])) { reset($this->contents[$products_id]['attributes']); while (list($option, $value) = each($this->contents[$products_id]['attributes'])) { $attribute_price_query = tep_db_query("select options_values_price, price_prefix, options_values_weight from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$prid . "' and options_id = '" . (int)$option . "' and options_values_id = '" . (int)$value . "'"); $attribute_price = tep_db_fetch_array($attribute_price_query); if ($attribute_price['price_prefix'] == '+') { $this->total += $qty * tep_add_tax($attribute_price['options_values_price'], $products_tax); } else { $this->total -= $qty * tep_add_tax($attribute_price['options_values_price'], $products_tax); } if(!empty($attribute_price['options_values_weight'])) { // [email protected] // add-weight-to-product-attributes mod: $this->weight += ($qty * $attribute_price['options_values_weight']); } // END if(!empty($attribute_price['options_values_weight'])) { } } } }00 First I copied all of that to the MVS file at around Line 333 and made it look like this : // Add/subtract attributes prices (if any) // attributes price // [email protected] // add-weight-to-product-attributes mod: // added weight to db query if (isset($this->contents[$products_id]['attributes'])) { reset($this->contents[$products_id]['attributes']); while (list($option, $value) = each($this->contents[$products_id]['attributes'])) { $attribute_price_query = tep_db_query("select options_values_price, price_prefix, options_values_weight from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$prid . "' and options_id = '" . (int)$option . "' and options_values_id = '" . (int)$value . "'"); $attribute_price = tep_db_fetch_array($attribute_price_query); if ($attribute_price['price_prefix'] == '+') { $this->total += $qty * tep_add_tax($attribute_price['options_values_price'], $products_tax); } else { $this->total -= $qty * tep_add_tax($attribute_price['options_values_price'], $products_tax); } if(!empty($attribute_price['options_values_weight'])) { // [email protected] // add-weight-to-product-attributes mod: $this->weight += ($qty * $attribute_price['options_values_weight']); } // END if(!empty($attribute_price['options_values_weight'])) { } } } return $this->vendor_shipping; } //MVS End00 Unfortunately that didn't seem to work. I tried a few changes here and there like adding vendor_shipping after $this-> as it is in your code, however that didn't really achieve anything // attributes price // [email protected] // add-weight-to-product-attributes mod: // added weight to db query if (isset($this->contents[$products_id]['attributes'])) { reset($this->contents[$products_id]['attributes']); while (list($option, $value) = each($this->contents[$products_id]['attributes'])) { $attribute_price_query = tep_db_query("select options_values_price, price_prefix, options_values_weight from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$prid . "' and options_id = '" . (int)$option . "' and options_values_id = '" . (int)$value . "'"); $attribute_price = tep_db_fetch_array($attribute_price_query); if ($attribute_price['price_prefix'] == '+') { $this->vendor_shipping[$vendors_id]['cost'] += $qty * tep_add_tax($attribute_price['options_values_price'], $products_tax); } else { $this->vendor_shipping[$vendors_id]['cost'] -= $qty * tep_add_tax($attribute_price['options_values_price'], $products_tax); } if(!empty($attribute_price['options_values_weight'])) { // [email protected] // add-weight-to-product-attributes mod: $this->vendor_shipping += ($qty * $attribute_price['options_values_weight']); } // END if(!empty($attribute_price['options_values_weight'])) { } } }00 return $this->vendor_shipping; } //MVS End00 I was wondering if you might be able to take a look and see where I am going wrong please? I can also give you a login and a test example on my site if you want. Thanks a lot Craig, I really appreciate your time :) - Mark
  8. Hi again, I am trying to add a product weights attribute contribution however it is not working and I believe that it probably has to do with the MVS contribution. I think that the weight is being entered but not sent through to vendors_shipping correctly. The reason for needing this contribution is I have a product available in 3 lengths, the weight of the first length is 5#, second length is 17# and the third length is 33#. Obviously the shipping calculated for each length is significantly different. The contribution is located here http://www.oscommerce.com/community/contributions,1622 and I am using v0.2. Only 3 files are modified. Only 1 file is modified that is used both by this contribution and by MVS. My /includes/classes/shopping_cart.php file now looks like this (including only the lines that have been modified) Starting Line 242 // attributes price // [email protected] // add-weight-to-product-attributes mod: // added weight to db query if (isset($this->contents[$products_id]['attributes'])) { reset($this->contents[$products_id]['attributes']); while (list($option, $value) = each($this->contents[$products_id]['attributes'])) { $attribute_price_query = tep_db_query("select options_values_price, price_prefix, options_values_weight from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$prid . "' and options_id = '" . (int)$option . "' and options_values_id = '" . (int)$value . "'"); $attribute_price = tep_db_fetch_array($attribute_price_query); if ($attribute_price['price_prefix'] == '+') { $this->total += $qty * tep_add_tax($attribute_price['options_values_price'], $products_tax); } else { $this->total -= $qty * tep_add_tax($attribute_price['options_values_price'], $products_tax); } if(!empty($attribute_price['options_values_weight'])) { // [email protected] // add-weight-to-product-attributes mod: $this->weight += ($qty * $attribute_price['options_values_weight']); } // END if(!empty($attribute_price['options_values_weight'])) { } } } } ////// //MVS Start // New method to provide cost, weight, quantity, and product IDs by vendor ////// //Output array structure (example): //shoppingcart Object //( // [vendor_shipping] => array // ( // [0] => array //Number is the vendor_id // ( // [weight] => 22.59 // [cost] => 12.95 // [qty] => 2 // [products_id] => array // ( // [0] => 12 // [1] => 47 // ) // ) // [12] => array // ( // [weight] => 32.74 // [cost] => 109.59 // [qty] => 5 // [products_id] => array // ( // [0] => 2 // [1] => 3 // [2] => 37 // [3] => 49 // ) // ) // ) //) function vendor_shipping() { if (!is_array($this->contents)) return 0; //Cart is empty $this->vendor_shipping = array(); //Initialize the output array reset($this->contents); // and reset the input array foreach ($this->contents as $products_id => $value) { //$value is never used $quantity = $this->contents[$products_id]['qty']; $products_query = tep_db_query("select products_id, products_price, products_tax_class_id, products_weight, vendors_id from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'" ); if ($products = tep_db_fetch_array($products_query)) { $products_price = $products['products_price']; $products_weight = $products['products_weight']; $vendors_id = ($products['vendors_id'] <= 0) ? 1 : $products['vendors_id']; $products_tax = tep_get_tax_rate($products['products_tax_class_id']); //Find special prices (if any) $specials_query = tep_db_query("select specials_new_products_price from " . TABLE_SPECIALS . " where products_id = '" . (int)$products_id . "' and status = '1'" ); if (tep_db_num_rows ($specials_query)) { $specials = tep_db_fetch_array($specials_query); $products_price = $specials['specials_new_products_price']; } //Add values to the output array $this->vendor_shipping[$vendors_id]['weight'] += ($quantity * $products_weight); $this->vendor_shipping[$vendors_id]['cost'] += tep_add_tax($products_price, $products_tax) * $quantity; $this->vendor_shipping[$vendors_id]['qty'] += $quantity; $this->vendor_shipping[$vendors_id]['products_id'][] = $products_id; //There can be more than one product } // Add/subtract attributes prices (if any) if (isset($this->contents[$products_id]['attributes'])) { reset($this->contents[$products_id]['attributes']); foreach ($this->contents[$products_id]['attributes'] as $option => $value) { $attribute_price_query = tep_db_query("select options_values_price, price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$products_id . "' and options_id = '" . (int)$option . "' and options_values_id = '" . (int)$value . "'" ); $attribute_price = tep_db_fetch_array($attribute_price_query); if ($attribute_price['price_prefix'] == '+') { $this->vendor_shipping[$vendors_id]['cost'] += $quantity * tep_add_tax($attribute_price['options_values_price'], $products_tax); } else { $this->vendor_shipping[$vendors_id]['cost'] -= $quantity * tep_add_tax($attribute_price['options_values_price'], $products_tax); } } } } return $this->vendor_shipping; } //MVS End00 Ending line 364 admin/product_attributes is modified in the following way : Starting Line 56 // [email protected] modified for add-weight-to-product-attributes: $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']); $options_id = tep_db_prepare_input($HTTP_POST_VARS['options_id']); $values_id = tep_db_prepare_input($HTTP_POST_VARS['values_id']); $value_price = tep_db_prepare_input($HTTP_POST_VARS['value_price']); $price_prefix = tep_db_prepare_input($HTTP_POST_VARS['price_prefix']); $value_weight = tep_db_prepare_input($HTTP_POST_VARS['value_weight']); tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES . " values ('', '" . (int)$products_id . "', '" . (int)$options_id . "', '" . (int)$values_id . "', '" . tep_db_input($value_price) . "', '" . tep_db_input($price_prefix) . "', '" . tep_db_input($value_weight) . "')"); if (DOWNLOAD_ENABLED == 'true') { $products_attributes_id = tep_db_insert_id(); $products_attributes_filename = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_filename']); $products_attributes_maxdays = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxdays']); $products_attributes_maxcount = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxcount']); if (tep_not_null($products_attributes_filename)) { tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " values (" . (int)$products_attributes_id . ", '" . tep_db_input($products_attributes_filename) . "', '" . tep_db_input($products_attributes_maxdays) . "', '" . tep_db_input($products_attributes_maxcount) . "')"); } } tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info)); break; case 'update_option_name': $option_name_array = $HTTP_POST_VARS['option_name']; $option_id = tep_db_prepare_input($HTTP_POST_VARS['option_id']); for ($i=0, $n=sizeof($languages); $i<$n; $i ++) { $option_name = tep_db_prepare_input($option_name_array[$languages[$i]['id']]); tep_db_query("update " . TABLE_PRODUCTS_OPTIONS . " set products_options_name = '" . tep_db_input($option_name) . "' where products_options_id = '" . (int)$option_id . "' and language_id = '" . (int)$languages[$i]['id'] . "'"); } tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info)); break; case 'update_value': $value_name_array = $HTTP_POST_VARS['value_name']; $value_id = tep_db_prepare_input($HTTP_POST_VARS['value_id']); $option_id = tep_db_prepare_input($HTTP_POST_VARS['option_id']); for ($i=0, $n=sizeof($languages); $i<$n; $i ++) { $value_name = tep_db_prepare_input($value_name_array[$languages[$i]['id']]); tep_db_query("update " . TABLE_PRODUCTS_OPTIONS_VALUES . " set products_options_values_name = '" . tep_db_input($value_name) . "' where products_options_values_id = '" . tep_db_input($value_id) . "' and language_id = '" . (int)$languages[$i]['id'] . "'"); } tep_db_query("update " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " set products_options_id = '" . (int)$option_id . "' where products_options_values_id = '" . (int)$value_id . "'"); tep_redirect(tep_href_link(FILENAME_PRODUCTS_ATTRIBUTES, $page_info)); break; case 'update_product_attribute': // [email protected] modifed for add-weight-to-product-attributes 00 Ending Line 108. If anyone has any idea where I need to make the modification for this to correctly work with MVS, I will be eternally greatful!!!!! Thanks in advance!
  9. MSP

    google checkout

    http://www.oscommerce.com/forums/index.php?showtopic=214306
  10. Interesting, thanks for the info.
  11. At the time I used http://www.oscommerce.com/community/contributions,1323 Version 1.03 with the Dimensional Support as well and installed it all. You could try the latest version and see how that goes for you.
  12. Hi Tom, There is but I'm not able to direct you the in the right direction just yet until I know I'm giving you the right answer and not an incorrect answer causing you to waste your time. In the contribution I had installed, I had the option to check box called 'Ready to Ship - Product can be shipped in its own container." Lets assume the weights are as follows in pounds; A 1; B 2; C 3; X 10; Y 11. So if your product X and Y had this box checked, and A B and C are not checked and 2 are ordered of A B C X and Y, the shipping would be calculated as 12+10+10+11+11+ handling. I'm pretty sure this is what you are trying to achieve. Now just recently I have installed Multi Vendor Shipping (awesome contrib) but I have lost the above functionality. I'm actually going to try and work out all of the changes and apply them to the MVS shipping module sometime hopefully next week. I'll work out which shipping module I used originally and let you know. Regards, Mark
  13. Hey Craig, Yes I downloaded and installed 1.1 http://www.oscommerce.com/community/contri...ry,2/search,mvs made April 1. Originally on my site I had installed UPSXML but I didn't use the dimensional support. The main use was being able to specify producs which didn't combine and shipped individually with the check box for " Product can be shipped in its own container." which was extremely useful for the type of items we shipped (generally large, light items). First I tried to upgrade by manually changing all of the files with the changes listed in the contribution however I had a couple of problems and so I decided to roll back. Next I just did a plain install in which I overwrote all of the files with the ones in the contribution except for just a couple of ones I changed manually which were small easy changes. This worked fine except for the 2 problems I'm having. The first is the handling charge not being applied to the UPSXML module. I will PM you with a test customer login so that I can show this easily to you. The second I will post in another post later (basically how do I install the change so that I can have the option to have a check box for "Product can be shipped in its own container." Thank you again for your time, sorry for all of the questions.
  14. Hi Again, I have 2 parts to my post. The first is that I cannot get Handling Fee to work for UPS XML as a part of this contribution. If I add the standard UPS module and set the handling fee to $50.00, then the shipping cost displayed goes up by $50.00. However, when I remove the standard UPS module and add UPS XML and set a handling charge, the handling charge is never added to the displayed amount. I have also tried adding to a "The Vendor's handling charge:" amount as well and this has had no influence on the shipping total displayed. Secondly, in the past I had installed UPS XML with the dimensional support. I never used this, however there was 1 extra feature at the bottom which was extremely useful. Many of our items we ship from our warehouse are quite large for their size. For example, we have 1 box which weights 11#. If we ship 2 of them together, they are Oversize 1, and they get billed at 30#. With the old UPS XML I was using, I could select "Ready to Ship:, Product can be shipped in its own container." Which would work out the shipping as 11# + 11# + Handling Fee = Shipping Total. With this contribution, I have lost that functionality, and the total works out as 11 + 11 (22#) + Handling Fee = Shipping. I was wondering if there is any further contribution or changes I could make to get this check box functionality back? Thanks in advance!
  15. :-" nevermind, I should have read the first line in the HOW TO USE section " Open your Admin panel, click on Configuration->Shipping/Packaging, then click on Use Vendor Shipping." before posting. Sorry.
×
×
  • Create New...