Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

usps api shipping label, online labels integrated


goldencrown

Recommended Posts

This contributions ties osCommerece to USPS website. So you don't have to type in every order. There are two improvements that need to be made one the weight issue if any one knows where that is stored let me know so i can update that. Two the shipping state USPS web site takes it abbreviated where is osCommerece gives us the full name any ideas on how to make a work around would be great.

 

http://www.oscommerce.com/community/contributions,1498

Biscochitos almost as good as grandma

Link to comment
Share on other sites

  • Replies 156
  • Created
  • Last Reply

Top Posters In This Topic

Maybe a conditional drop-down for US States could be used if the profile country is marked "United States". A table could be added to hold the state names and 2 letter abbreviations just like the countries field. I can probably do this if I can stay awake tonight :)

 

Will the USPS API allow for International shipment, or is this strictly in the US?

 

David

Link to comment
Share on other sites

ok I solved the state problem. I created a switch statement that match?s the name of the state with the abbreviation. It just won?t display in the state field. So if you have any ideas to fix it that would be great.

 

I still can not find where the total order weight is stored.

Biscochitos almost as good as grandma

Link to comment
Share on other sites

The best I can tell, shipping_weight is determined in catalog/includes/classes/shipping.php and that variable is used by the other shipping mods I have looked through. It doesn't seem to be stored in the database. Hope that helps, I am no pro at this stuff but I like this idea.

 

David

Link to comment
Share on other sites

I will checkout the shipping.php file and see if I can find the formula that calculates the total weight. I spent most of the day looking for the total weight and this is the closet I have come up with. This is located in the admin/invoce.php

 

 

 

<?php

for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) {

echo ' <tr>' . "n" .

' ' . $order->totals[$i]['title'] . '</td>' . "n" .

' </tr>' . "n";

}

?>

 

I put this code in on the diffrentshipping.php file and the customershipinglabel.php. What it does is display the total weight before the package information on the usps interface. so that who ever is processing the order does not have to go back to oscommerce to see what the weight is. I will add this as an up date to this contribution.

Biscochitos almost as good as grandma

Link to comment
Share on other sites

  • 3 weeks later...

I have this almost working. Hope someone can help, I'm looking forward to automating the labeling process.

 

When the UPS label buttons are clicked I get a url as follows:

http://www.mydomain.com/store/admin/FILENA...PINGLABEL?oID=7

 

Obviously I need to get it to replace FILENAME_CUSTOMERSHIPPINGLABEL so the url looks like:

http://www.mydomain.com/store/admin/custom...label.php?oID=7

 

What did I miss?

 

I used the orders.php file that was included but had to remove the the order tracking lines from line 374 to 397. Do I need to replace those and add order tracking to make this work?

 

Thanks

 

Tom

Link to comment
Share on other sites

  • 2 weeks later...

Hello Tom

 

Sorry about the delay in replaying to your problem.

 

When you are editing the orders.php file you should be able to just edit the code by inserting

 

<a href="' . tep_href_link(FILENAME_ORDERS_CUSTOMERSHIPPINGLABEL, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_labelcustomer.gif', IMAGE_ORDERS_labelcustomer) . '</a>
	 <a href="' . tep_href_link(FILENAME_ORDERS_diffrentshipping, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_labelshipping.gif', IMAGE_ORDERS_diffrentshipping) . '</a>

 

the orignal code looks like this

 <td colspan="2" align="right"><?php echo '
                       <a href="' . tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> 
         <a href="' . tep_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a> 	 
	 <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action'))) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>
     </tr>

 

hope this helps

Biscochitos almost as good as grandma

Link to comment
Share on other sites

I have this almost working. Hope someone can help, I'm looking forward to automating the labeling process.

 

When the UPS label buttons are clicked I get a url as follows:

http://www.mydomain.com/store/admin/FILENA...PINGLABEL?oID=7

 

Obviously I need to get it to replace FILENAME_CUSTOMERSHIPPINGLABEL so the url looks like:

http://www.mydomain.com/store/admin/custom...label.php?oID=7

 

What did I miss?

 

I used the orders.php file that was included but  had to remove the the order tracking lines from line 374 to 397. Do I need to replace those and add order tracking to make this work?

 

Thanks

 

Tom

im am having the same problem please help would love to uses this

Edited by pko
Link to comment
Share on other sites

if anyone having the same problem as i had above do this

 

add this

define('FILENAME_ORDERS_CUSTOMERSHIPPINGLABEL', 'customershippinglabel.php');
 define('FILENAME_ORDERS_diffrentshipping', 'diffrentshipping.php');

 

to filename.php at the bottom

Link to comment
Share on other sites

Cool, the additions to filenames.php was the fix I needed!

 

Here is a question. What is the difference between the two buttons, USPS Label Customer and USPS Label Shipping. They both seem to give the same results when clicked.

 

Also, the USPS form has all the fields nicely filled out but the shipping date is wrong. It shows September dates. Any ideas what needs to be reset?

 

Thanks much. This will be my new shipping shortcut! Too bad there isn't such a thing for UPS or fedex.

 

tom

Link to comment
Share on other sites

Also, the USPS form has all the fields nicely filled out but the shipping date is wrong. It shows September dates. Any ideas what needs to be reset?

 

There is no need to worry about the shipping date. What will happen is the USPS web site will change to the current date. When you are on the last step of checking out, it will reflect this. But if you are planning on dropping off the order one or two days from the current date there will be a problem. If any one knows how to query the server for the current date I think I can create a formula to make the drop down with the current dates.

 

Here is a question. What is the difference between the two buttons, USPS Label Customer and USPS Label Shipping. They both seem to give the same results when clicked.

 

The reason for the two buttons is because some times the shipping info does not appear for what ever reason. I had a few orders that have that issue. So I gave the two buttons for that scenario.

 

 

I have started to look at the ups.com web site for shipping and it looks a lot more difficult. So it will be a while before I am able to get something designed for that.

Biscochitos almost as good as grandma

Link to comment
Share on other sites

  • 3 weeks later...

In the configuration for this contribution, is there an option that doesn't charge me for shipping?

 

I already have a PB machine and can generate labels out of QuickBooks that have no postage and are simply metered on my machine.

 

I'd like to be able to do the same out of osCommerce.

Link to comment
Share on other sites

In the configuration for this contribution, is there an option that doesn't charge me for shipping?

 

Yes during the process of checking out on the USPS web site you have the option of either paying for shipping label or don't pay. When you select not to pay the postal services web site then will give you a label with a tracking number.

Biscochitos almost as good as grandma

Link to comment
Share on other sites

Could someone with fresher eyes take a look at this and tell me why this is hosing all of my order information? Thanks,

 

Tom

 

  
<?php
/*
$Id: orders.php,v 1.107 2003/02/06 17:37:08 thomasamoulton Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2002 osCommerce

Released under the GNU General Public License
*/

require('includes/application_top.php');

require(DIR_WS_CLASSES . 'currencies.php');
$currencies = new currencies();

$orders_statuses = array();
$orders_status_array = array();
$orders_status_query = tep_db_query("select orders_status_id, orders_status_name from " . TABLE_ORDERS_STATUS . " where language_id = '" . $languages_id . "'");
while ($orders_status = tep_db_fetch_array($orders_status_query)) {
  $orders_statuses[] = array('id' => $orders_status['orders_status_id'],
                             'text' => $orders_status['orders_status_name']);
  $orders_status_array[$orders_status['orders_status_id']] = $orders_status['orders_status_name'];
}

switch ($HTTP_GET_VARS['action']) {
  case 'update_order':
    $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);
    $status = tep_db_prepare_input($HTTP_POST_VARS['status']);
    $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);
/*Tracking contribution begin*/
    $ups_track_num = tep_db_prepare_input($HTTP_POST_VARS['ups_track_num']);
    $ups_track_num2 = tep_db_prepare_input($HTTP_POST_VARS['ups_track_num2']);
    $ups_track_num3 = tep_db_prepare_input($HTTP_POST_VARS['ups_track_num3']);
    $usps_track_num = tep_db_prepare_input($HTTP_POST_VARS['usps_track_num']);
    $usps_track_num2 = tep_db_prepare_input($HTTP_POST_VARS['usps_track_num2']);
    $usps_track_num3 = tep_db_prepare_input($HTTP_POST_VARS['usps_track_num3']);
    $fedex_track_num = tep_db_prepare_input($HTTP_POST_VARS['fedex_track_num']);
    $fedex_track_num2 = tep_db_prepare_input($HTTP_POST_VARS['fedex_track_num2']);
    $fedex_track_num3 = tep_db_prepare_input($HTTP_POST_VARS['fedex_track_num3']);
/*Tracking contribution end*/

    $order_updated = false;
/*Tracking contribution begin*/
    $check_status_query = tep_db_query("select customers_name, customers_email_address, orders_status, fedex_track_num, ups_track_num, usps_track_num, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . tep_db_input($oID) . "'");
/*Tracking contribution end*/      $check_status = tep_db_fetch_array($check_status_query);
    if ($check_status['orders_status'] != $status || $comments != '') {
      tep_db_query("update " . TABLE_ORDERS . " set orders_status = '" . tep_db_input($status) . "', last_modified = now() where orders_id = '" . tep_db_input($oID) . "'");

/*Tracking contribution begin*/
      $customer_notified = '0';
      if ($HTTP_POST_VARS['notify'] == 'on' & $ups_track_num == '' & $fedex_track_num == '' & $usps_track_num == '' ) {
        $notify_comments = '';
        if ($HTTP_POST_VARS['notify_comments'] == 'on') {
          $notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";
        }
        $email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);
        tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, nl2br($email), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
        $customer_notified = '1';
}elseif ($HTTP_POST_VARS['notify'] == 'on' & tep_not_null($ups_track_num) & $fedex_track_num == '' & $usps_track_num == '' ) {
        $notify_comments = '';
        if ($HTTP_POST_VARS['notify_comments'] == 'on') {
          $notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";
        }
        $email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . EMAIL_TEXT_TRACKING_NUMBER . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);
        tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, nl2br($email), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
        $customer_notified = '1';
}elseif ($HTTP_POST_VARS['notify'] == 'on' & $ups_track_num == '' & tep_not_null($fedex_track_num) & $usps_track_num == '' ) {
        $notify_comments = '';
        if ($HTTP_POST_VARS['notify_comments'] == 'on') {
          $notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";
        }
        $email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . EMAIL_TEXT_TRACKING_NUMBER . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);
        tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, nl2br($email), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
        $customer_notified = '1';
}elseif ($HTTP_POST_VARS['notify'] == 'on' & $ups_track_num == '' & $fedex_track_num == '' & tep_not_null($usps_track_num) ) {
        $notify_comments = '';
        if ($HTTP_POST_VARS['notify_comments'] == 'on') {
          $notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";
        }
        $email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . EMAIL_TEXT_TRACKING_NUMBER . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);
        tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, nl2br($email), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
        $customer_notified = '1';
      }
/*Tracking contribution end*/

      tep_db_query("insert into " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('" . tep_db_input($oID) . "', '" . tep_db_input($status) . "', now(), '" . $customer_notified . "', '" . tep_db_input($comments)  . "')");

      $order_updated = true;
    }

/*Tracking contribution begin*/
    if (tep_not_null($ups_track_num)) {
      tep_db_query("update " . TABLE_ORDERS . " set ups_track_num = '" . tep_db_input($ups_track_num) . "' where orders_id = '" . tep_db_input($oID) . "'");
      $order_updated = true;
    }
    if (tep_not_null($ups_track_num2)) {
      tep_db_query("update " . TABLE_ORDERS . " set ups_track_num2 = '" . tep_db_input($ups_track_num2) . "' where orders_id = '" . tep_db_input($oID) . "'");
      $order_updated = true;
    }
    if (tep_not_null($ups_track_num3)) {
      tep_db_query("update " . TABLE_ORDERS . " set ups_track_num3 = '" . tep_db_input($ups_track_num3) . "' where orders_id = '" . tep_db_input($oID) . "'");
      $order_updated = true;
    }

    if (tep_not_null($usps_track_num)) {
      tep_db_query("update " . TABLE_ORDERS . " set usps_track_num = '" . tep_db_input($usps_track_num) . "' where orders_id = '" . tep_db_input($oID) . "'");
      $order_updated = true;
    }
    if (tep_not_null($usps_track_num2)) {
      tep_db_query("update " . TABLE_ORDERS . " set usps_track_num2 = '" . tep_db_input($usps_track_num2) . "' where orders_id = '" . tep_db_input($oID) . "'");
      $order_updated = true;
    }
    if (tep_not_null($usps_track_num3)) {
      tep_db_query("update " . TABLE_ORDERS . " set usps_track_num3 = '" . tep_db_input($usps_track_num3) . "' where orders_id = '" . tep_db_input($oID) . "'");
      $order_updated = true;
    }

    if (tep_not_null($fedex_track_num)) {
      tep_db_query("update " . TABLE_ORDERS . " set fedex_track_num = '" . tep_db_input($fedex_track_num) . "' where orders_id = '" . tep_db_input($oID) . "'");
      $order_updated = true;
    }
    if (tep_not_null($fedex_track_num2)) {
      tep_db_query("update " . TABLE_ORDERS . " set fedex_track_num2 = '" . tep_db_input($fedex_track_num2) . "' where orders_id = '" . tep_db_input($oID) . "'");
      $order_updated = true;
    }
    if (tep_not_null($fedex_track_num3)) {
      tep_db_query("update " . TABLE_ORDERS . " set fedex_track_num3 = '" . tep_db_input($fedex_track_num3) . "' where orders_id = '" . tep_db_input($oID) . "'");
      $order_updated = true;
    }
/*Tracking contribution end*/

    if ($order_updated) {
     $messageStack->add_session(SUCCESS_ORDER_UPDATED, 'success');
    } else {
      $messageStack->add_session(WARNING_ORDER_NOT_UPDATED, 'warning');
    }

    tep_redirect(tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=edit'));
    break;
  case 'deleteconfirm':
    $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);

    tep_remove_order($oID, $HTTP_POST_VARS['restock']);

    tep_redirect(tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action'))));
    break;
}

if ( ($HTTP_GET_VARS['action'] == 'edit') && ($HTTP_GET_VARS['oID']) ) {
  $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);

  $orders_query = tep_db_query("select orders_id from " . TABLE_ORDERS . " where orders_id = '" . tep_db_input($oID) . "'");
  $order_exists = true;
  if (!tep_db_num_rows($orders_query)) {
    $order_exists = false;
    $messageStack->add(sprintf(ERROR_ORDER_DOES_NOT_EXIST, $oID), 'error');
  }
}

include(DIR_WS_CLASSES . 'order.php');
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
<!-- header //-->
<?php
require(DIR_WS_INCLUDES . 'header.php');
?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="2" cellpadding="2">
<tr>
  <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
  </table></td>
<!-- body_text //-->
  <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<?php
if ( ($HTTP_GET_VARS['action'] == 'edit') && ($order_exists) ) {
  $order = new order($oID);
?>
    <tr>
      <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
        <tr>
          <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
          <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>
          <td class="pageHeading" align="right"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action'))) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>
        </tr>
      </table></td>
    </tr>
    <tr>
      <td><table width="100%" border="0" cellspacing="0" cellpadding="2">
        <tr>
          <td colspan="3"><?php echo tep_draw_separator(); ?></td>
        </tr>
        <tr>
          <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
            <tr>
              <td class="main" valign="top"><b><?php echo ENTRY_CUSTOMER; ?></b></td>
              <td class="main"><?php echo tep_address_format($order->customer['format_id'], $order->customer, 1, ' ', '<br>'); ?></td>
            </tr>
            <tr>
              <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
            </tr>
            <tr>
              <td class="main"><b><?php echo ENTRY_TELEPHONE; ?></b></td>
              <td class="main"><?php echo $order->customer['telephone']; ?></td>
            </tr>
            <tr>
              <td class="main"><b><?php echo ENTRY_EMAIL_ADDRESS; ?></b></td>
              <td class="main"><?php echo '<a href="mailto:' . $order->customer['email_address'] . '"><u>' . $order->customer['email_address'] . '</u></a>'; ?></td>
            </tr>
          </table></td>
          <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
            <tr>
              <td class="main" valign="top"><b><?php echo ENTRY_SHIPPING_ADDRESS; ?></b></td>
              <td class="main"><?php echo tep_address_format($order->delivery['format_id'], $order->delivery, 1, ' ', '<br>'); ?></td>
            </tr>
          </table></td>
          <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
            <tr>
              <td class="main" valign="top"><b><?php echo ENTRY_BILLING_ADDRESS; ?></b></td>
              <td class="main"><?php echo tep_address_format($order->billing['format_id'], $order->billing, 1, ' ', '<br>'); ?></td>
            </tr>
          </table></td>
        </tr>
      </table></td>
    </tr>
    <tr>
      <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
    </tr>
    <tr>
      <td><table border="0" cellspacing="0" cellpadding="2">
        <tr>
          <td class="main"><b><?php echo ENTRY_PAYMENT_METHOD; ?></b></td>
          <td class="main"><?php echo $order->info['payment_method']; ?></td>
        </tr>
<?php
  if ( (($order->info['cc_type']) || ($order->info['cc_owner']) || ($order->info['cc_number'])) ) {
?>
        <tr>
          <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
        </tr>
        <tr>
          <td class="main"><?php echo ENTRY_CREDIT_CARD_TYPE; ?></td>
          <td class="main"><?php echo $order->info['cc_type']; ?></td>
        </tr>
        <tr>
          <td class="main"><?php echo ENTRY_CREDIT_CARD_OWNER; ?></td>
          <td class="main"><?php echo $order->info['cc_owner']; ?></td>
        </tr>
        <tr>
          <td class="main"><?php echo ENTRY_CREDIT_CARD_NUMBER; ?></td>
          <td class="main"><?php echo $order->info['cc_number']; ?></td>
        </tr>
        <tr>
          <td class="main"><?php echo ENTRY_CREDIT_CARD_EXPIRES; ?></td>
          <td class="main"><?php echo $order->info['cc_expires']; ?></td>
        </tr>
<?php
  }
?>
      </table></td>
    </tr>
    <tr>
      <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
    </tr>
    <tr>
      <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
        <tr class="dataTableHeadingRow">
          <td class="dataTableHeadingContent" colspan="2"><?php echo TABLE_HEADING_PRODUCTS; ?></td>
          <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS_MODEL; ?></td>
          <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TAX; ?></td>
          <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_EXCLUDING_TAX; ?></td>
          <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_INCLUDING_TAX; ?></td>
          <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_EXCLUDING_TAX; ?></td>
          <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_INCLUDING_TAX; ?></td>
        </tr>
<?php
  for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {
    echo '          <tr class="dataTableRow">' . "\n" .
         '            <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .
         '            <td class="dataTableContent" valign="top">' . $order->products[$i]['name'];

    if (sizeof($order->products[$i]['attributes']) > 0) {
      for ($j = 0, $k = sizeof($order->products[$i]['attributes']); $j < $k; $j++) {
        echo '<br><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'];
        if ($order->products[$i]['attributes'][$j]['price'] != '0') echo ' (' . $order->products[$i]['attributes'][$j]['prefix'] . $currencies->format($order->products[$i]['attributes'][$j]['price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . ')';
        echo '</i></small></nobr>';
      }
    }

    echo '            </td>' . "\n" .
         '            <td class="dataTableContent" valign="top">' . $order->products[$i]['model'] . '</td>' . "\n" .
         '            <td class="dataTableContent" align="right" valign="top">' . tep_display_tax_value($order->products[$i]['tax']) . '%</td>' . "\n" .
         '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format($order->products[$i]['final_price'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .
         '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .
         '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format($order->products[$i]['final_price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .
         '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n";
    echo '          </tr>' . "\n";
  }
?>
        <tr>
          <td align="right" colspan="8"><table border="0" cellspacing="0" cellpadding="2">
<?php
  for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) {
    echo '              <tr>' . "\n" .
         '                <td align="right" class="smallText">' . $order->totals[$i]['title'] . '</td>' . "\n" .
         '                <td align="right" class="smallText">' . $order->totals[$i]['text'] . '</td>' . "\n" .
         '              </tr>' . "\n";
  }
?>
          </table></td>
        </tr>
      </table></td>
    </tr>
    <tr>
      <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
    </tr>
    <tr>
      <td class="main"><table border="1" cellspacing="0" cellpadding="5">
        <tr>
          <td class="smallText" align="center"><b><?php echo TABLE_HEADING_DATE_ADDED; ?></b></td>
          <td class="smallText" align="center"><b><?php echo TABLE_HEADING_CUSTOMER_NOTIFIED; ?></b></td>
          <td class="smallText" align="center"><b><?php echo TABLE_HEADING_STATUS; ?></b></td>
          <td class="smallText" align="center"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>
        </tr>
<?php
  $orders_history_query = tep_db_query("select orders_status_id, date_added, customer_notified, comments from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . tep_db_input($oID) . "' order by date_added");
  if (tep_db_num_rows($orders_history_query)) {
    while ($orders_history = tep_db_fetch_array($orders_history_query)) {
      echo '          <tr>' . "\n" .
           '            <td class="smallText" align="center">' . tep_datetime_short($orders_history['date_added']) . '</td>' . "\n" .
           '            <td class="smallText" align="center">';
      if ($orders_history['customer_notified'] == '1') {
        echo tep_image(DIR_WS_ICONS . 'tick.gif', ICON_TICK) . "</td>\n";
      } else {
        echo tep_image(DIR_WS_ICONS . 'cross.gif', ICON_CROSS) . "</td>\n";
      }
      echo '            <td class="smallText">' . $orders_status_array[$orders_history['orders_status_id']] . '</td>' . "\n" .
           '            <td class="smallText">' . nl2br(tep_db_output($orders_history['comments'])) . ' </td>' . "\n" .
           '          </tr>' . "\n";
    }
  } else {
      echo '          <tr>' . "\n" .
           '            <td class="smallText" colspan="5">' . TEXT_NO_ORDER_HISTORY . '</td>' . "\n" .
           '          </tr>' . "\n";
  }
?>
      </table></td>
    </tr>
    <tr>
      <td class="main"><br><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>
    </tr>
    <tr>
      <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
    </tr>
    <tr><?php echo tep_draw_form('status', FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=update_order'); ?>
      <td class="main"><?php echo tep_draw_textarea_field('comments', 'soft', '60', '5'); ?></td>
    </tr>
    <tr>
      <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
    </tr>
<?php
/*Tracking contribution begin*/
?>
    <tr>
      <td class="main"><b><?php echo TABLE_HEADING_UPS_TRACKING; ?></b>  <?php echo tep_draw_textbox_field('ups_track_num', '20', '18', '', $order->info['ups_track_num']); ?>  <?php echo tep_draw_textbox_field('ups_track_num2', '20', '18', '', $order->info['ups_track_num2']); ?>  <?php echo tep_draw_textbox_field('ups_track_num3', '20', '18', '', $order->info['ups_track_num3']); ?></td>
    </tr>
    <tr>
      <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
    </tr>
    <tr>
      <td class="main"><b><?php echo TABLE_HEADING_FEDEX_TRACKING; ?></b>  <?php echo tep_draw_textbox_field('fedex_track_num', '20', '18', '', $order->info['fedex_track_num']); ?>  <?php echo tep_draw_textbox_field('fedex_track_num2', '20', '18', '', $order->info['fedex_track_num2']); ?>  <?php echo tep_draw_textbox_field('fedex_track_num3', '20', '18', '', $order->info['fedex_track_num3']); ?></td>
    </tr>
    <tr>
      <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
    </tr>
    <tr>
      <td class="main"><b><?php echo TABLE_HEADING_USPS_TRACKING; ?></b>  <?php echo tep_draw_textbox_field('usps_track_num', '24', '24', '', $order->info['usps_track_num']); ?>  <?php echo tep_draw_textbox_field('usps_track_num2', '24', '24', '', $order->info['usps_track_num2']); ?>  <?php echo tep_draw_textbox_field('usps_track_num3', '24', '24', '', $order->info['usps_track_num3']); ?></td>
    </tr>
    <tr>
      <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
    </tr>
<?php
/*Tracking contribution end*/
?>
    <tr>
      <td><table border="0" cellspacing="0" cellpadding="2">
        <tr>
          <td><table border="0" cellspacing="0" cellpadding="2">
            <tr>
              <td class="main"><b><?php echo ENTRY_STATUS; ?></b> <?php echo tep_draw_pull_down_menu('status', $orders_statuses, $order->info['orders_status']); ?></td>
            </tr>
            <tr>
              <td class="main"><b><?php echo ENTRY_NOTIFY_CUSTOMER; ?></b> <?php echo tep_draw_checkbox_field('notify', '', true); ?></td>
              <td class="main"><b><?php echo ENTRY_NOTIFY_COMMENTS; ?></b> <?php echo tep_draw_checkbox_field('notify_comments', '', true); ?></td>
            </tr>
          </table></td>
          <td valign="top"><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?></td>
        </tr>
      </table></td>
    </form></tr>
    <tr>
    
      <td colspan="2" align="right"><?php echo '
                       <a href="' . tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> 
              <a href="' . tep_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a>
          <a href="' . tep_href_link(FILENAME_ORDERS_CUSTOMERSHIPPINGLABEL, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_labelcustomer.gif', IMAGE_ORDERS_labelcustomer) . '</a>
          <a href="' . tep_href_link(FILENAME_ORDERS_diffrentshipping, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_labelshipping.gif', IMAGE_ORDERS_diffrentshipping) . '</a>
          <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action'))) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>
    </tr>
<?php
} else {
?>
    <tr>
      <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
        <tr>
          <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
          <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>
          <td align="right"><table border="0" width="100%" cellspacing="0" cellpadding="0">
            <tr><?php echo tep_draw_form('orders', FILENAME_ORDERS, '', 'get'); ?>
              <td class="smallText" align="right"><?php echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('oID', '', 'size="12"') . tep_draw_hidden_field('action', 'edit'); ?></td>
            </form></tr>
            <tr><?php echo tep_draw_form('status', FILENAME_ORDERS, '', 'get'); ?>
              <td class="smallText" align="right"><?php echo HEADING_TITLE_STATUS . ' ' . tep_draw_pull_down_menu('status', tep_array_merge(array(array('id' => '', 'text' => TEXT_ALL_ORDERS)), $orders_statuses), '', 'onChange="this.form.submit();"'); ?></td>
            </form></tr>            
          </table></td>
        </tr>
      </table></td>
    </tr>
    <tr>
      <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
        <tr>
          <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
            <tr class="dataTableHeadingRow">
              <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CUSTOMERS; ?></td>
              <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ORDER_TOTAL; ?></td>
              <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_DATE_PURCHASED; ?></td>
              <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_STATUS; ?></td>
              <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>
            </tr>
<?php
  if ($HTTP_GET_VARS['cID']) {
    $cID = tep_db_prepare_input($HTTP_GET_VARS['cID']);
    $orders_query_raw = "select o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.customers_id = '" . tep_db_input($cID) . "' and o.orders_status = s.orders_status_id and s.language_id = '" . $languages_id . "' and ot.class = 'ot_total' order by orders_id DESC";
  } elseif ($HTTP_GET_VARS['status']) {
    $status = tep_db_prepare_input($HTTP_GET_VARS['status']);
    $orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . $languages_id . "' and s.orders_status_id = '" . tep_db_input($status) . "' and ot.class = 'ot_total' order by o.orders_id DESC";
  } else {
    $orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . $languages_id . "' and ot.class = 'ot_total' order by o.orders_id DESC";
  }
  $orders_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $orders_query_raw, $orders_query_numrows);
  $orders_query = tep_db_query($orders_query_raw);
  while ($orders = tep_db_fetch_array($orders_query)) {
    if (((!$HTTP_GET_VARS['oID']) || ($HTTP_GET_VARS['oID'] == $orders['orders_id'])) && (!$oInfo)) {
      $oInfo = new objectInfo($orders);
    }

    if ( (is_object($oInfo)) && ($orders['orders_id'] == $oInfo->orders_id) ) {
      echo '              <tr class="dataTableRowSelected" onmouseover="this.style.cursor=\'hand\'" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit') . '\'">' . "\n";
    } else {
      echo '              <tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'hand\'" onmouseout="this.className=\'dataTableRow\'" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '\'">' . "\n";
    }
?>
              <td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $orders['orders_id'] . '&action=edit') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a> ' . $orders['customers_name']; ?></td>
              <td class="dataTableContent" align="right"><?php echo strip_tags($orders['order_total']); ?></td>
              <td class="dataTableContent" align="center"><?php echo tep_datetime_short($orders['date_purchased']); ?></td>
              <td class="dataTableContent" align="right"><?php echo $orders['orders_status_name']; ?></td>
              <td class="dataTableContent" align="right"><?php if ( (is_object($oInfo)) && ($orders['orders_id'] == $oInfo->orders_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td>
            </tr>
<?php
  }
?>
            <tr>
              <td colspan="5"><table border="0" width="100%" cellspacing="0" cellpadding="2">
                <tr>
                  <td class="smallText" valign="top"><?php echo $orders_split->display_count($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $HTTP_GET_VARS['page'], TEXT_DISPLAY_NUMBER_OF_ORDERS); ?></td>
                  <td class="smallText" align="right"><?php echo $orders_split->display_links($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $HTTP_GET_VARS['page'], tep_get_all_get_params(array('page', 'oID', 'action'))); ?></td>
                </tr>
              </table></td>
            </tr>
          </table></td>
<?php
$heading = array();
$contents = array();
switch ($HTTP_GET_VARS['action']) {
  case 'delete':
    $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_ORDER . '</b>');

    $contents = array('form' => tep_draw_form('orders', FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=deleteconfirm'));
    $contents[] = array('text' => TEXT_INFO_DELETE_INTRO . '<br><br><b>' . $cInfo->customers_firstname . ' ' . $cInfo->customers_lastname . '</b>');
    $contents[] = array('text' => '<br>' . tep_draw_checkbox_field('restock') . ' ' . TEXT_INFO_RESTOCK_PRODUCT_QUANTITY);
    $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
    break;
  default:
    if (is_object($oInfo)) {
      $heading[] = array('text' => '<b>[' . $oInfo->orders_id . ']  ' . tep_datetime_short($oInfo->date_purchased) . '</b>');

      $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=delete') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a>');
      $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $oInfo->orders_id) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $oInfo->orders_id) . '" TARGET="_blank">' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a>');
      $contents[] = array('text' => '<br>' . TEXT_DATE_ORDER_CREATED . ' ' . tep_date_short($oInfo->date_purchased));
      if (tep_not_null($oInfo->last_modified)) $contents[] = array('text' => TEXT_DATE_ORDER_LAST_MODIFIED . ' ' . tep_date_short($oInfo->last_modified));
      $contents[] = array('text' => '<br>' . TEXT_INFO_PAYMENT_METHOD . ' '  . $oInfo->payment_method);
    }
    break;
}

if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {
  echo '            <td width="25%" valign="top">' . "\n";

  $box = new box;
  echo $box->infoBox($heading, $contents);

  echo '            </td>' . "\n";
}
?>
        </tr>
      </table></td>
    </tr>
<?php
}
?>
  </table></td>
<!-- body_text_eof //-->
</tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php
  require(DIR_WS_INCLUDES . 'footer.php');
?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Link to comment
Share on other sites

The above returns a page that is blank below the Order #. However, I can type in a known order number hit enter and receive information.

 

It errors out at the code for UPS Tracking Information and doesn't process anything further.

 

Any ideas?

Link to comment
Share on other sites

Got everything running and printing!! Hurrah!!! I have two flys left in the ointment:

 

I would like to use the option to seperate the shipping label from the tracking slip (print one on label stock, the other on plain paper). I can see how to specify it from the USPS literature, but can't tell where to enter it in this Contribution.

 

Also, is the USPS tracking number maintained in any of the databases (so I don't even need to mess with filing the tracking slips)?

 

Thanks,

 

Tom

Link to comment
Share on other sites

There are some two part labels that are available at labeluniverse.com and are made expressly for usps online shipping. The tracking info and label each have their own areas.

 

I like this contribution too but have switched to stamps.com for priority and international mail. The tracking is easier and online, so I don't have to refer to paper copies. It costs me 15 bucks a month but the time savings is worth it.

 

Tom

Link to comment
Share on other sites

Stamps.com? I used to use them when we first started, but eventually the romance tired.

 

Send me a PM and I'll send you the balance of my labels, they're just gathering dust.

 

I'm hoping that in one of the replies to this post that I'll learn that osC is actually keeping the tracking numbers. I know that many sites where I shop, when I get an e-mail, I can just click the link and it takes me straight to the shipper's tracking page and sometimes even just pops up with my results. That's what I'm really hoping to achieve with this Contribution.

Link to comment
Share on other sites

Hello Tom

 

To answer your question about the tracking. This contributions does not add the ablity to retain your tracking number. but there is another contribution that does

 

FedEx, UPS, and USPS Package Tracking (HTML Versions)

 

i hope this helps :D

Biscochitos almost as good as grandma

Link to comment
Share on other sites

  • 3 weeks later...

This is a nice effort and works fine for Priority and Express but does not work for Parcel Post. You should mention that in the contribution so that someone will know before installing it. I put in several hours to find out, and most of our customers will want the slow and cheap shipping. I'll leave it installed in case customer shipping needs change.

 

Again thanks for your contribution.

Link to comment
Share on other sites

  • 2 weeks later...

Hi goldencrown! Nice contrib & Thanks!

 

Is there going to be an update to this contrib? I noticed through all of the posts that there were several fixes since your last release, and was wondering if you have the updated version ? because I can only find a sept. date (sept 7,2003) on the latest one in contribs. I have a heavily modified cart now, and this is one of the last steps, so I am trying to get all the help/insight I can.

Thanks!

 

Starkness

Link to comment
Share on other sites

You select delivery conformation on the usps form that this contribution fills out for you.

 

I like this contribution but presently use stamps.com because its a bit faster and because it keeps track of all my shipments and I can track them all online, something the online usps site doesn't do--though it does give you a tracking receipt along with your label when you print.

 

What I'd love to see is this contribution working with the standalone usps shipping program. That, unlike the online usps shipping keeps a record of all shipments to allow tracking.

 

Tom

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...