Re: Stamps.com integration - Couple small bugs need addressing
Quote:
Originally Posted by
WebKat
So... the Stamps.com integration doesn't use my shipping module prices? That makes it 100% useless... what am I missing? I had to have the CEON guy at Advanced Shipper specially hack his own module to get our custom shipping to work right--there is no way that Stamps.com's internal calculations are going to get it.
This is true for any third party shipping program They charge you based on weight, volume and destination. That information is transferred from Zencart over to the shipping program, such as Stamps.com. What you actually charge the customer is your business and doesn't factor in what Stamps.com will charge you.
With CEON Advanced Shipper, you can configure the settings to charge shipping by item, weight or sales figure. You can also include a surcharge as a handling fee if your product is especially difficult to package. So what you charge your customers is their cost of doing business with you. All Stamps.com is concerned about is the weight, volume and destination of the package. This is the fee they assess for you to do business with them.
Re: Stamps.com integration - Couple small bugs need addressing
My dad ships flat rate depending on what the item is, and whether or not it's the only item in the shipment. So for example Widget A costs $6 to ship, but if you have Widget B and Widget A, Widget A only adds $1 to the shipping. There are basically like 8 tiers, and there is a $5 difference between whether or not it's the only item in the order (so basically there is a $5 handling charge per order). Anyway he uses flat rate boxes to ship and this is the method he uses to get the right amount for the size box or whatever he's shipping in. I don't have weights for any of his products that he manufactures, as we never needed them since he doesn't ship based on weight. Shipping based on price would not work either, as some of the larger, bulkier, heavier things are cheaper than the smaller, more refined things.
Re: Stamps.com integration - Couple small bugs need addressing
Your description has nothing to do with how Stamps.com prints the postage. Zencart calculates the shipping charged to the customer, not Stamps.com.
Stamps.com is used to print the postage label based upon the package class and could care less how much you charged the customer. How does your Dad pay the post office for the packages being shipped? When you import the orders into batch, you select the shipping class for each order and are billed accordingly. If you print the shipping label for a small flatrate box, then you are charged $5.15. You may have charged the customer 9.64 for shipping if you've added a handling fee per order.
It sounds like you've confused shipping method setup with exporting shipping information to Stamps.com.
Re: Stamps.com integration - Couple small bugs need addressing
Eh, I just have never used it, so I didn't know. I have tried it out now and see how it works.
I have a question, though. I tried to follow the directions for how to add other order statuses--specifically "Google Processing [101]" as an order status to import. My efforts broke it, so I reverted to the original code... can someone help me with this? I think part of the problem is that Google Processing is two words... I know to use 101 instead of 1, 2, 3, 4 like the default order statuses--at least I think I know that--I could be totally wrong... I edited it in the Settings file and in the ZenCart file, and it threw errors when I tried importing orders.
Re: Stamps.com integration - Couple small bugs need addressing
Can someone pretty please walk me through adding the Google Processing [101] order status? When I tried it borked it up.
Re: Stamps.com integration - Couple small bugs need addressing
Sorry that I can't help with changing the files but I can tell you that Stamps.com publishes changes to the fileset on a very frequent basis and you'll be merging those edits every time you update the files. Most of the time, the changes are related to other shopping carts.
Technically, editing the Stamps.com files violate the ToS; though the likelihood that you get caught is minimal.
Not being familiar with GoogleCheckout, it there a reason that the stock zencart order status can't be used? It might be easier to convert the Google Checkout status' into the stock zencart order status' so that the Stamps.com files will function as designed.
You might check with ShipStation to see if their app will work with your different order status codes
http://www.zen-cart.com/index.php?ma...oducts_id=2007
Re: Stamps.com integration - Couple small bugs need addressing
Shipstation looks awesome... unfortunately it starts at $25/month and since I'm just launching my business... I don't even know if I'll MAKE that much a month at first. My dad is willing to let me share his Stamps.com account (hey, it's in the same family!), so I am going that route at least for now.
The Google Checkout module doesn't let you set the order status at all... it creates several new order statuses and uses those:
Google New
Google Processing
Google Digital Proccessed
Google Shipped
Google Refunded
Google Shipped and Refunded
Google Canceled
As far as editing the Stamps.com files, they tell you right in the file where to edit it to add order statuses. I tried it following their instructions but failed. I patterned my addition on what was there... but I think the space in "Google Processed" is throwing it off. Maybe. Or maybe it's something else entirely. Here is what I did:
Default code in ShippingZSettings.php:
Code:
# To retrieve statuses in addition to those here, see the section below "Adding New Order Statuses"
#
define("ZENCART_RETRIEVE_ORDER_STATUS_1_PENDING",0);
define("ZENCART_RETRIEVE_ORDER_STATUS_2_PROCESSING",1);
define("ZENCART_RETRIEVE_ORDER_STATUS_3_DELIVERED",0);
define("ZENCART_RETRIEVE_ORDER_STATUS_4_UPDATE",0);
Instructions referred to above:
Code:
# Say you want the system to retrieve an order status in addition to what is already coded here.
# How?
# There are two areas to modify. This settings file, and the php file for your platform.
# Here is an example for OsCommerce (can be used for most other php based systems):
# Step 1: Add to this settings file (without the leading # comment symbol):
# define("OSCOMMERCE_RETRIEVE_ORDER_STATUS_4_PAID",1);
# Step 2: Modify ShippingZOscommerce.php
# Add to this section:
# //Prepare order status string based on settings
# if(OSCOMMERCE_RETRIEVE_ORDER_STATUS_4_PAID==1) // if set to 1 in Settings
# {
# if($order_status_filter=="")
# {
# $order_status_filter.="orders_status=ZZZ";
# }
# else
# {
# // The ZZZ is the actual value in the database as the order_status for Paid
# // For the status you want to retrieve, look in the database to find the real value
# // and use it in this code
# $order_status_filter.=" OR orders_status=ZZZ";
#
My edits to ShippingZSettings.php (I did as instructed above and looked in the database--the 'Google Processed' order_status is "101" whereas, for example, 'Processing' is "2":
Code:
define("ZENCART_RETRIEVE_ORDER_STATUS_1_PENDING",0);
define("ZENCART_RETRIEVE_ORDER_STATUS_2_PROCESSING",1);
define("ZENCART_RETRIEVE_ORDER_STATUS_3_DELIVERED",0);
define("ZENCART_RETRIEVE_ORDER_STATUS_4_UPDATE",0);
define("ZENCART_RETRIEVE_ORDER_STATUS_101_GOOGLE_PROCESSED",1);
My edit/addition to ShippingZZencart.php:
Code:
if(ZENCART_RETRIEVE_ORDER_STATUS_101_GOOGLE_PROCESSED==1)
{
if($order_status_filter=="")
{
$order_status_filter.=" orders_status=101 ";
}
else
{
$order_status_filter.=" OR orders_status=101 ";
}
}
Now what I'm not clear about, is that they only tell you to use that database number for the second $order_status_filter line... the first one, where it says ZZZ, are you supposed to put something else? The pattern for all the others is to have the same number in both places, so that is what I did...
Re: Stamps.com integration - Couple small bugs need addressing
In addition to adding those order status to the Stamp.com file, did you also make changes to the zencart order status table so that those status exist there?
Sorry but anything more than mentioning that is above my paygrade.
Re: Stamps.com integration - Couple small bugs need addressing
Those statuses were added to the order status table by the Google Checkout Module.
Re: Stamps.com integration - Couple small bugs need addressing
has anyone figured out how to automatically send out email to customer from Zen Cart once shipping lable printed out? I tried to change $customer_notified to '1', didn't work. and tried to add some code into ShippingZZencart.php, but still not working. Any suggestion?
$message =
EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n\n" .
EMAIL_TEXT_INVOICE_URL . ' ' . zen_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n\n" .
EMAIL_TEXT_DATE_ORDERED . ' ' . zen_date_long($check_status->fields['date_purchased']) . "\n\n" .
strip_tags($notify_comments) .
EMAIL_TEXT_STATUS_UPDATED . sprintf(EMAIL_TEXT_STATUS_LABEL, $orders_status_array[$status] ) .
EMAIL_TEXT_STATUS_PLEASE_REPLY;
$html_msg['EMAIL_CUSTOMERS_NAME'] = $check_status->fields['customers_name'];
$html_msg['EMAIL_TEXT_ORDER_NUMBER'] = EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID;
$html_msg['EMAIL_TEXT_INVOICE_URL'] = '<a href="' . zen_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') .'">'.str_replace(':','',EMAIL_TEXT_INVOICE_URL).'</a>';
$html_msg['EMAIL_TEXT_DATE_ORDERED'] = EMAIL_TEXT_DATE_ORDERED . ' ' . zen_date_long($check_status->fields['date_purchased']);
$html_msg['EMAIL_TEXT_STATUS_COMMENTS'] = $notify_comments;
$html_msg['EMAIL_TEXT_STATUS_UPDATED'] = str_replace('\n','', EMAIL_TEXT_STATUS_UPDATED);
$html_msg['EMAIL_TEXT_STATUS_LABEL'] = str_replace('\n','', sprintf(EMAIL_TEXT_STATUS_LABEL, $orders_status_array[$status] ));
$html_msg['EMAIL_TEXT_NEW_STATUS'] = $orders_status_array[$status];
$html_msg['EMAIL_TEXT_STATUS_PLEASE_REPLY'] = str_replace('\n','', EMAIL_TEXT_STATUS_PLEASE_REPLY);
zen_mail($check_status->fields['customers_name'], $check_status->fields['customers_email_address'], EMAIL_TEXT_SUBJECT . ' #' . $oID, $message, STORE_NAME, EMAIL_FROM, $html_msg, 'order_status');
$customer_notified = '1';