Real-time Shipping Help

PLEASE NOTE: This is an OPTIONAL feature that may NOT be available for all stores. Check with your hosting company to make sure this feature is available for use on their servers. There may be an extra charge for this feature or it may not be compatible with their specific type of server.

If available, this feature of the store allows you to activate and control real-time shipping calculations for Federal Express and United Parcel Service.

IMPORTANT: Any Real-time shipping costs that are activated in this section of the store, are done so in addition to any of the other shipping calculations (US or INTERNATIONAL) that have been defined on the Main Menu. These real-time shipping costs will be inserted at the top of the Shipping Method Selection List during customer checkout.

NOTE: if you activate any of the real-time calculations, the store will need to communicate directly with each shipping vendors' web site during customer checkout in order to obtain shipping costs.

Depending on your web server's speed, the number of calculations needed, and the speed of the Internet, this will most likely cause a delay during checkout while the store is waiting for each shipping vendor to calculate and return shipping costs. This will occur just prior to the page where the customer selects their desired shipping method and cost.


ASSUMPTIONS: Real-time shipping calculations assume the following for each order:

1) Each order is shipped from a single location.
2) Each order is shipped in a single package.
3) Each shipment is done so using "Custom Packaging" for rate calculations.
4) Each product ordered has the correct weight assigned in its product record. If no weight is detected for the order, the store will insert the minimum allowed weight amount before asking the shipping vendor's web site for rates.


SERVER REQUIREMENTS: Real-time shipping calculations require the use of SSL (Secure Sockets Layer) during communications with the various shipping vendors' web sites.

This software was designed to work with OpenSSL v0.9.7b (or later). Your store DOES NOT need its own SSL certificate to use this feature. However, OpenSSL v0.9.7b (or later) must be installed and active on the web server hosting your store. As long as OpenSSL is installed somewhere on the server, this store can use it.

Real-time shipping calcs do not require a SSL certificate for any particular domain name. The store only requires that OpenSSL v0.9.7b (or later) be installed somewhere on the server (normally by the server's IP address) so it can use the OpenSSL standard libraries for communications. Please ask your internet provider for assistance with OpenSSL if you have any questions.

NOTE: Some store users have reported that the real-time shipping calcs do work on their server with OpenSSL v0.9.6 installed. However, we recommend all servers be upgraded to the most recent version of OpenSSL (for security reasons). Please visit www.OpenSSL.org for more information.

To view the OpenSSL operating system (OS) binaries required for your server, type the following command using Telnet or SSH while in the store's main directory (where are the store's CGI program are located which is usually called Qstore):

ldd Qshipping.cgi

This will display a list of Linux OS binaries required for the real-time shipping calculations to function on your server. The list will look something like this:

libpthread.so.0 => /lib/i686/libpthread.so.0
libssl.so.1 => not found
libcrypto.so.1 => not found
libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3
libm.so.6 => /lib/i686/libm.so.6
libc.so.6 => /lib/i686/libc.so.6
libdl.so.2 => /lib/libdl.so.2
/lib/ld-linux.so.2 => /lib/ld-linux.so.2

The left side of each line shows the required libraries. The right side of each line shows where the server is looking and has found the library. If any of them say "not found", then those libraries are missing or not where the server can find them.

Linux servers look in certain default directories (called a default system path) for these libraries. Make sure your server has the missing libraries installed, and that they are located in one of the default system directories on the server (usually /lib or /usr/lib). You may need to install them onto your server or possibly copy them to the correct default system directory so the server can find them. Be sure to set the permissions on these binaries to "root" as the owner and group and make sure the set permissions ("chmod" command) to at least 755 or 775.

The exact version and name of these required libraries makes all the difference. The names are case sensitive and the versions must match exactly. If these libraries are being symlinked (file name redirected) to some other library or version, then the store will NOT be able to run the real-time shipping calcs.

SPECIAL ENSIM GUI NOTES:
If you are using a GUI like Ensim, please be advised that Ensim does a few things things differently for each web site (versus a tradition Linux server).

Ensim creates a Virtual Root Directory (VRD) for each web site on the server. That way each web site has it's own DUPLICATE COPY of operating system commands and libraries inside it's own "private" VRD space. This means there can be literally hundreds of copies of these files, commands and libraries all over your server. Ensim does this to keep each web site out of the "real" server root directory by mapping everything into the web site's VRD. They do this for what they perceive as a needed security level.

This has an important side effect on the store programs (and other web programs trying to locate and use OS libraries directly).

When a CGI program (e.g. store program) runs, Ensim maps the OS calls to the VRD of the web site. This means that all the required OS libraries listed above by the ldd Qshipping.cgi command must not only exist on the server in the default system directory but also in the web site's VRD. You may need to copy the required OS library files from the default system directory to the web site's VRD. Don't forget to set permissions correctly after the copy.

Finally, Ensim causes one more problem that must be fixed. You may find that some of the required OS libraries may already exist in the web site's VRD but they will be symlinked (redirected by file name) to some other operating system library file. This can be viewed by listing the full directory entry for each required library. This command needs to be run for each library name listed:

ls <filename> -la

Example:

Ls libssl.so.1 -la

A non-symlinked library will look something like this:

-rwxr-xr-x 1 admin root 203467 Jan 15 08:36 libssl.so.1

While a symlinked library would look like this:

-rwxr-xr-x 1 admin root 203467 Jan 15 08:36 libssl.so.1 -> libssl.so.5

Real-time shipping calculations require that all the required OS libraries listed above by the ldd Qshipping.cgi command exist in the VRD and be the correct version and name (e.g. NOT BE SYMLINKED to another version of the file.) You will have to remove some of the symlinks affecting the store's required libraries (using the linux "rm" command) and copy the true library file and version (from the server's real default system directories) into the VRD for the web site (using the "cp" command). That way the EXACT correct version and EXACT name of the required OS file will be run from inside the web site's VRD when the store needs it.

TIP: since you are only changing the VRD for this web site and not any of the server's real root directory files, you will not cause problems with your server by making these changes. Just make sure you are always located inside the web site's VRD directory and not anywhere else on the server when making these changes. That way, you will only affect the operation of this one web site.

There may be a way to tweak Ensim to set all of this up by default when a new web site is created on your server. Please talk to Ensim Technical Support.

ONE FINAL NOTE: the store software was built in autonomous "modules" whereby all the real-time shipping calcs occur only inside of a single program. If for some reason your server is not able to run this part of the store, the rest of your store will still operate correctly. Only the real-time shipping calcs would not be accessible. Everything else on the store's Main Menu would still run properly.


The Real-time Shipping Menu
For each of the shipping vendors, the Real-Time Shipping Menu allows you to setup and control real-time shipping calculations.

The menu has links for each vendor that takes you to a setup page for that vendor. To the right of each link is the current status ("ACTIVE" or "not active") of that vendor's real-time calculations.

To activate, deactivate, or otherwise control any of the shipping vendors' real-time calculations, simply click on the vendor's link provided in the menu.

End of help for this topic