Quote Originally Posted by brimsjewelry View Post
I installed it successfully too and have the same issues. Its not really a problem since the sale goes through but what to tell the customer when they dont return to a checkout success page?

Jason
Ok I have a fix for the issue about orders not showing up in zen cart admin. I got this off the oscommerce site, they have a similar thread.

Basically you can comment out some lines in responsehandler.php and it goes through. Cart gets deleted, and the order shows up correctly in zen cart admin.

In googlecheckout/responsehandler.php

Change
Code:
  $headers = getallheaders();
  if(isset($headers['Authorization'])) {
    $auth_encode = $headers['Authorization'];
    $auth = base64_decode(substr($auth_encode, strpos($auth_encode, " ") + 1));
    $compare_mer_id = substr($auth, 0, strpos($auth,":"));
    $compare_mer_key = substr($auth, strpos($auth,":")+1);
  } else {
      error_func("Line 119: headers['Authorization'] is NULL.\n");
      exit(1);
  }
  $googlepayment = new googlecheckout();
  $merchant_id =  $googlepayment->merchantid;
  $merchant_key = $googlepayment->merchantkey;

  if($compare_mer_id != $merchant_id || $compare_mer_key != $merchant_key) {
    error_func("Line 127: merchant_id or merchant_key does not match.\n");
    exit(1);
  }
to

Code:
/*  $headers = getallheaders();
  if(isset($headers['Authorization'])) {
    $auth_encode = $headers['Authorization'];
    $auth = base64_decode(substr($auth_encode, strpos($auth_encode, " ") + 1));
    $compare_mer_id = substr($auth, 0, strpos($auth,":"));
    $compare_mer_key = substr($auth, strpos($auth,":")+1);
  } else {
      error_func("Line 119: headers['Authorization'] is NULL.\n");
      exit(1);
  }*/
  $googlepayment = new googlecheckout();
  $merchant_id =  $googlepayment->merchantid;
  $merchant_key = $googlepayment->merchantkey;

  /*if($compare_mer_id != $merchant_id || $compare_mer_key != $merchant_key) {
    error_func("Line 127: merchant_id or merchant_key does not match.\n");
    exit(1);
  }*/
basically you are commenting out all except these three lines:
Code:
$googlepayment = new googlecheckout();
  $merchant_id =  $googlepayment->merchantid;
  $merchant_key = $googlepayment->merchantkey;
You are removing the security checks. Is this safe? I have no idea. But it does work, so I decided to post it. It may provide clues to help others come up with better solutions or provide you something good enough to go with for now until Google fixes this bug.
Brian