Posted on

Magento and Google Checkout: Tax on Shipping incorrect in Merchant Calculated callback

I’ve had a love/hate/hate/hate relationship with Google Checkout and Magento for a long long time. Today marks a new low in our relationship. I’ve wasted so much time on this bug that I have made up a pie graph that illustrates the situation using Google’s charting API:

too much time with fucking Magento bugs

I’ve been on a journey to the bowels of the Magento Tax system and having spent the better part of 6 hours debugging through my issue I can safely say I will not do that again. The issue is that the totals are only collected once per address so depending on how many addresses you have and whether they are shippable or not, you get all sorts of weird results out of the shipping tax calculation. My issue was the calculated VAT amount on merchant calculated shipping in Google Checkout was wrong by a factor of tax % on shipping. So for £10 shipping in the UK, £1.75. Annoyingly it meant that Google would charge less than Magento recorded the order as being worth so now I have all sorts of mismatched order totals to deal with too. The issue could manifest itself as shipping tax being charged in Magento but not in Google Checkout too, if the tax was calculated on paid method, but the customer chooses a free method, for example.

I’ve reported the bug, so I really really hope it gets fixed soon – if someone else goes through what I just did, it would be a travesty.
Continue reading Magento and Google Checkout: Tax on Shipping incorrect in Merchant Calculated callback

Posted on

Magento Events Explained and a few Gotchas avoided!

This post is about the Magento Event system – a full explanation of how it works and a couple of issues I had with it resolved. Hope it is a help for people wrestling with the Magento event dispatch mechanism.

My particular situation was this: when automatically fetching tracking details from our carriers via a Magento cron job, the resulting Google Checkout Magento event did not fire, so the end customer was not receiving the notification properly – even though the ‘shipment’ object within Magento was correctly displaying the tracking details.
Continue reading Magento Events Explained and a few Gotchas avoided!

Posted on

Google Checkout disabled – Not available with these items

I was recently asked for help on a Google Checkout problem where the Google Checkout Button on the Magento cart page was disabled with a message saying: “Not available with these items“.

I had a look at the Magento store in question and found a few clues to go on but a
Google search on the subject proved to be of little help unfortunately. The button looks like the one shown in the screenshot below:

The disabled Google Checkout button on the Magento cart/checkout screen. It looks like the normal one only greyed out.
The disabled Google Checkout button on the Magento cart/checkout screen. It looks like the normal one only greyed out.

The underlying URL for the button is:

 <img src="https://checkout.google.com/buttons/checkout.gif?merchant_id=5677186919&amp;w=180&amp;h=46&amp;style=white&amp;variant=disabled&amp;loc=en_US" alt="Fast checkout through Google" />

The big clue was the parameter on the Google Checkout button image URL on the problem store. It had variant=disabled which is generated server side, and so had to be coming from somewhere within Magento. A big fat grep over the code uncovered a variant=' string fragment in Link.php.

Continue reading Google Checkout disabled – Not available with these items

Posted on

3 Quick Methods To Diagnose Communication Problems between Magento and Google Checkout

There is a lot going on when Magento actually sends a cart to Google Checkout, even more so if you are using Merchant calculated shipping. As a result lots of things can go wrong, with the merchant calculated shipping callback or with the actual server to server posting of the cart contents.

To help you with diagnosing problems I thought I’d shared my top 3 methods for finding out what is going wrong when Magento and Google Checkout are not communicating properly.

1) The Intergration Console

The first and most obvious place to try is the Google Checkout Intergration Console. As you can see in the screenshot below the console is hidden away in the Tools tab of the main seller dashboard. You’ll find it at the bottom of the left menu.

The Intergration Console is tucked away in the tools tab at the bottom of the left menu.
The Intergration Console is tucked away in the tools tab at the bottom of the left menu.

If the Google callbacks have failed or incorrect XML has been sent to Google you will find a report of the errors here. It is a good idea to keep an eye on the timestamps as you do not want to wind up chasing an old problem. It’s also good to periodically check this console while in production, just in case something starts to go wrong. I found when I upgraded to the latest Magento that the HTTPS callback was failing, but I hadn’t found it during development because I do not use SSL in development environments.

Continue reading 3 Quick Methods To Diagnose Communication Problems between Magento and Google Checkout

Posted on

Bad Usability Fixed: No End Date For Google Checkout Payout Transaction Report

I have been helping out with some sales reporting lately which has meant I have been using the order and transaction CSV downloads Google Checkout offers.

I found one feature of Google Checkout strangely lacking on the usability front. The payout and transaction download only allows you to specify a single day rather than a date range, so if you wanted a month of data you would have to run the report 30 times and aggregate the data in your own spreadsheet: no thanks Google!

Google Checkout Transaction download only offers a single day.
Google Checkout Transaction download only offers a single day.

Continue reading Bad Usability Fixed: No End Date For Google Checkout Payout Transaction Report