Jump to content

UPS Shipping Issue (HELP!)


Recommended Posts

Hey everyone, I am currently in the process of setting up my UPS shipping carrier information and am having some issues (Prestashop 1.4.8). I have input my correct businesses UPS shipper information (User, Password, MyUPS ID, API) and configured it to the best of my knowledge. When I click submit at the bottom of the page I keep getting this returned to me:

 

UPS Carrier is not configured yet, please:
module_install.png 1) Fill the "General Settings" form and choose your rate service group.
warn2.png 2) Webservice test connection : Error 10001 : The XML document is not well formed
module_install.png 3) Select your available delivery service (you must validate your rate service group first).

 

Along with this:

 
Prestashop could not connect to UPS webservices :
Error 10001 : The XML document is not well formed
 

I cannot figure out what to do with this error. I have tried to debug it but without success. Can somebody please help me here? I am essentially stuck on this and cannot move forward with launching my website. 

 

I also had a question regarding the UPS module itself. Now I am familiar with the UPS shipping & tracking API's so my question is will this UPS module pull the shipping rates and apply them real time to my website similar to what the API's will do? The information regarding what the UPS module does is vague at best and I want to know if it will do the rates as well as tracking numbers provided to the customers? Thank you all in advance,

 

JDub1337

 
Edited by JDub1337 (see edit history)
  • Like 1
Link to comment
Share on other sites

I am also getting this popping up at the bottom of the UPS Module Status page where every option has (Not available) afterwards. I am assuming this is due to the other error and these will be available when the other issue is fixed? Correct? I have tried everything I can think to do to fix this error. 

 

 UPS Next Day Air (Not available)
 UPS Second Day Air (Not available)
 UPS Ground (Not available)
 UPS Three-Day Select (Not available)

 

Thanks everyone,

 

JDub1337

Link to comment
Share on other sites

Hey everyone, I did a bit more leg work and re-requested my UPS access key. I put in the new one and retyped in everything and it came back submitted with this:

 

module_install.pngUPS Carrier is configured and online!

 

This is great news but I am still not seeing anything in my cart checkout other than the default "My Carrier" and nothing pertaining to UPS. Can someone please help? I thought that once it was configured and online it would input the options I checked in the cart checkout with the UPS rates based on the shipping weights? Here is what the bottom of the page says now:

 

 UPS Next Day Air (Available)
 UPS Second Day Air (Available)
 UPS Ground (Available)
 UPS Three-Day Select (Available)

 

I am now more confused than I was before haha. Thanks,

 

JDub1337

Link to comment
Share on other sites

So I am lost here. It appears when I ad products to the cart once I am logged in it is calculating the shipping via UPS as I have not seen these figures before. My cart showed up with a shipping charge of 20.75 (nothing I had hard coded in anywhere), but when I get to the shipping portion of the checkout it reverts back to the "My Carrier" charge of 10$+2$ surcharge. Can someone please point me in the right direction here? I dont know where to look to fix this. Thanks,

 

JDub1337

Link to comment
Share on other sites

Hey JDub1337, 

 

Did you take a look and check why the cart is making what looks like 2 different API calls (that's the only thing I can think of why you'd get 2 different prices). Or do you have a module installed with the cart that auto-calculates this stuff?

 

I don't know if you've seen them but I now use Easypost to work with the UPS/USPS APIs. It got to a point where they were throwing a ton of XML errors and it was annoying to re-request my key.

  • Like 1
Link to comment
Share on other sites

Thank you for the reply! I have yet to figure the issue out entirely, but I have been making some progress. I believe I finally got the UPS module in 1.4.8 to talk with the UPS API and I have tested the same product on five different accounts and all have what appears to be accurate shipping quotes. 

 

I am not using the default theme but rather a hybrid of a purchased one and my own work. The UPS module that shipped with Prestashop is what I am using but I still cannot get the selected UPS Shipping Methods to show up under the Shipping tab at checkout. The only one that is showing up is the one selected as default (UPS Ground) where I need it to also show 2-Day Air, 3-Day Select, and Overnight. Can somebody please, please, please help me sort this out! I have gotten everything else working with trial and error but I dont know if it is a coding issue, or something is wrong where its not calling the other options to populate. This is so darn frustrating but other than this, Prestashop has done everything we needed it to! Thanks!

 

JDub1337

  • Like 1
Link to comment
Share on other sites

I seem to be having a similar problem. I've got the API key configured and connecting correctly. However, most of the delivery services are marked as (Not Available) at the bottom of the UPS module configuration. The only ones that are marked as (Available) are:

 

UPS Next Day Air (Available)
UPS Second Day Air (Available)

UPS Next Day Air Early A.M. (Available)

 

Which seems odd to me considering the most basic "Ground" and "Standard" are not marked as available. Why would only the most expensive options be available?

Link to comment
Share on other sites

I had a similar issue as well. From what i understand, the shipping carrier options available are based on the location you are shipping from. Also double check your configuration in "shipping" and "carriers" and make sure it is in line with the ups module. Make a phone call to ups and set up your account with them as they have to set it to "production" status and activate from there end. Hope this helps.

  • Like 1
Link to comment
Share on other sites

Thanks for the replies everyone. George B, my UPS contact is currently unavailable so I will have to get with him and find out what our status is. Once I find out anything I will most certainly post back up as I am not the only one experiencing this issue. I hope we can all get this solved soon! It is incredibly frustrating

 

JDub1337

Link to comment
Share on other sites

I took a screenshot of how my cart checkout looks. This is with 17 items being shipped to Barrow, Alaska for testing purposes. The shipping calculation looks accurate but I am not getting any other options except the default carrier as "UPS Ground". Here is the screenshot

 

shipping%20issue.png

 

Would really love to get the choices I have selected to show up other than UPS Ground as we ship all over the world. Thanks

 

JDub1337

Link to comment
Share on other sites

I had a similar issue as well. From what i understand, the shipping carrier options available are based on the location you are shipping from. Also double check your configuration in "shipping" and "carriers" and make sure it is in line with the ups module. Make a phone call to ups and set up your account with them as they have to set it to "production" status and activate from there end. Hope this helps.

 

Hey George, I took some screenshots of how my stuff is currently setup maybe hoping that someone might see something thats not in line with the UPS module. Take a look if you dont mind and let me know what you think,

 

shipping%20issue2.png

 

shipping%20issue3.png

 

shipping%20issue4.png

 

shipping%20issue5.png

 

Everything looks like its adjusted properly to me, but this is the first time I have done anything with the UPS shipping services so I dont know if I missed something or did something incorrectly. Also, I do not know if I had to set rules for the product categories but I did. Can anyone confirm if this is done properly, or if it is even necessary? Thanks,

 

JDub1337

Link to comment
Share on other sites

Hey guys, I have tracked down the coding (order-carrier.tpl) for that portion of the checkout. Can anyone confirm that it is only populating the one option instead of them all? I was beginning to think it might be a programming error and the code is only calling up one carrier (the default) instead of the selected ones. Worth a shot at this point as I cannot move forward until this is fixed.

 

{if !$opc}
<script type="text/javascript">
//<![CDATA[
var orderProcess = 'order';
var currencySign = '{$currencySign|html_entity_decode:2:"UTF-8"}';
var currencyRate = '{$currencyRate|floatval}';
var currencyFormat = '{$currencyFormat|intval}';
var currencyBlank = '{$currencyBlank|intval}';
var txtProduct = "{l s='product'}";
var txtProducts = "{l s='products'}";
var msg = "{l s='You must agree to the terms and conditions of service before continuing.' js=1}";
{literal}
function acceptCGV()
{
if ($('#cgv').length && !$('input#cgv:checked').length)
{
alert(msg);
return false;
}
else
return true;
}
{/literal}
//]]>
</script>
{else}
<script type="text/javascript">
var txtFree = "{l s='Free!'}";
</script>
{/if}
{if !$virtual_cart && $giftAllowed && $cart->gift == 1}
<script type="text/javascript">
{literal}
// <![CDATA[
    $('document').ready( function(){
if ($('input#gift').is(':checked'))
$('p#gift_div').show();
    });
//]]>
{/literal}
</script>
{/if}
{if !$opc}
{capture name=path}{l s='Shipping'}{/capture}
{include file="$tpl_dir./breadcrumb.tpl"}
{/if}
{if !$opc}<h1>{l s='Shipping'}</h1>{else}<h2>2. {l s='Delivery methods'}</h2>{/if}
{if !$opc}
{assign var='current_step' value='shipping'}
{include file="$tpl_dir./order-steps.tpl"}
{include file="$tpl_dir./errors.tpl"}
<form id="form" action="{$link->getPageLink('order.php', true)}" method="post" onsubmit="return acceptCGV();">
{else}
<div id="opc_delivery_methods" class="opc-main-block">
<div id="opc_delivery_methods-overlay" class="opc-overlay" style="display: none;"></div>
{/if}
{if $conditions AND $cms_id}
<h3 class="condition_title">{l s='Terms And Conditions'}</h3>
<p class="checkbox">
<input type="checkbox" name="cgv" id="cgv" value="1" {if $checkedTOS}{/if} />
<label for="cgv">{l s='I have read, and agree to the terms and conditions of service. If not, please read them'}</label> <a href="{$link_conditions}" class="iframe">{l s='(here)'}</a>
</p>
<script type="text/javascript">$('a.iframe').fancybox();</script>
{/if}
{if $virtual_cart}
<input id="input_virtual_carrier" class="hidden" type="hidden" name="id_carrier" value="0" />
{else}
<h3 class="carrier_title">{l s='We ship exclusively with UPS'}</h3>
<div id="HOOK_BEFORECARRIER">{if isset($carriers)}{$HOOK_BEFORECARRIER}{/if}</div>
{if isset($isVirtualCart) && $isVirtualCart}
<p class="warning">{l s='No carrier needed for this order'}</p>
{else}
{if $recyclablePackAllowed}
<p class="checkbox">
<input type="checkbox" name="recyclable" id="recyclable" value="1" {if $recyclable == 1}checked="checked"{/if} />
<label for="recyclable">{l s='I agree to receive my order in recycled packaging'}.</label>
</p>
{/if}
<p class="warning" id="noCarrierWarning" {if isset($carriers) && $carriers && count($carriers)}style="display:none;"{/if}>{l s='There are no carriers available that deliver to this address.'}</p>
<table id="carrierTable" class="std" {if !isset($carriers) || !$carriers || !count($carriers)}style="display:none;"{/if}>
<thead>
<tr>
<th class="carrier_action first_item"></th>
<th class="carrier_name item">{l s='UPS Ground'}</th>
<th class="carrier_infos item">{l s='Estimated Shipping Time'}</th>
<th class="carrier_price last_item">{l s='Shipping Cost'}</th>
</tr>
</thead>
<tbody>
{if isset($carriers)}
{foreach from=$carriers item=carrier name=myLoop}
<tr class="{if $smarty.foreach.myLoop.first}first_item{elseif $smarty.foreach.myLoop.last}last_item{/if} {if $smarty.foreach.myLoop.index % 2}alternate_item{else}item{/if}">
<td class="carrier_action radio">
<input type="radio" name="id_carrier" value="{$carrier.id_carrier|intval}" id="id_carrier{$carrier.id_carrier|intval}"  {if $opc}onclick="updateCarrierSelectionAndGift();"{/if} {if !($carrier.is_module AND $opc AND !$isLogged)}{if $carrier.id_carrier == $checked}checked="checked"{/if}{else}disabled="disabled"{/if} />
</td>
<td class="carrier_name">
<label for="id_carrier{$carrier.id_carrier|intval}">
{if $carrier.img}<img src="{$carrier.img|escape:'htmlall':'UTF-8'}" alt="{$carrier.name|escape:'htmlall':'UTF-8'}" />{else}{$carrier.name|escape:'htmlall':'UTF-8'}{/if}
</label>
</td>
<td class="carrier_infos">{$carrier.delay|escape:'htmlall':'UTF-8'}</td>
<td class="carrier_price">
{if $carrier.price}
<span class="price">
{if $priceDisplay == 1}{convertPrice price=$carrier.price_tax_exc}{else}{convertPrice price=$carrier.price}{/if}
</span>
{if $use_taxes}{if $priceDisplay == 1} {l s='(tax excl.)'}{else} {l s='(tax incl.)'}{/if}{/if}
{else}
{l s='Free!'}
{/if}
</td>
</tr>
{/foreach}
<tr id="HOOK_EXTRACARRIER">{$HOOK_EXTRACARRIER}</tr>
{/if}
</tbody>
</table>
<div style="display:none;" id="extra_carrier"></div>
{if $giftAllowed}
<h3 class="gift_title">{l s='Gift'}</h3>
<p class="checkbox">
<input type="checkbox" name="gift" id="gift" value="1" {if $cart->gift == 1}checked="checked"{/if} onclick="$('#gift_div').toggle('slow');" />
<label for="gift">{l s='I would like the order to be gift-wrapped.'}</label>
{if $gift_wrapping_price > 0}
({l s='Additional cost of'}
<span class="price" id="gift-price">
{if $priceDisplay == 1}{convertPrice price=$total_wrapping_tax_exc_cost}{else}{convertPrice price=$total_wrapping_cost}{/if}
</span>
{if $use_taxes}{if $priceDisplay == 1} {l s='(tax excl.)'}{else} {l s='(tax incl.)'}{/if}{/if})
{/if}
</p>
<p id="gift_div" class="textarea">
<label for="gift_message">{l s='If you wish, you can add a note to the gift:'}</label>
<textarea rows="5" cols="35" id="gift_message" name="gift_message">{$cart->gift_message|escape:'htmlall':'UTF-8'}</textarea>
</p>
{/if}
{/if}
{/if}
{if !$opc}
<p class="cart_navigation submit">
<input type="hidden" name="step" value="3" />
<input type="hidden" name="back" value="{$back}" />
<a href="{$link->getPageLink('order.php', true)}{if !$is_guest}?step=1{if $back}&back={$back}{/if}{/if}" title="{l s='Previous'}" class="button">« {l s='Previous'}</a>
<input type="submit" name="processCarrier" value="{l s='Next'} »" class="exclusive" />
</p>
</form>
{else}
<h3>{l s='Leave a message'}</h3>
<div>
<p>{l s='If you would like to add a comment about your order, please write it below.'}</p>
<p><textarea cols="120" rows="3" name="message" id="message">{if isset($oldMessage)}{$oldMessage}{/if}</textarea></p>
</div>
</div>
{/if}
 
Thanks,
 
JDub1337
Edited by JDub1337 (see edit history)
Link to comment
Share on other sites

Hey George, I am not sure what you mean by "best price" or what to try exactly? Yes, as far as I can tell my API login credentials are valid and confirmed. The only one I was unsure of was if the UPS Login and MyUPS ID were the same? I was unable to find anything in my UPS account that had two different ID's so I put the same for both and it did return it as "UPS Carrier is configured and online!". Nor sure where else to look. Thanks,

 

JDub1337

Link to comment
Share on other sites

  • 3 weeks later...

I seem to be having a similar problem. I've got the API key configured and connecting correctly. However, most of the delivery services are marked as (Not Available) at the bottom of the UPS module configuration. The only ones that are marked as (Available) are:

 

UPS Next Day Air (Available)

UPS Second Day Air (Available)

UPS Next Day Air Early A.M. (Available)

 

Which seems odd to me considering the most basic "Ground" and "Standard" are not marked as available. Why would only the most expensive options be available?

 

 

Those options are not avialiable with your ups account. Contact your account representative and have them added. 

  • Like 1
Link to comment
Share on other sites

I agree. From my current shipping location i have the same shipping options. Not all shipping options will be available from where you are shipping. I have tested this from different shipping locations and depending where i ship from, the availability for methods will change. also, if you have the option to set your shipping methods to "best price" or "best speed" this might help. as opposed to "default" carrier. I hope this helps.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Hey guys. Thank you for the input and sorry for the late replies. Been trying to get some other stuff done before coming back to the shipping rates. 

 

So, here is where I stand and I am to the point of complete frustration. I cannot for the life of me get the UPS rates to calculate correctly. For example:

 

Product weighing in at 15lbs total shipping weight in a box dimensions of 12x12x12 shipped to zip 90002 via UPS is producing a rate of 31.97$. Through prestashop the rate is bringing back a figure of 19.63$ with "Package" and "Split One Item Per Package" selected. I have gone into the "upscarrier.php" and changed the original dimensions trying to force the UPS carried module to update the correct dimensions.

 

From...

 

'width' => ($width > 0 ? $width : 7),
'height' => ($height > 0 ? $height : 3),
'depth' => ($depth > 0 ? $depth : 5),

 

To...

 

'width' => ($width > 0 ? $width : 12),
'height' => ($height > 0 ? $height : 12),
'depth' => ($depth > 0 ? $depth : 12),

 

I have done all of this without any luck and the rates are still being sent back as the super low figure. If I put the option as "All Items In One Box" its substantially lower. Can somebody please, please, please help me here? I have been trying to get this to work for the past three months on and off and I am still stuck. Thanks,

 

JDub1337

Edited by JDub1337 (see edit history)
Link to comment
Share on other sites

Hey guys, I also tried following these tutorials with no luck. Maybe you guys will see something that I did not. Links below.

 

http://www.prestashop.com/forums/topic/260904-tutorialhow-to-customize-ups-carrier-module-for-negotiated-rates/

 

http://www.prestashop.com/forums/topic/121834-shipping-charges-in-ups-module/

 

Thanks in advance.

 

JDub1337

Link to comment
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
×
×
  • Create New...