Quote Originally Posted by Woodymon View Post
Ropu,

I'm searching for some recommends regarding configuring Zen Cart shipping to work with Google Checkout (or the other way around).

First I should state, we do NOT have a "third party shippiing provider". That is we ship "manually" and our shipping policies are very basic.

As a test...

With the sandbox enabled, I just added a physical item to my shopping cart then clicked Google Checkout on the shopping cart page. I observed the following error at the URL https://sandbox.google.com/checkout/...blah/checkout:
Code:
This XML file does not appear to have any style information associated with it. The document tree is shown below.

<error serial-number="blahblahblah">
<error-message>Duplicate shipping name FREE SHIPPING! found.</error-message>
</error>
(blahblahblah is hight-tech obfuscation.)

Not sure what would contribute to the above error.

Probably I need to do some work setting-up shipping for Google Checkout but that's where I get lost.
Woody -

Maybe I can help sort through this - or add to the confusion...

The error above about Duplicate shipping name is rooted in the includes/modules/payment/googlecheckout.php file.

Here's what that section of my file looks like:

PHP Code:
    $this->mc_shipping_methods = array(
                        
'usps' => array(
                                    
'domestic_types' =>
                                    array(    
'Priority' => 'Priority Mail'
                                            
),
                                           
    
                                    
'international_types' =>
                                      array(    
'Priority Lg' => 'Global Priority Mail - Flat-rate Envelope (large)',
                                            
'Priority Sm' => 'Global Priority Mail - Flat-rate Envelope (small)',
                                            
'Priority Var' => 'Global Priority Mail - Variable Weight Envelope (single)',
                                            
'Airmail Letter' => 'Airmail Letter Post'
                                            
),
                                        ),
                           
                         
'fedex1' => array(
                                    
'domestic_types' =>
                                      array(
                                           ),

                                    
'international_types' =>
                                      array(
                                           ),
                                        ),
                        
'ups' => array(
                                    
'domestic_types' =>
                                      array(
                                           ),

                                    
'international_types' =>
                                      array(

                                           ),
                                        ),
                        
'zones' => array(
                                    
'domestic_types' =>
                                      array(
                                          
'zones' => 'Zones Rates'
                                           
),

                                    
'international_types' =>
                                      array(
                                          
'zones' => 'Zones Rates intl'
                                           
),
                                        ),
                        
'fedexexpress' => array(
                                    
'domestic_types' =>
                                      array(
                                           ),

                                    
'international_types' =>
                                      array(

                                           ),
                                        ),
                        
'fedexground' => array(
                                    
'domestic_types' =>
                                      array(
                                           ),

                                    
'international_types' =>
                                      array(

                                           ),
                                        ),
                        
'freeoptions' => array(
                                    
'domestic_types' =>
                                      array(
                                          
'freeoptions' => 'Free Options'
                                           
),

                                    
'international_types' =>
                                      array(
                                           ),
                                        ),
                        
'freeshipper' => array(
                                    
'domestic_types' =>
                                      array(
                                          
'freeshipper' => 'Free Shipper'
                                           
),

                                    
'international_types' =>
                                      array(
                                           ),
                                        ),
                        
'perweightunit' => array(
                                    
'domestic_types' =>
                                      array(
                                           ),

                                    
'international_types' =>
                                      array(
                                           ),
                                        ),
                        
'storepickup' => array(
                                    
'domestic_types' =>
                                      array(
                                           ),

                                    
'international_types' =>
                                      array(
                                           ),
                                        ),
                        
'flat' => array(
                                    
'domestic_types' =>
                                      array(
                                           ),

                                    
'international_types' =>
                                      array(
                                           ),
                                        ),
                        
'item' => array(
                                    
'domestic_types' =>
                                      array(
                                           ),

                                    
'international_types' =>
                                      array(
                                           ),
                                        ),
                        
'table' => array(
                                    
'domestic_types' =>
                                      array(
                                          
'table' => 'Vary by Weight/Price'
                                           
),

                                    
'international_types' =>
                                      array(
                                           ),
                                        ),
                                  );

    
$this->mc_shipping_methods_names = array(    
                                         
'usps' => 'USPS',
                                         
'fedex1' => 'FedEx',
                                         
'ups' => 'UPS',
                                         
'zones' => 'Zones',
                                         
'fedexexpress' => 'Fedex Express',
                                         
'fedexground' => 'Fedex Ground',
                                         
'freeoptions' => 'Free Options',
                                         
'freeshipper' => 'Free Shipper',
                                         
'perweightunit' => 'Perweight Unit',
                                         
'storepickup' => 'Store Pickup',
                                         
'flat' => 'Flat Rate',
                                         
'item' => 'Item',
                                         
'table' => 'Media Mail',
                                        ); 
As you can see, most of the values have been removed. If you count the major shipping types listed, you should see 13, each with a 'domestic' and 'international' section. If you see more, look for an extra FREE SHIPPING. That would cause the error you noted above.

Quote Originally Posted by Woodymon View Post
I've visited http://demo.globant.com/~brovagnati/..._generator.php
but I don't understand how it works, even after clicking the question mark [?] helplinks.

Question 1: Does Google Checkout work if there is no third party shipping provider specified?

We use USPS mediamail and USPS airmail. But we don't connect to USPS via Zen Cart.
I ship manually too, although I use a zen>usps connection to estimate postage and it connects to GCO.

But my main shipping display comes from a table. Refering to the code listing above, I only have one entry for USPS domestic, That's for priority, in case someone's in a hurry. The USPS International section is how I quote shipping for international shipping.

The bulk of my shipping is via media mail. I have the rates set in a table in the Shipping Module>Table rates. It is passed to GCO in the last main shipping array - 'table' => array(
'domestic_types' =>
array(
'table' => 'Vary by Weight/Price'
),

In a fit of whimsey, I used the entry for table in the bottom of the above code to display "Media Mail" in the GCO selection rather than "Table" This is accomplished here:
'item' => 'Item',
'table' => 'Media Mail',
);


Quote Originally Posted by Woodymon View Post
Question 2: I've previously posted to this thread the very basic shipping policy we employ. Does the latest version of this mod support such shipping policy? PayPal, and other payment methods we employ work fine with our basic shipping configuration. Any tips or recommends on how to make Google Checkout support our basic shipping method.

Thanks,
Woody
As noted above, using a table rate for shipping would work for you. Setting your table up to count by item you might have something like this: 0:5,1.1:8,2.1:11, etc. (You probably already have this if PayPal and checkout works for you. Just reference your table as in the code above.) I accidently noticed that zones (mzmt) was picked up too, so that may also be an option for you, say, for international...)

As a side note, you must be really careful when making changes to the section that contains the above code. The correct number and placement of the parentheses and commas is critical. If you go to Admin reinstall the GCO module, but it doesn't appear, check the ()s and the commas.

I would like to see a self-calculating substitute for this file that just reads the Shipping module entries and automatically uses them for GCO setup. This file is the most vulnerable part of this add-in, in my opinion.

I hope this helps.