Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

greasemonkey

Members
  • Posts

    1,371
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by greasemonkey

  1. @imusorka they do - and therefore do what knowone on here would recommend... they store you CC details. That said, amazons security budget is larger the the GDP of a small country.
  2. Hey guys, enjoying this discussion.... Just wanted to point out, if you think it's relevant to OsC, Amazon (the largest ecom retailer in the world by far) doesn't use one page checkout. 4 super simple clean steps
  3. @Roaddoctor @John W I'm using wsdl v9 as well.... no problems here.... the address (I haven't modified it... as I recall) is: <service name="RateService"> <port name="RateServicePort" binding="ns:RateServiceSoapBinding"> <s1:address location="https://gateway.fedex.com/web-services/"/> </port> </service>
  4. @Druid6900 thought you may find something like that 😝 Now... what are the issues with the box sizing? Let see if we can't figure that out....
  5. lol... a good one indeed. The good news is you now know it is not the module - but associated with dimensional support files. So, quickly looking at the addon there are 2 additional files used in dimensional support: admin/packaging.php (probably not the problem... it would not be loaded during checkout) and includes/classes/packing.php... this DEFINITELY would be loaded during checkout with dimensional support turned on.... This is where you need to start your search... looking for something similar to what we had found in the module file. Let me know what you find.
  6. @Druid6900 With the original code (which will be removing from the next version) if ((float)$weight < 1.0) { $weight = 1; 0.150 kg would be 1 kg With your versions OR if removed if ((float)$weight < 0.0001) { $weight = 1; it would stay as 0.150 kg The rounding by the way is done (hence why I suggest this is not required) just a few lines down to 1 decimal here $this->item_weight[$index] = ($weight ? (string)round((float)$weight,1) : '0' ); So I guess technically 0.150 would probably show up as 0.2 kg (0.15 would round up). I guess the point I was trying to make earlier (and now) is - if removing the code (to show as below) does not help - then something else causing your issue... function _addItem($length, $width, $height, $weight, $price = 0 ) { $index = $this->items_qty; $this->item_length[$index] = ($length ? (string)round((float)$length,1) : '0' ); $this->item_width[$index] = ($width ? (string)round((float)$width,1) : '0' ); $this->item_height[$index] = ($height ? (string)round((float)$height,1) : '0' ); $this->item_weight[$index] = ($weight ? (string)round((float)$weight,1) : '0' ); $this->item_price[$index] = $price; $this->items_qty++; }
  7. @Druid6900 sorry yes that exact code was not included in the current version... the exact original code was/is: if ((float)$weight < 1.0) { $weight = 1; } else { $weight = round($weight, 3); } Which says: "if the $weight is less than 1 kg then make the $weight equal 1 kg" else (otherwise) "round the $weight to the 3rd decimal". Which you are trying to replace with: if ((float)$weight < 0.0001) { $weight = 1; } else { $weight = round($weight, 3); Which says: "if the $weight is less than 0.0001 kg then make the $weight equal 1 kg" else (otherwise) "round the $weight to the 3rd decimal". Which doesn't make a whole lot of sense (neither do)... which is why I'm saying remove it (either/both) as this has fixed the issued (remember I had the exact same issue despite me not using dimensional support). Now - please keep in mind... most of us are not coders (those who are - are mostly likely more than happy to help you... for fee). I'm trying to support it the best I can... and i would not call it broken at all... It works perfectly for me and the issues that you have brought to my attention have been fixed (see function below). Again replacing the above code with your code will fix your issue until you get to 0.0001 kg when it will change the weight back to 1kg (as I said... doesn't make sense to do that) Removing it and leaving the following (i've included the entire function) should: function _addItem($length, $width, $height, $weight, $price = 0 ) { $index = $this->items_qty; $this->item_length[$index] = ($length ? (string)round((float)$length,1) : '0' ); $this->item_width[$index] = ($width ? (string)round((float)$width,1) : '0' ); $this->item_height[$index] = ($height ? (string)round((float)$height,1) : '0' ); $this->item_weight[$index] = ($weight ? (string)round((float)$weight,1) : '0' ); $this->item_price[$index] = $price; $this->items_qty++; }
  8. HI Druid, I'm really not sure.... What I can tell you is this piece of code (if you still have it) will do what you are saying for weights less than 0.0001 kg if ((float)$weight < 0.0001) { $weight = 1; } else { $weight = round($weight, 3); To translate (to the best of my ability... I'm not a coder either) what this code is doing in words: "if the $weight is less than 0.0001 kg then make the $weight equal 1 kg" else (otherwise) "round the $weight to the 3rd decimal". Again, my current version was doing the same thing removing the above code fixed it. I have removed this code (as well as the other fixes we spoke about in this tread) from the next version (which I have not yet released) - it is not needed or required and should not be included.
  9. @Druid6900 The difference is I don't use dimensional support - therefore there is no length, width & height (in the test request I posted on the CP developers forum I manual added dimensions to the file) ... I would presume the weight is the same however. Removing this set of rounding has worked for me.... if ((float)$weight < 1.0) { $weight = 1; } else { $weight = round($weight, 3); That said, I would definately test it by removing if($this->unit_weight == 'LBS') { //change to kilograms $weight = round($weight/2.2,3); } if($this->unit_length == 'IN') { //change to centimeters $width = round($width * 2.54,1); $height = round($height * 2.54,1); $length = round($length * 2.54,1); }
  10. @Druid6900 ok.... this is the last an only line that rounds the weight. First, in your admin make sure there is nothing in the "tare" config.... re-test if there was a "tare" weight... And then try to remove all rounding like.... $this->item_weight[$index] = $weight;
  11. @Druid6900 can you test this for the weight issue? I just want to change the default from LBS and IN to KG and CM (as it should be for a Canadian based module). And a question - are you using EDGE for GOLD... and do you know if are using Change // for those who will undoubtedly forget or not know how to run the configuration_shipping.sql // we will set the default to pounds (LBS) and inches (IN) $this->unit_weight = 'LBS'; } if (defined('SHIPPING_UNIT_LENGTH')) { $this->unit_length = SHIPPING_UNIT_LENGTH; } else { $this->unit_length = 'IN'; } To // for those who will undoubtedly forget or not know how to run the configuration_shipping.sql // we will set the default to pounds (KG) and inches (CM) $this->unit_weight = 'KG'; } if (defined('SHIPPING_UNIT_LENGTH')) { $this->unit_length = SHIPPING_UNIT_LENGTH; } else { $this->unit_length = 'CM'; }
  12. Ok looks like this is added with the configuration_shipping.sql for dimensional support.... How is your defind? LBS or KG? IN or CM?
  13. @Druid6900 ok.. this issue with the width... For some reason we have (lines 412 to 414) $weight = $this->item_weight[$index]; $price = round($this->item_price[$index],2); $width = $this->item_weight[$index]; Notice line 414 $width = is referencing item_weight This should be $weight = $this->item_weight[$index]; $price = round($this->item_price[$index],2); $width = $this->item_width[$index]; Still looking at the weight issue... trying to find where LBS and IN defined in admin (I don't think it is). if($this->unit_weight == 'LBS') { //change to kilograms $weight = round($weight/2.2,3); } if($this->unit_length == 'IN') { //change to centimeters $width = round($width * 2.54,1); $height = round($height * 2.54,1); $length = round($length * 2.54,1); }
  14. @Druid6900 Can you PM me your /includes/modules/shipping/canadapost.php file....
  15. @druid6900 ok... i think I have found the issue with the weight - on US it is rounding values less than 1kg to 1 here: // Add box or item to shipment list. Round weights to 1 decimal places. if ((float)$weight < 1.0) { $weight = 1; } else { $weight = round($weight, 3); } // Add box or item to shipment list. Round weights to 1 decimal places. if ((float)$weight < 1.0) { $weight = 1; } else { $weight = round($weight, 3); } From the added comment it seems the author was intending to round the weight figure - which I don't believe is necessary (unless you are entering weights with multiple decimals places.... Try deleting the above lines and retest (works for me).
  16. Ok @@Druid6900 have you follow the instructions in the included file install_dimensional_support.txt? Including the DB changes to your configuration table? The instructions are very detailed....
  17. @@Druid6900 if the tables are the exact same name..., yes they may be overwritten. Let me look a little closer... I'll get back soon.
  18. @@Druid6900 Again, I'm not that familiar with this addon - you may want to find the support thread for the UPS XML - there are probably more people with dimensional support install questions there... That said, if you have dimensions in your database already.... then you shouldn't have too. So the questions becomes... where did the tables with dimensions that you have come from? If you have installed another addon that adds dimensions to your database then the code would probably be pointing to the wrong table.
  19. @@Druid6900 ok it looks like we have the issue (not the solution however). Your request is not sending dimensions - I presume you have made some changes to your site for dimensional support? The original author of this module did build this feature in... but did not include instructions on how to use it.... and it is not something i have ever used or are familiar with. From the code in the module: if (($this->dimensions_support>0) && ($width>0) && ($height>0) && ($length>0)) { $xmlRequest .= "<dimensions><length>$length</length> <width>$width</width> <height>$height</height> </dimensions>"; Basically says... if dimensional support is "there (greater than 0)" then add the the dimensions.... So... you need to find out why that is not working.... If I recall the original author used the code from this module http://addons.oscommerce.com/info/7848 And there are instructions on how to install dimensional support.
  20. @@Druid6900 I did some checking this morning... and replied to your post at the CP developers forum. I found some slight differences in the quotes (but very minor). We should probably keep this convo there (at CP).... until such time we can confirm any issue you are having is with the module (at not CP). I will watch for their reply's. Keep in mind... CP will require both the request and the reply to help. You need to un-comment both pieces of code (as suggested above) and then... the best way to see the request and reply is from "view source" in your browser. If you have a specific quote that you can replicate where there is a huge difference as suggested above... Give them both the request and reply. So far in my testing all seems ok...
  21. @@Druid6900 can you PM me the zip in California you are working with? I'll do some checking.. Also what province are you in?
  22. @@Druid6900 looks like this is all solved. For everyone else - Small Packet Air and Tracked Package to the USA require the Insurance option in the admin to be set to false.
  23. @@Druid6900 I have replied to your post on the CP developers forum... I can't figure it out - but have supplied the XML request and response It is easy to create BTW.... in canadapost.php just "un" comment // print_r($aryProducts); And //echo $xmlRequest;
×
×
  • Create New...