I'm working on integrating Google Checkout with our in-house e-commerce platform. I've gotten to the stage of receiving notifications back from Google for successfully completed orders.
We handle orders by creating an order as soon as someone adds an item to the basket. So prior to sending the information to Google we already have all the information about the order in our system.
What I would like to do is include out internal order id, into the Google Checkout request so that it can be returned. So far this doesn't seem possible. It looks more like Google sends you the order with all the shopping cart information and then expects you to create the order and use their provided google-order-number to do the mapping. If this is the case it would mean there is an order still in the 'Basket' state on our site that we need to locate to update with the information from Google.
So far I haven't come up with any good method of handling this.
I know there is a add-merchant-order-number api call, but this requires the google-order-number, which still means I need some method of mapping the google-order-number to our internal order id.
Is there a tag that I'm missing or maybe one that is used for adding additional information about the shopping-cart that could be used to store our internal order id in the initial checkout-shopping-cart api post.
It looks like you are already properly using the Notification API to get updates on various stages of order processing.
Next, to add your internal order id to the order submitted to Google, use the merchant-private-data field to pass any custom data about your order.
When you get back the notification, you'll also get the internal order id plus any other custom info from the merchant-private-data field.
See this answer for a solution to a similar issue.