Hollmers Posted February 20, 2017 Share Posted February 20, 2017 Have tried several of the shipping methods, i.e. USPS, Flat Shipping, and now FEDEX. USPS AND THE FLAT SHIPPING DO NOT SEEM TO WORK. Same problem with Fedex. Get the following error message The following errors were detected: Unfortunately there are no suitable shipping methods available for your order. This may be because the total weight of your order is too high or we cannot ship to your country. Please contact a member of our staff for any further inquiries. All product have a weight but nothing seems to see the weight of the product. See attached Also, how to a change the default color the the optional color of green displayed on the bottom of the screen. Take a look: http://asbach-chocomates.com Thank you shopping_basket_3lb .pdf Quote Link to comment Share on other sites More sharing options...
bsmither Posted February 20, 2017 Share Posted February 20, 2017 Regarding the message about being overweight, this is, unfortunately, a very misleading indication. More accurately, it means that of all the shipping modules enabled, for various reasons, none were able to compute a shipping charge. Typically the case, USPS and FedEx require one have a user account with permission to make real-time rate requests to their online API. This is more than an account with USPS or FedEx, but a separate, companion account to access the API. (USPS will email you user/pass credentials that they want you to use. Perhaps similar with FedEx.) The Flat Rate shipping should work, if enabled. Be sure to not use any currency symbol - just digits and the period. My browser reports that the internet does not yet know about the web address given. Quote Link to comment Share on other sites More sharing options...
Hollmers Posted February 21, 2017 Author Share Posted February 21, 2017 Sorry about the type. The site is http://asbach-chocolates.com I am a 'seasonal' shipper with Fedex and have a regular FedEx account. The required fields are filled in with the required data obtained from FedEx. See attached. The US has been authorized as a Zone. Are you saying that I need toi contact FEDEX for a separate API to populate the CubeCart shopping cart? Please review and advise. Thank you Fedex_Input_Details.pdf Quote Link to comment Share on other sites More sharing options...
bsmither Posted February 21, 2017 Share Posted February 21, 2017 In the FedEx shipping module folder, there is a file named shipping.class.php. Open this file for editing. (Use the File Editor available as a tool in your hosting account control panel, or some other programmer's text editor.) Near the bottom of the file, you will find some statements that begin with: trigger_error('FedEx Error: At the end of these statements you have either: E_USER_ERROR); or E_USER_WARNING); Make sure these statements (three of them) have the E_USER_WARNING); ending. I would like for you to implement the code changes as described here:https://github.com/cubecart/v6/issues/1430 In admin, Store Settings, Advanced tab, enable Debugging and enter your IP address in the adjacent field (www.whatismyip.com). Finally, in /classes/debug.class.php, near line 425, find: Find: case E_USER_WARNING: $type = 'Warning'; $log = false; break; Change to: case E_USER_WARNING: $type = 'Warning'; $log = true; break; Then, when checking out and you do not get a rate from FedEx, look at the bottom of the page for any mention of a reason. There may also be any reason why logged in admin, Error Log, System Error Log tab. Quote Link to comment Share on other sites More sharing options...
bsmither Posted February 21, 2017 Share Posted February 21, 2017 However, looking at the module settings screen, I see a couple of (probably) bad entries. The Origin Info is asking for the State two-letter code, not the complete spelled out name, and is asking for the two-letter Country code, not the complete spelled out name. Try SC and US. Quote Link to comment Share on other sites More sharing options...
bsmither Posted February 21, 2017 Share Posted February 21, 2017 I do not know what the "optional color of green" is that you are referring to. The PDF you provided at the start seems to show a skin other than Foundation or e-Scalar. Quote Link to comment Share on other sites More sharing options...
Hollmers Posted February 22, 2017 Author Share Posted February 22, 2017 The only folder located in the shipping subdirectory was a folder from a prior installation of "All_in_One_Shipping" which I had uninstalled again since it did not work. Apparently the 'uninstall procedure' does not remove all what it had installed prior. There was no FedEx folder. I had used the "Auto Install/Upgrade Token", but it apparently did not create the FedEx folder. Did a manual download and installed FedEx in the "Shipping" subdirectory. The text "E_USER_ERROR" was not to be found. Apparently already changed in the latest version. I found three references that were already changed to "E_USER_WARNING". I looked at the code you want me to implement, i.e. bhsmither commented on Dec 28, 2016 • edited Please consider: public function calculate() { function findReasons($soapClient) { // Admin needs to enable debugging to see the Request/Response // from testing the checkout to get a FedEx Request/Response if(!is_object($soapClient)) return false; $GLOBALS['debug']->debugMessage("FedEx Request :<br>", htmlentities($soapClient->__getLastRequest()), "<br>"); $GLOBALS['debug']->debugMessage("FedEx Response :<br>", htmlentities($soapClient->__getLastResponse()), "<br>"); } $path_to_wsdl = CC_ROOT_DIR.'/modules/shipping/FedEx/wsdl/RateService_v13.wsdl'; } else { findReasons($this->_client); trigger_error('FedEx Error: No shipping quotes could be obtained for '.$this->_basket['delivery_address']['postcode'].', '.$this->_basket['delivery_address']['country_iso'], E_USER_WARNING); // E_USER_ERROR); } But I don't know where to insert this code exactly in the file. Debug is set and you can place an order. Hopefully you can make sense of the details provided at the bottom of the screen. All other changes you suggested have been made. Please review and advise. Again the site is "http://asbach-chocolates.com Thanks Quote Link to comment Share on other sites More sharing options...
bsmither Posted February 22, 2017 Share Posted February 22, 2017 "There was no FedEx folder." Inconceivable. If not, there wouldn't have been an admin control panel to have entered your account settings. Unless the folder was not in the /modules/shipping/ folder, but in a different folder under /modules/. We can look into the edits to the module's code I mentioned earlier, but please, for now, make the changes in the FedEx control panel as mentioned and see what happens. Although debug is enabled, by having only your IP address in the adjacent field, only you get to see it. See the Personal Message for my IP. Quote Link to comment Share on other sites More sharing options...
Hollmers Posted February 22, 2017 Author Share Posted February 22, 2017 I made all the changes you requested. United States changed to US. South Carolina to SC. Attached is an pdf file of the directory structure. Fedex is in the shipping subdirectory. Please advise where you want me to install the code you provided. Kindly provide a line text that I can search for underneath wich I should insert the following code. public function calculate() { function findReasons($soapClient) { // Admin needs to enable debugging to see the Request/Response // from testing the checkout to get a FedEx Request/Response if(!is_object($soapClient)) return false; $GLOBALS['debug']->debugMessage("FedEx Request :<br>", htmlentities($soapClient->__getLastRequest()), "<br>"); $GLOBALS['debug']->debugMessage("FedEx Response :<br>", htmlentities($soapClient->__getLastResponse()), "<br>"); } $path_to_wsdl = CC_ROOT_DIR.'/modules/shipping/FedEx/wsdl/RateService_v13.wsdl'; } else { findReasons($this->_client); trigger_error('FedEx Error: No shipping quotes could be obtained for '.$this->_basket['delivery_address']['postcode'].', '.$this->_basket['delivery_address']['country_iso'], E_USER_WARNING); // E_USER_ERROR); } CubeCart_Directory.pdf Quote Link to comment Share on other sites More sharing options...
bsmither Posted February 22, 2017 Share Posted February 22, 2017 A couple of questions: In the directory map provided, there is a /modules/ folder inside the /modules/ folder. What is in here? In the FedEx settings screen, are there any entries on the Allowed Zones or Disabled Zones? If so, delete them. Using a programmer's text editor, open the file /modules/shipping/FedEx/shipping.class.php: Near line 216, find: } else { trigger_error('FedEx Error: No shipping quotes could be obtained for '.$this->_basket['delivery_address']['postcode'].', '.$this->_basket['delivery_address']['country_iso'], E_USER_WARNING); } Change to: } else { findReasons($this->_client); trigger_error('FedEx Error: No shipping quotes could be obtained for '.$this->_basket['delivery_address']['postcode'].', '.$this->_basket['delivery_address']['country_iso'], E_USER_WARNING); } Near line 123, find: public function calculate() { After that, ADD: function findReasons($soapClient) { if(!is_object($soapClient)) return false; $GLOBALS['debug']->debugMessage("Request :<br>", htmlentities($soapClient->__getLastRequest()), "<br>"); $GLOBALS['debug']->debugMessage("Response :<br>", htmlentities($soapClient->__getLastResponse()), "<br>"); } Quote Link to comment Share on other sites More sharing options...
Hollmers Posted February 22, 2017 Author Share Posted February 22, 2017 Made the changes requested. Still no luck in getting the Fedex module to work. Please advise Quote Link to comment Share on other sites More sharing options...
bsmither Posted February 22, 2017 Share Posted February 22, 2017 If the Allowed and Disabled Zones tabs are empty, then we need to do some deep investigation. I see that the FedEx module's settings are getting called, but nothing is being done with them. So: Earlier, you added: findReasons($this->_client); just above one of the trigger_error statements. Please add: findReasons($this->_client); just above the other two instances of trigger_error. Quote Link to comment Share on other sites More sharing options...
Hollmers Posted February 22, 2017 Author Share Posted February 22, 2017 Allowed and disallowed zones are empty. Edited the file once more and the secion where the trigger_error statements were, now look like this } else { findReasons($this->_client); trigger_error('FedEx Error: No shipping quotes could be obtained for '.$this->_basket['delivery_address']['postcode'].', '.$this->_basket['delivery_address']['country_iso'], E_USER_WARNING); } } else { findReasons($this->_client); trigger_error('FedEx Error: '.$response->Notifications->Message, E_USER_WARNING); } } catch (SoapFault $exception) { findReasons($this->_client); trigger_error('FedEx Error: invalid request', E_USER_WARNING); } return (isset($package)) ? $package : false; } } Did the FedEx module work for other users of CubeCart? I cannot imagine that I am the only users! Quote Link to comment Share on other sites More sharing options...
bsmither Posted February 22, 2017 Share Posted February 22, 2017 In the debug section shown at the bottom of the page, among the PHP Notices is this one: [Warning] /classes/cubecart.class.php:1700 - Shipping not setup or allow no shipping not enabled Line 1700 is executed if Cart->loadShippingModules() returns false. loadShippingModules will return false for a variety of reasons, but probably because no shipping products could be matched to what you have selected in the settings screen. In the FedEx settings screen, General tab, Carrier/Service Matrix table, as an experiment, select all available services. Save. Quote Link to comment Share on other sites More sharing options...
Hollmers Posted February 22, 2017 Author Share Posted February 22, 2017 All shipping options in Fedex have been checked. No change. Same error Quote Link to comment Share on other sites More sharing options...
bsmither Posted February 23, 2017 Share Posted February 23, 2017 Last simple edit before we get all medieval on this: In the module's shipping.class.php, find: $response = $this->_client->getRates($request); if ($response->HighestSeverity != 'FAILURE' && $response->HighestSeverity != 'ERROR') Change to: $response = $this->_client->getRates($request); findReasons($this->_client); if ($response->HighestSeverity != 'FAILURE' && $response->HighestSeverity != 'ERROR') Quote Link to comment Share on other sites More sharing options...
Hollmers Posted February 25, 2017 Author Share Posted February 25, 2017 Still no luck with the fixed. Still get error message about weight and shipping location. Please see attached Please advise. Thansk Still_Weight_Country_error.pdf Quote Link to comment Share on other sites More sharing options...
bsmither Posted February 25, 2017 Share Posted February 25, 2017 The latest edit should have given us the request and response in the debug section. That it didn't probably means there was no actual request made. Feel free to send me a private message with your email address, and we will do some deeper analysis. Quote Link to comment Share on other sites More sharing options...
Hollmers Posted February 28, 2017 Author Share Posted February 28, 2017 Try [email protected] or [email protected] Thanks George Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.