My problem is that some time orders did not show in the shop when placed with google check out and I was also seeing "Ids are integral numbers, but you sent: " in the response_error.log
I found an error reported here:
http://groups.google.com/group/google-chec...c95ae5ae596201#
(From 2007!)
which sounded like it could be the cause and checked the current code to find that its still there!!!
(ASIDE - whats going on, smart installers developed but major errors in the code?

)
The problem may not show, depending on the way customers use the shop.
The error occurs when an account is created in the shop first, and then the customer places an order with google.
On the return the code in responsehandler.php checks if a new account needs to be created in the shop, if it does then the entry is made in oscommerce tables AND the google table which likes the customer shop ID and the customer google id. IF the user
does have an account at the shop the the google table DOES NOT get updated.
With out the mapping in the Google table the customer id cant be resolved to google id and the order does not show (and the ids missing in return comms to google).
The code at the above like is for an old version so I have updated the code as shown below.
(original code commented out - in an attempt to remember what I have done at a later date

)
I have given this a test with the user account that was causing problems and if fixed it, but still want to run a couple of test cases and check the contents of the db tables before I happy. I will post back after this testing ( should be in next couple of days)
code is in the process_new_order_notification function
// if (ACCOUNT_DOB == 'true') {
// $sql_data_array['customers_dob'] = 'now()';
// }
// tep_db_perform(TABLE_CUSTOMERS, $sql_data_array);
// $customer_id = tep_db_insert_id();
// tep_session_register('customer_id');
// tep_db_query("insert into " . TABLE_CUSTOMERS_INFO . "
// (customers_info_id, customers_info_number_of_logons,
// customers_info_date_account_created)
// values ('" . (int) $customer_id . "', '0', now())");
// tep_db_query("insert into " . $google_checkout->table_name . " " .
// " values ( " . $customer_id . ", " .
// $gc_data[$root]['buyer-id']['VALUE'] . ")");
// $new_user = true;
// }
if (ACCOUNT_DOB == 'true') {
$sql_data_array['customers_dob'] = 'now()';
}
tep_db_perform(TABLE_CUSTOMERS, $sql_data_array);
$customer_id = tep_db_insert_id();
tep_session_register('customer_id');
tep_db_query("insert into " . TABLE_CUSTOMERS_INFO . "
(customers_info_id, customers_info_number_of_logons,
customers_info_date_account_created)
values ('" . (int) $customer_id . "', '0', now())");
$new_user = true;
}
// end of new customer if
// check if buyer id from google is in the check out table
// as customer may exist but this is the first time they have used google
$customer_in_gc = tep_db_fetch_array(tep_db_query("select gct.customers_id from " .
$google_checkout->table_name . " gct " .
" where gct.buyer_id = " .
gc_make_sql_string($gc_data[$root]['buyer-id']['VALUE'])));
if($customer_in_gc['customer_id'] == '') {
// insert new record in check out table to map google buyer id to customer_id
tep_db_query("insert into " . $google_checkout->table_name . " " .
" values ( " . $customer_id . ", " .
$gc_data[$root]['buyer-id']['VALUE'] . ")");
}