Using Google Checkout with Magento
The first step to integrating Google Checkout with Magento is to configure your settings in the Google Checkout seller account. The configuration settings are located in the Settings tab, with links to each page in the left column. The following pages contain the most relevant configuration settings for Magento integration.
Enter your business information as it will appear to your customer in the Google Checkout interface, including your address, Business Name, email address, relevant URLs, and policies. When you are finished, click Save profile at the bottom of the page.
- When an order is placed, your customer’s credit card will automatically be authorized by Google Checkout. You can, however, choose whether you solely want to authorize the card, or authorize and Charge the credit card at the time of purchase. To find out more about charging credit cards and how to do so after an order is placed, see the Handling completed orders in Google Checkout section below.
- Designate whether or not you would like Google Checkout to send you email notifications of any transactions made for completed orders. This is separate from Magento notifications.
When you are finished, click Save preferences at the bottom of the page.
- Shopping cart post security - This checkbox is not mandatory, however we recommend that it be checked.
- API Callback URL - The URL should be in the format: https://yourserver.com/base_path/index.php/googlecheckout/api. index.php can be omitted if mod_rewrite is enabled. The Callback method must be XML.
To add or edit your API callback URL:
1. Sign in to Google Checkout. 2. Click the Settings tab. 3. Click Integration. 4. Enter your callback URL in the 'API callback URL' box. 5. Click Save.
*Advanced settings - These settings will determine what information Google Checkout sends back to Magento to populate in the order page.
*Should be checked
*Provide the first name, last name and full name of the buyer and order recipient in separate fields in the new order notification.
*Return the buyer’s ship-to phone number in the new order notification.
*Return the buyer’s billing phone number in the new order notification.
*Should NOT be checked
*Notifications must include any amounts involving a Google promotion
*Require notification acknowledgments to specify the serial number of the notification. This has been witnessed causing problems during testing.
- API Version* Select version 2.2
- On the right side of the page under Account Information will be the Merchant ID and Merchant Key. These will be needed for Google Checkout configuration in Magento.
When you are finished, click Save at the bottom of the page. You are now ready to configure your Magento settings in order to complete Google Checkout integration.
To complete Google Checkout integration, you must now configure your settings in Magento. To do so, navigate to System > Config in the admin, and click on the Google API tab in the left column.
The main settings are all located in the Google Checkout box.
- Enable - In order to provide your customer’s with the option to checkout via Google Checkout, select Yes. This will add the Google Checkout buttons to the shopping cart, adjacent to the default Magento Checkout button.
- Sandbox - This is the name of Google’s test orders interface. If you select No, the Google Checkout button will direct to checkout.google.com. Orders placed here are real, so that when the order is charged, the payment will be processed. If you select Yes, the Google Checkout button will direct to sandbox.google.com/checkout. This has the same checkout format as the real orders interface, but orders placed here are for test purposes only, so that when the order is charged, no payment will actually be processed (as the background text on the site explains).
- Secure Callback URL -
- Debug - If you select Yes, all requests between Magento and Google Checkout will be saved in the Magento database, as well as Tools > Integration Console in the Google Checkout seller account.
- Merchant ID and Merchant Key - These values are provided by Google and are unique for each account. You can find them in you Google Checkout seller account, in Settings > Integration, on the right side of the page under Account Information.
- Checkout Image Style - This controls the style of the Google Checkout button. There are three sizes (small, medium and large), and a transparent and white version for each (depending on the background of your site).
- Location - This selection depends on which type of seller account you have set up with Google. Select United States if you have a U.S. account, and United Kingdom if you have a U.K. account. These are the only countries supported by Google Checkout at this time.
- New order status - The selection here will determine the order status of all new orders created using Google Checkout.
- Continue Shopping URL - When the customer has finished placing their order in Google Checkout and clicks the Return to [Business Name] button, they will be redirected to this URL.
- It can be a URL part of CMS page, product or category, such as thank-you-for-shopping, apparel/specials
- It can be any other URL, such as http://www.google.com
- If it is left blank, they will automatically be redirected to your home page.
- Hide Cart Contents During Checkout - When enabled, cart contents will be hidden after clicking on the Google Checkout button in the shopping cart, and restored if “Edit Cart” link was activated.
- Disable Default Tax Tables - Enable this if your checkout request is too big and being cut off.
There are three options with which you can configure shipping in Google Checkout.
- Merchant Calculated - This option cannot be enabled with any other option at the same time, or your customers will receive an error message when they attempt to checkout.
- Enable Merchant Calculated - If you select Yes, this will be the option available for the customer to select.
- Allowed Methods - Each time you click Add Shipping Method, you will be able to select a shipping method from the drop-down list and enter a Default Price for each method. All shipping methods that you add will display in the Shipping & Handling drop-down in Google Checkout.
- Carrier Calculated
- Enable Carrier Calculated - If you select Yes, this option will be available for the customer to select.
- Carrier Calculated Methods - All shipping methods that you select from this multiple select menu will display in the Shipping & Handling drop-down in Google Checkout.
- Delivery Address Category* - Choose type of address of your usual customers.
- Default Package Width/Height/Length (in) - Google-Checkout requires default dimensions of a package for Carrier Calculated rates.
- Flat Rate - This option allows you to enter up to three methods from which the customer can choose.
- Enable Flat Rate - If you select Yes, this option will be available for the customer to select.
- Rate 1/2/3 Title - This is the name of the shipping method as it will appear in the Shipping & Handling drop-down.
- Rate 1/2/3 Amount - This is the price of the shipping method as it will appear in the Shipping & Handling drop-down.
When you are finished, click Save config, and your customers will now be able to checkout using Google Checkout.
Once you have enabled Google Checkout, your customer will now have this checkout method available to them in the shopping cart. There will be a Google Checkout button displayed adjacent to the default checkout button. When they click it, they will be directed to Google’s checkout interface. This is a completely separate process from Magento’s default checkout process.
- First, your customer will be asked to log into their Google account. This is separate from any account they may have created within your store. The information they provide here, such as the name, email, and addresses, will be sent back to Magento and display in the order information.
- Magento will upload all products in your customer’s shopping cart to the Google Checkout page, including quantity and price. This cannot be updated directly from Google Checkout, as it can from Magento checkout. In order to modify quantities or remove items, the customer must navigate back to their cart in Magento and make these edits.
- Your customer can choose their preferred Shipping & Handling method from the drop-down menu. The available methods in the menu can be configured in the Google API page in the Magento admin.
- The tax will be calculated according to the guidelines established in the Magento admin, in Sales > Tax. The tax guidelines established in Settings > Tax setup in the Google Checkout seller account will not have any bearing on the order.
- If your customer chooses to Keep my email address confidential, their real email address will not be provided to Magento. The email address displayed in the order page will have a checkout.google.com domain name, and the order confirmation sent here will be directed by Google to the user’s actual email address.
- If your customer chooses I want to receive promotional email from [Business Name] it should subscribe the email address received from Google Checkout to the store newsletter (also a checkout.google.com domain if customer opts for confidential email address).
- When your customer is done, they will press the Place your order now button. This will automatically send a record of the order to your seller account in Google, and Google will send this information to Magento as well, where a record of the order will be created in Sales > Orders. Your customer will see an order confirmation message, and a link to return to your site. Additionally, if you have email notification enabled, your customer can receive order confirmation emails from both Google and Magento.
As discussed in the Magento User’s Guide Chapter 8: Managing Orders, once an order is completed, you will have the ability to create invoices, shipments, credit memos, and makes cancellations. For orders placed with Google Checkout, there is integration of these tasks as well. Updating the order in Magento will update the order in Google Checkout, and vice versa. In Google Checkout, a list of your orders will be displayed in the Orders tab. Changes can be made from the orders list (using the button in the Action column), or the orders page, which can be viewed by clicking on the Order Number.
- When creating an invoice in Magento for an order placed in Google Checkout, you will have the option to Capture Payment. If you choose to do so, the order will be automatically be Charged in Google Checkout. If you create a partial invoice (the invoice contains only some of the quantity in the order) and capture the payment, Google Checkout will make a partial charge. The remaining balance can be charged either from Magento or Google Checkout. Because Google Checkout does not have an equivalent functionality to the Void feature in Magento, voiding an order in Magento will have no affect on the order in Google Checkout.
- If the order is charged from Google Checkout, Magento will automatically generate an invoice with a captured payment. Invoice creation will occur whether the order is charged at the time of purchase, or charged manually after the order is placed. If the order is charged for a partial amount in Google Checkout (which can only be done manually), no invoice will be created in Magento.
- When creating a shipment in Magento for an order placed in Google Checkout, a shipment will automatically be created in Google Checkout. This includes partial shipments as well. However, Google Checkout does not recognize partial shipments, so there will be no indication in Google Checkout that the shipment is only partial. If multiple shipments are made in Magento, each with tracking information, the single shipment in Google Checkout will update to list the multiple tracking numbers.
- If a shipment is created in Google Checkout, no shipment will be created in Magento.
- If a credit memo is created in Magento, and you press the Refund button (as opposed to the Refund Offline button), the order will be refunded in Google Checkout. This includes partial credit memos.
- If an order is refunded in Google Checkout, no credit memo will be created in Magento.
- If you cancel an order in Magento, it will not automatically be canceled in Google Checkout.
- If you cancel an order in Google Checkout, it will automatically be canceled in Magento. If some of the items have already been invoiced and/or shipped, only the remaining items will be canceled in Magento. If all of the items have already been invoiced and/or shipped, Google Checkout still allows you to cancel the order, however this will have no effect in Magento.
- Your website must be serving pages on standard ports (80 and/or 443)
- If you have PHP CGI setup, you will need to have mod_rewrite enabled. Google-Checkout uses HTTP authorization for callbacks. CGI processes do not receive headers from Apache, so a hack in .htaccess utilizing mod_rewrite was implemented to pass the authorization as an environment variable.
- If you enable Carrier Calculated shipping rates, your packages will be limited to 150lb total. However, Magento recognizes your total cart weight, not indiviual packages. For example, if you’re shipping 10 boxes weighing 16lbs each, Magento will calculate as 1 package weighing 160lbs, therefore rejecting the cart in Google Checkout because it incorrectly thinks the 150lb weight limit has been exceeded. USPS further limits this to 70lb.
- You must have a SSL certificate and a secure base path set (so that you can access your site pages with https:)
- Google checkout requires HTTP basic authentication. If you get a 404 error when you go to https://yourserver.com/base_path/index.php/googlecheckout/api this means your server does not support this. Contact your host to see if they can change this for you. Or make sure always_populate_raw_post_data = On in your php.ini file.
- You have to have SSL and use secure pages for front end and admin set to yes!
- Store code in the URL might be another reason of 404 error, check what you have in System→Configuration→Web→Url Otions, if “Add Store Code to Urls” set to “yes”, then URL must be adjusted accordingly, e.g. https://yourserver.com/base_path/index.php/storecode/googlecheckout/api