You are here

README.txt in FedEx Shipping 5

Same filename and directory in other branches
  1. 6.2 README.txt
  2. 6 README.txt
  3. 7.2 README.txt
  4. 7 README.txt
About
=====
This module is an implementation of FedEx shipping quotes for Ubercart.  It
allows you to quote FedEx shipping costs to your customer during checkout,
and lets your customer select FedEx services from among the shipping choices.

In the initial release, it gives administrators the ability to specify which
FedEx services to quote, along with various options regarding packaging and
pickup/dropoff.  The module will submit, retrieve, and display a quote in
the checkout page when the user clicks on "Calculate Shipping Rates" or when
a shipping addreses is entered.

Also included is a function that lets you track packages and display the
tracking information - this is not interfaced into the store administration
menus yet, but it does work if you want to use it to create your own tracking
page.

This module still has limitations and some hardwired values, which I've tried
to document here and in the code.  


Quick Start
===========
Check requirements:  PHP 5 built with --enable-soap, Drupal 5.3, Ubercart
Alpha 8.

Disable and *uninstall* any previous version of uc_fedex.  Copy this tarball
into your sites/all/modules directory and unzip/untar it.

In your web browser, navigate to admin/build/modules and enable the FedEx
module.  Go to admin/store/settings/quotes/methods/fedex and enter the required
information.  Finally, enable FedEx quotes admin/store/settings/quotes/methods

If this doesn't work, read the rest of this document (which you really should
have done first, anyway!).


Features
========
The quote is based on store zip code for the origination address, and customer
zip code (or country and zone, in the case of non-US customers) for the
destination address.  THE STORE ADDRESS MUST BE SET!  Check that now, I'll
wait... Package weight used is the sum of the product weights in the cart.
All products are assumed to be in one package.  An admin menu option lets you
chose a "Weight Markup" to be applied to every order - this can adjust the
package weight based on a percentage, a multiplier, or an addition, and is
meant to account for the additional weight of your packing materials.  A rate
markup is also provided, to adjust the shipping rate based on a percentage, a
multiplier, or an addition. The rate markup is used to compensate for handling
and other expenses you may incur that you want to lump in with the shipping
cost.  

The admin has the option of choosing Residential or Commercial quotes.
Shipping using the FedEx residential service costs a little more.  Shipping
to a residential address using the *commercial* service costs more plus
there's an added penalty.  So if you ship mainly to residences (whether
there is a business at that residence or not), use the Residential quotes
(default).  If your customers are mostly or all commercial addresses, you
may want to use the commercial quotes to present a slightly lower rate to
your customer.  Note that this selection does not actually affect the amount
you pay to FedEx for the package, but it DOES affect how much you collect
from your customer for shipping charges.

Tracking information may be obtained using the uc_fedex_tracking_request()
function.  An example of how to use this function is in the code comments.


Requirements
============
PHP 5 built with --enable-soap is REQUIRED for this to work.

The FedEx Web Services API uses SOAP over HTTP for communication with the
FedEx Server.  SOAP is a standard extension to PHP 5, but is only poorly
supported via a contributed library for PHP 4. Because of this, and because
Drupal is already planning on requiring PHP 5.2 (in version 7.0), and because
PHP 5 is widely available and several years old already, I have decided that
it doesn't make sense to try to force things to work with PHP 4.  So if you
need to use this module, you'll have to be running PHP 5.

I've tested it with all versions of Drupal 5.3 and greater, and all versions
of Ubercart 1.0 Alpha 8 and greater.  While it may run in older versions, I
won't promise anything.  Future version of this module WILL be backwards
compatible with this initial release.


Before You Begin
================
Rate quotes won't work until you obtain FedEx developer credentials.  These
credentials are easy (and free!) to obtain - you simply have to register on
the FedEx web site and you will have them in minutes.  FedEx credentials
consist of a Key, Password, Account Number, and Meter Number, and need to be
entered in the admin form at  admin/store/settings/quotes/methods/fedex once
you have installed the module.  There are two types of credentials - Test and
Production.  You will need to get your Test credentials first, before you
will be issued Production credentials.  

Test credentials allow you to make transactions on the FedEx Test Server.
I strongly suggest you do all your development on the Test server and move to
the Production server only when ready to go live.  While this module does NOT
make any transactions that will incur charges to your FedEx account, testing
can generate a lot of bogus and perhaps invalid transactions that are best
kept off the production machine.  Remember, YOU are responsible for your
FedEx developer credentials - if this module causes problems on the production
server YOU will be the one contacted.  I think we would both prefer that the
bugs were worked out on the Test Server!

Your Test credential Account Number is *not* the same as your normal FedEx
Shipper Account Number; because of this, any discount rates associated with
your Shipper Account will not be reflected in the rate quotes returned by the
Test server.  (The Production server, however, uses your normal Account Number
and *will* provide both list rates and discount rates.)

To obtain your FedEx Test Credentials, first register at:
http://www.fedex.com/us/developer/
Then navigate to:
https://www.fedex.com/wpor/web/jsp/drclinks.jsp?links=develop.html and fill
in the form.  Your credentials should be presented to you immediately
followed by the same information split into two separate e-mails.  Also
included will be instructions for obtaining your Production credentials,
when you need them.


Installation
============
Before you use this module, disable the *UNINSTALL* any previous version of
uc_fedex, then remove that code from your machine!  Although this module name
is the same as before, the operative portion of this code bears no resemblance
to the earlier version, and the earlier version will not be supported in any
way.  In particular there is no migration path for any product-specific data
you set up in the earlier version. 

Copy the tar.gz archive for this module into your sites/all/modules directory
and unzip/untar it.

In your web browser, navigate to admin/build/modules and enable the FedEx
module.  Go to admin/store/settings/quotes/methods/fedex and enter the required
information.  Finally, enable FedEx quotes admin/store/settings/quotes/methods

You should now be receiving FedEx quotes on your checkout page.  If you still
have problems see the "Troubleshooting" section below.


Limitations
===========
The package size is hardwired to 1"x1"x1" - this is the size FedEx uses
on their own web page to deliver a "quick quote".  A more detailed quote
requires actual package dimensions.  FedEx defines the "dimensional weight"
of a package as length x width x height in inches, divided by 194 (for
shipments within US - for international shipments divide by 186).  For this
hardwired box size, that comes out to a "dimensional weight" of less than
1 ounce.  FedEx will charge based on the greater of the actual weight and the
dimensional weight.  The quote presented to the customer ignores the
dimensional weight, and just returns the rate based on your package weight.
I plan to add package size controls similar to the uc_usps module.

All products are assumed to be in one package.  I'm not sure how best to deal
with orders that may require multiple packages.

Drop-shipping will be included, but for now everything ships from the store
address.

This module works for sending packages from US to other countries.  Quote
type MUST be set to ACCOUNT for international quotes to work.

I still have to decide how to handle the shipping date for the quote - it's
not as simple as entering the current day because, say, your customer chooses
"Next Day" delivery, but it's already after the shipping cutoff time - then
the ship date is NOT "today".  You don't want to be obligated to ship under
those conditions - I'm working on an admin config for the module that lets
you specify cutoff times and closed days for your store.


Troubleshooting
===============
Does your site have PHP 5 built with --enable-soap?  Execute <?php phpinfo()
?> to see the details of your PHP installation.

You did set your store address at admin/store/settings/store/edit , didn't you?

Check to see that you have entered the correct developer credentials - Test
credentials for the Test server, Production credentials for the Production
server.

Check the box "Display debug information to administrators" in the menu at
admin/store/settings/quotes/edit .  This will print debug information on the
checkout page, including the full request sent to the FedEx server and the
complete response.  Examine these lines carefully for any hints of what is
going wrong.

Read the comments in the code - there are some debugging print statements left
in that can be uncommented if you have problems, and there is a menu option in
the shipping quotes admin pane which lets you enable some other debug info.

File

README.txt
View source
  1. About
  2. =====
  3. This module is an implementation of FedEx shipping quotes for Ubercart. It
  4. allows you to quote FedEx shipping costs to your customer during checkout,
  5. and lets your customer select FedEx services from among the shipping choices.
  6. In the initial release, it gives administrators the ability to specify which
  7. FedEx services to quote, along with various options regarding packaging and
  8. pickup/dropoff. The module will submit, retrieve, and display a quote in
  9. the checkout page when the user clicks on "Calculate Shipping Rates" or when
  10. a shipping addreses is entered.
  11. Also included is a function that lets you track packages and display the
  12. tracking information - this is not interfaced into the store administration
  13. menus yet, but it does work if you want to use it to create your own tracking
  14. page.
  15. This module still has limitations and some hardwired values, which I've tried
  16. to document here and in the code.
  17. Quick Start
  18. ===========
  19. Check requirements: PHP 5 built with --enable-soap, Drupal 5.3, Ubercart
  20. Alpha 8.
  21. Disable and *uninstall* any previous version of uc_fedex. Copy this tarball
  22. into your sites/all/modules directory and unzip/untar it.
  23. In your web browser, navigate to admin/build/modules and enable the FedEx
  24. module. Go to admin/store/settings/quotes/methods/fedex and enter the required
  25. information. Finally, enable FedEx quotes admin/store/settings/quotes/methods
  26. If this doesn't work, read the rest of this document (which you really should
  27. have done first, anyway!).
  28. Features
  29. ========
  30. The quote is based on store zip code for the origination address, and customer
  31. zip code (or country and zone, in the case of non-US customers) for the
  32. destination address. THE STORE ADDRESS MUST BE SET! Check that now, I'll
  33. wait... Package weight used is the sum of the product weights in the cart.
  34. All products are assumed to be in one package. An admin menu option lets you
  35. chose a "Weight Markup" to be applied to every order - this can adjust the
  36. package weight based on a percentage, a multiplier, or an addition, and is
  37. meant to account for the additional weight of your packing materials. A rate
  38. markup is also provided, to adjust the shipping rate based on a percentage, a
  39. multiplier, or an addition. The rate markup is used to compensate for handling
  40. and other expenses you may incur that you want to lump in with the shipping
  41. cost.
  42. The admin has the option of choosing Residential or Commercial quotes.
  43. Shipping using the FedEx residential service costs a little more. Shipping
  44. to a residential address using the *commercial* service costs more plus
  45. there's an added penalty. So if you ship mainly to residences (whether
  46. there is a business at that residence or not), use the Residential quotes
  47. (default). If your customers are mostly or all commercial addresses, you
  48. may want to use the commercial quotes to present a slightly lower rate to
  49. your customer. Note that this selection does not actually affect the amount
  50. you pay to FedEx for the package, but it DOES affect how much you collect
  51. from your customer for shipping charges.
  52. Tracking information may be obtained using the uc_fedex_tracking_request()
  53. function. An example of how to use this function is in the code comments.
  54. Requirements
  55. ============
  56. PHP 5 built with --enable-soap is REQUIRED for this to work.
  57. The FedEx Web Services API uses SOAP over HTTP for communication with the
  58. FedEx Server. SOAP is a standard extension to PHP 5, but is only poorly
  59. supported via a contributed library for PHP 4. Because of this, and because
  60. Drupal is already planning on requiring PHP 5.2 (in version 7.0), and because
  61. PHP 5 is widely available and several years old already, I have decided that
  62. it doesn't make sense to try to force things to work with PHP 4. So if you
  63. need to use this module, you'll have to be running PHP 5.
  64. I've tested it with all versions of Drupal 5.3 and greater, and all versions
  65. of Ubercart 1.0 Alpha 8 and greater. While it may run in older versions, I
  66. won't promise anything. Future version of this module WILL be backwards
  67. compatible with this initial release.
  68. Before You Begin
  69. ================
  70. Rate quotes won't work until you obtain FedEx developer credentials. These
  71. credentials are easy (and free!) to obtain - you simply have to register on
  72. the FedEx web site and you will have them in minutes. FedEx credentials
  73. consist of a Key, Password, Account Number, and Meter Number, and need to be
  74. entered in the admin form at admin/store/settings/quotes/methods/fedex once
  75. you have installed the module. There are two types of credentials - Test and
  76. Production. You will need to get your Test credentials first, before you
  77. will be issued Production credentials.
  78. Test credentials allow you to make transactions on the FedEx Test Server.
  79. I strongly suggest you do all your development on the Test server and move to
  80. the Production server only when ready to go live. While this module does NOT
  81. make any transactions that will incur charges to your FedEx account, testing
  82. can generate a lot of bogus and perhaps invalid transactions that are best
  83. kept off the production machine. Remember, YOU are responsible for your
  84. FedEx developer credentials - if this module causes problems on the production
  85. server YOU will be the one contacted. I think we would both prefer that the
  86. bugs were worked out on the Test Server!
  87. Your Test credential Account Number is *not* the same as your normal FedEx
  88. Shipper Account Number; because of this, any discount rates associated with
  89. your Shipper Account will not be reflected in the rate quotes returned by the
  90. Test server. (The Production server, however, uses your normal Account Number
  91. and *will* provide both list rates and discount rates.)
  92. To obtain your FedEx Test Credentials, first register at:
  93. http://www.fedex.com/us/developer/
  94. Then navigate to:
  95. https://www.fedex.com/wpor/web/jsp/drclinks.jsp?links=develop.html and fill
  96. in the form. Your credentials should be presented to you immediately
  97. followed by the same information split into two separate e-mails. Also
  98. included will be instructions for obtaining your Production credentials,
  99. when you need them.
  100. Installation
  101. ============
  102. Before you use this module, disable the *UNINSTALL* any previous version of
  103. uc_fedex, then remove that code from your machine! Although this module name
  104. is the same as before, the operative portion of this code bears no resemblance
  105. to the earlier version, and the earlier version will not be supported in any
  106. way. In particular there is no migration path for any product-specific data
  107. you set up in the earlier version.
  108. Copy the tar.gz archive for this module into your sites/all/modules directory
  109. and unzip/untar it.
  110. In your web browser, navigate to admin/build/modules and enable the FedEx
  111. module. Go to admin/store/settings/quotes/methods/fedex and enter the required
  112. information. Finally, enable FedEx quotes admin/store/settings/quotes/methods
  113. You should now be receiving FedEx quotes on your checkout page. If you still
  114. have problems see the "Troubleshooting" section below.
  115. Limitations
  116. ===========
  117. The package size is hardwired to 1"x1"x1" - this is the size FedEx uses
  118. on their own web page to deliver a "quick quote". A more detailed quote
  119. requires actual package dimensions. FedEx defines the "dimensional weight"
  120. of a package as length x width x height in inches, divided by 194 (for
  121. shipments within US - for international shipments divide by 186). For this
  122. hardwired box size, that comes out to a "dimensional weight" of less than
  123. 1 ounce. FedEx will charge based on the greater of the actual weight and the
  124. dimensional weight. The quote presented to the customer ignores the
  125. dimensional weight, and just returns the rate based on your package weight.
  126. I plan to add package size controls similar to the uc_usps module.
  127. All products are assumed to be in one package. I'm not sure how best to deal
  128. with orders that may require multiple packages.
  129. Drop-shipping will be included, but for now everything ships from the store
  130. address.
  131. This module works for sending packages from US to other countries. Quote
  132. type MUST be set to ACCOUNT for international quotes to work.
  133. I still have to decide how to handle the shipping date for the quote - it's
  134. not as simple as entering the current day because, say, your customer chooses
  135. "Next Day" delivery, but it's already after the shipping cutoff time - then
  136. the ship date is NOT "today". You don't want to be obligated to ship under
  137. those conditions - I'm working on an admin config for the module that lets
  138. you specify cutoff times and closed days for your store.
  139. Troubleshooting
  140. ===============
  141. Does your site have PHP 5 built with --enable-soap? Execute
  142. ?> to see the details of your PHP installation.
  143. You did set your store address at admin/store/settings/store/edit , didn't you?
  144. Check to see that you have entered the correct developer credentials - Test
  145. credentials for the Test server, Production credentials for the Production
  146. server.
  147. Check the box "Display debug information to administrators" in the menu at
  148. admin/store/settings/quotes/edit . This will print debug information on the
  149. checkout page, including the full request sent to the FedEx server and the
  150. complete response. Examine these lines carefully for any hints of what is
  151. going wrong.
  152. Read the comments in the code - there are some debugging print statements left
  153. in that can be uncommented if you have problems, and there is a menu option in
  154. the shipping quotes admin pane which lets you enable some other debug info.