4

I've set up a working store using Expresso Store for my client that has been live for a few months now. (see http://shoptipsy.com/shop)

I'm trying to extend the functionality of their store using the Fedex shipping plugin Expresso offers. I've installed the Fedex Store plugin according to their instructions, enabled it and added the "test" credentials supplied by FedEx for their FedEx account.

Right now, the additional shipping options that are supposed to be added to my {field:shipping_method} template tag are not being added -- only the other shipping options I've already set up in the Store add-on are appearing. I'm seeing this behavior both on my local and staging servers.

Also, when I attempt to choose one of my existing shipping methods ("In-store pickup" for example), I get the following error and can't progress in the checkout:

Fatal error: Uncaught exception 'Store\Exception\ShippingException' with message 'Authentication Failed' in /storage/av01061/www/staging_html/tipsymin/expressionengine/third_party/store_fedex/ext.store_fedex.php:200 Stack trace: #0 /storage/av01061/www/staging_html/tipsymin/expressionengine/third_party/store_fedex/ext.store_fedex.php(132): Store_fedex_ext->parse_response(Object(Guzzle\Http\Message\Response)) #1 [internal function]: Store_fedex_ext->shipping_methods(Object(Store\Model\Order), Array) #2 /storage/av01061/www/staging_html/tipsymin/expressionengine/libraries/Extensions.php(262): call_user_func_array(Array, Array) #3 [internal function]: EE_Extensions->universal_call('store_order_shi...', Object(Store\Model\Order), Array) #4 /storage/av01061/www/staging_html/tipsymin/expressionengine/libraries/Extensions.php(119): call_user_func_array(Array, Array) #5 /storage/av01061/www/staging_html/tipsymin/expressionengine/third_party/store/src/Store/Service/OrdersService.php(491): EE_Extensions->call('store_order_shi...', in /storage/av01061/www/staging_html/tipsymin/expressionengine/third_party/store_fedex/ext.store_fedex.php on line 200

So it appears that the FedEx extension is doing something, but I'm not sure why I can't even see the options it is supposed to include in my auto-generated shipping methods dropdown.

To give some more info, my checkout process is broken into four screens:

  1. View the cart and confirm the contents
  2. Enter billing and shipping address and choose shipping method
  3. Enter payment details
  4. Order confirmation

Any help/suggestions are greatly appreciated. Thanks!

I'm running Store 2.0.4 and Store Fedex Shipping 1.0.2

  • I suggest updating to the most recent release of Store before embarking on troubleshooting. – Michael Rog Jan 14 '14 at 0:00
1

This error suggests that the authentication credentials you provided (in the Settings of the FedEx Shipping extension) are incorrect.

Your best bet is probably to contact FedEx (c.f. http://www.fedex.com/us/developer/) to make sure that (a) your account credentials are correct, and (b) your FedEx account is enabled for third-party integration.

(The FedEx Shipping extension won't add FedEx as an option in the shipping dropdown in your Store templates unless it can successfully authenticate with your FedEx account to retrieve a shipping cost.)

| improve this answer | |
  • Thanks for the guidance Michael. I'll give it a try and update here with the resolution. – Adam Snetman Jan 14 '14 at 14:30
  • Once I went back to FedEx and made sure to get a Production key, password and meter number, I was able to advance through my checkout process. One additional problem I'm encountering: it seems like I need to separate the shipping choice selection into a checkout step that will happen after the shipping address is entered. Right now they are on the same step, so if the cart doesn't already know what the shipping address is, the FedEx shipping options don't get added to the dropdown. – Adam Snetman Jan 15 '14 at 21:43
  • Yes, that's the rub -- You'll have to tweak your checkout workflow so that the customer has provided their shipping info before they get to the Shipping Options dropdown. I usually omit the grand total from the first checkout screen, add a "Continue to Shipping Options" submit button, set the addresses on the second page, and then have the shipping and billing controls last, with a "Re-calculate Shipping" button that updates the shipping price and totals if they've changed their selection. Store is flexible enough to accomplish just about any workflow you can dream up. – Michael Rog Jan 16 '14 at 7:51
  • In the continuing saga, I've got everything working (I broke up the flow similar to what you suggested) except it seems like the charges I'm getting back from the Fedex API aren't taking into account the added weight if multiple items. For example, I get the same shipping costs calculated for one 1lb item in my cart as for 200 of that same item. Ever run into this issue? Is there a way to verify that correct weights are being sent and taken into account by the API? – Adam Snetman Jan 17 '14 at 3:28
  • Hmmm, well, now we're a bit avove my paygrade. That would be a great topic for a separate SE question. – Michael Rog Jan 17 '14 at 8:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.