Jump to content
Sign in to follow this  
ski2bbad

GOOGLE CHECKOUT IPN

Recommended Posts

Hello.

 

This is a re-release of an old Google Checkout module that will enable your orders to be processed through the regular checkout process (allowing you to use whichever modules you already have in place; i.e. Gift Cert, coupons, FedEx, UPS, free shipping flags etc.) before the order is passed on to Google, similar to the way it is done with PayPal.

 

The module can be found here.

 

Good luck!

 

ski

Share this post


Link to post
Share on other sites

Did you tested this contribution?


Please read this line: Do you want to find all the answers to your questions? click here. As for contribution database it's located here!

8 people out of 10 don't bother to read installation manuals. I can recommend: if you can't read the installation manual, don't bother to install any contribution yourself.

Before installing contribution or editing/updating/deleting any files, do the full backup, it will save to you & everyone here on the forum time to fix your issues.

Any issues with oscommerce, I am here to help you.

Share this post


Link to post
Share on other sites
Did you tested this contribution?

 

 

Yes, I have. It works great! I am working on a minor tax issue on Google side at the moment, but I should have it figured out shortly.

 

ski

Share this post


Link to post
Share on other sites

Hi Ski

 

After many unsuccessful attempts to get the official module working correctly I have just installed this thanks.

 

Hurrah, easy install, works and the orders appear in admin lol

 

For some reason my coupon is not being carried to google and I am receiving an xml error message but they seem tiny problems to sort in comparison to the other monstrosity.

 

So huge thanks for pointing this out and I think this will do just fine until the other route is sorted without having to recode the whole of my shop x

Share this post


Link to post
Share on other sites

This is the error I am seeing in google sandbox:

 

Error parsing XML; message from parser is: cvc-elt.1: Cannot find the declaration of element 'add-merchant-order-number'

 

Any ideas where this is please?

 

 

Regarding the coupon part that google ignores I assume that it would be necessary to either set google checkout to aggregate as in Paypal or else insert some code somewhere in google ipn files to tell it to include it?

 

I am not clever enough to work this out so any assistance from a smarter cookie would be much appreciated :thumbsup:

Share this post


Link to post
Share on other sites

:'( Someone talk to me on this thread please lol

 

 

Anyway, content with the sandbox I changed to the production and although all details seem the same now when it reaches google checkout page it just says:

 

Oops!

We were unable to process your request.

 

 

:angry: And I thought the switchover should be the easy part - what have I done?

Share this post


Link to post
Share on other sites
Oops!

We were unable to process your request.

 

Okay disregard as this may have been a google thing as working now. Might have been nice though if they had indicated on their page that the problem was with them and not my end.

Share this post


Link to post
Share on other sites
Okay disregard as this may have been a google thing as working now. Might have been nice though if they had indicated on their page that the problem was with them and not my end.

 

Hi madcrazygirl.

 

I'm glad that you have this module figured out and was able to move it to production. Please note that this module is still evolving and trying to keep up with Google's modifications. Much like yourself, I am not a coder/programmer so I am learning php on the fly. This is a brand new thread and I'm hoping that the community will eventually come in here and give us all a hand on solving problems and expanding this module. Please be patient and continue to report any bugs that you may encounter. I will do my best to try to help fix them if I can.

 

I am currently looking into the coupon and Gift Certs issues mentioned on the readme file. Fixes will be posted once they have been worked out. Thank you for trying this module and for reporting your findings. In time, this thread will grow and we will have a module fullfilling our needs. :thumbsup:

 

Regards,

 

ski.

Share this post


Link to post
Share on other sites
Regarding the coupon part that google ignores I assume that it would be necessary to either set google checkout to aggregate as in Paypal or else insert some code somewhere in google ipn files to tell it to include it?

 

Hello,

 

If there have been any changes/modifications made to your oscommerce's checkout_process.php file, it is likely those same changes will need to be made to the GOOGLE CHECKOUT IPN's google_checkout_process.php file.

 

As oscommerce's checkout_process.php file processes the oscommerce checkout, similarly does the GOOGLE CHECKOUT IPN's google_checkout_process.php file process the Google Checkout.

 

Regards,

 

CT

Share this post


Link to post
Share on other sites

After installing this contribution, all goes well except that at the order confirmation screen, clicking through to google_checkout_process, all I get is a blank screen.

 

The order is recorded (visible in the admin section) but as I said the google_checkout_process.php page is just blank, and does not redirect to google.

 

Any help gratefully received.

Share this post


Link to post
Share on other sites
After installing this contribution, all goes well except that at the order confirmation screen, clicking through to google_checkout_process, all I get is a blank screen.

 

The order is recorded (visible in the admin section) but as I said the google_checkout_process.php page is just blank, and does not redirect to google.

 

Any help gratefully received.

 

Hi teamwhatever.

 

Bare with me here as I do not know if you have tried all of this yet. . . .

 

1. Did you check to ensure that ALL the necessary changes described in the Installation section of the README file were correctly made?

2. Have you correctly entered the Merchant ID and Merchant Key? Sandbox uses different numbers than does Production. Also, make sure that there are no blank spaces.

3. I'd try to re-install ALL the contribution files again, just in case that they got corrupted during transfer (I have experienced that before and it took me a week to discover the corrupted file problem). Just make sure to unistall the module before you do the file transfer.

4. As CT has mentioned on a previous post, make sure that you MERGE your changes in checkout_process.php with the google_checkout_process.php file (You need them both!)

 

Once you have tried these suggestions, please post here again if that still did not solve your problem. Hopefully either me or someone will be able to help you out.

 

Good luck.

 

ski

Share this post


Link to post
Share on other sites

Thanks ski, will try those suggestions - specifically reinstall to make double sure, and will do a comparison of files to see what if any differences are. For the benefit of others I found beyond compare to be a great program for just such a moment!

 

Thanks again, and will let you know if I manage to get it working ... or not!

Share this post


Link to post
Share on other sites

Having made some changes to the google_checkout_process.php file, I now get the check out success page, having never got the opportunity to pay! The admin side still works as the order is visible in the admin. Just need to know why its not going through to google to get payment.

 

Using sandbox btw with sandbox merchant and key.

 

Thanks btw for your help.

Share this post


Link to post
Share on other sites

some more info that may be of use is that I also have protx payment installed, and have added the line tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL')); to the google_checkout_process file. Was this the right thing to do?

Share this post


Link to post
Share on other sites
Having made some changes to the google_checkout_process.php file, I now get the check out success page, having never got the opportunity to pay!

Hello,

 

You shouldn't be getting to the checkout_success.php file's page.

 

The following might help.

 

In google_checkout_process.php, somewhere above:

require(DIR_WS_INCLUDES . 'application_bottom.php');

find code snippet similar to:

// load the after_process function from the payment modules
 $payment_modules->after_process();

remove (cut) it from where it is,

and find code snippet similar to:

tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL'));

and, replace it with the (first) code snippet.

 

-----------------------------------------------------------

 

So to reiterate,

where:

tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL'));

was,

should now be:

// load the after_process function from the payment modules
 $payment_modules->after_process();

instead.

 

Hope this helps some.

 

Regards,

 

CT

Share this post


Link to post
Share on other sites

Hi there,

 

Thanks for the reply. I added the checkout_success bit to the google_checkout_process file myself, as I did a comparison of that file and the checkout_process file and found that to be a difference. Removed those lines and restored it to the state you have kindly supplied, and it goes back to just getting to a blank screen. It does not transfer to google's website, or bring up anything else other than my website template but with nothing in the middle.

 

I have checked the google logs in the mysql, and it added some records, the orderid and a whole lot of zeros in the other fields. The log.txt file in gclog is empty (and has had its permissions set to 777).

 

Really like the look of this contribution, just wish it would work with my site. I have SEO urls installed, if that makes a difference?

Share this post


Link to post
Share on other sites
The log.txt file in gclog is empty (and has had its permissions set to 777).

 

Hello,

 

Just fishing some. Maybe try: chmod gclog/ to 777 & log.txt 666.

 

If you would then like to post your checkout_process.php file here, might be able to determine something from it.

 

Regards,

 

CT

Share this post


Link to post
Share on other sites

Hi CT,

 

thanks for your help.

 

The log file seems to now be recording, however, I have input the sandbox details into the payment module, but the log file records details of the actual checkout merchantid and key?? Is that normal?

 

It gives the following message: Notification Check Error!

(together with merchantid and key and date time stamp at the top)

.

 

 

My checkout_process.php file consists of the following:

 

<?php
/*
 $Id: checkout_process.php,v 1.128 2003/05/28 18:00:29 hpdl Exp $
*/

 include('includes/application_top.php');

// if the customer is not logged on, redirect them to the login page
 if (!tep_session_is_registered('customer_id')) {
$navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT));
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
 }

 if (!tep_session_is_registered('sendto')) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
 }

 if ( (tep_not_null(MODULE_PAYMENT_INSTALLED)) && (!tep_session_is_registered('payment')) ) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
}

// avoid hack attempts during the checkout procedure by checking the internal cartID
 if (isset($cart->cartID) && tep_session_is_registered('cartID')) {
if ($cart->cartID != $cartID) {
  tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
}
 }

 include(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PROCESS);

// load selected payment module
 require_once(DIR_WS_CLASSES . 'payment.php');
 if ($credit_covers) $payment=''; //ICW added for CREDIT CLASS
 $payment_modules = new payment($payment);

// load the selected shipping module
 require_once(DIR_WS_CLASSES . 'shipping.php');
 $shipping_modules = new shipping($shipping);

 require_once(DIR_WS_CLASSES . 'order.php');
 $order = new order;

// load the before_process function from the payment modules
 $payment_modules->before_process();

 require_once(DIR_WS_CLASSES . 'order_total.php');
 $order_total_modules = new order_total;

 $order_totals = $order_total_modules->process();

 $sql_data_array = array('customers_id' => $customer_id,
					  'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'],
					  'customers_company' => $order->customer['company'],
					  'customers_street_address' => $order->customer['street_address'],
					  'customers_suburb' => $order->customer['suburb'],
					  'customers_city' => $order->customer['city'],
					  'customers_postcode' => $order->customer['postcode'], 
					  'customers_state' => $order->customer['state'], 
					  'customers_country' => $order->customer['country']['title'], 
					  'customers_telephone' => $order->customer['telephone'], 
					  'customers_email_address' => $order->customer['email_address'],
					  'customers_address_format_id' => $order->customer['format_id'], 
					  'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'], 
					  'delivery_company' => $order->delivery['company'],
					  'delivery_street_address' => $order->delivery['street_address'], 
					  'delivery_suburb' => $order->delivery['suburb'], 
					  'delivery_city' => $order->delivery['city'], 
					  'delivery_postcode' => $order->delivery['postcode'], 
					  'delivery_state' => $order->delivery['state'], 
					  'delivery_country' => $order->delivery['country']['title'], 
					  'delivery_address_format_id' => $order->delivery['format_id'], 
					  'billing_name' => $order->billing['firstname'] . ' ' . $order->billing['lastname'], 
					  'billing_company' => $order->billing['company'],
					  'billing_street_address' => $order->billing['street_address'], 
					  'billing_suburb' => $order->billing['suburb'], 
					  'billing_city' => $order->billing['city'], 
					  'billing_postcode' => $order->billing['postcode'], 
					  'billing_state' => $order->billing['state'], 
					  'billing_country' => $order->billing['country']['title'], 
					  'billing_address_format_id' => $order->billing['format_id'], 
					  'payment_method' => $order->info['payment_method'], 
					  'cc_type' => $order->info['cc_type'], 
					  'cc_owner' => $order->info['cc_owner'], 
					  'cc_number' => $order->info['cc_number'], 
					  'cc_expires' => $order->info['cc_expires'], 
					  'date_purchased' => 'now()', 
					  'orders_status' => $order->info['order_status'], 
					  'currency' => $order->info['currency'], 
					  'currency_value' => $order->info['currency_value']);
 tep_db_perform(TABLE_ORDERS, $sql_data_array);
 $insert_id = tep_db_insert_id();
 for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) {
$sql_data_array = array('orders_id' => $insert_id,
						'title' => $order_totals[$i]['title'],
						'text' => $order_totals[$i]['text'],
						'value' => $order_totals[$i]['value'], 
						'class' => $order_totals[$i]['code'], 
						'sort_order' => $order_totals[$i]['sort_order']);
tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array);
 }

 $customer_notification = (SEND_EMAILS == 'true') ? '1' : '0';
 $sql_data_array = array('orders_id' => $insert_id, 
					  'orders_status_id' => $order->info['order_status'], 
					  'date_added' => 'now()', 
					  'customer_notified' => $customer_notification,
					  'comments' => $order->info['comments']);
 tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array);

// initialized for the email confirmation
 $products_ordered = '';
 $subtotal = 0;
 $total_tax = 0;

 for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
// Stock Update - Joao Correia
if (STOCK_LIMITED == 'true') {
  if (DOWNLOAD_ENABLED == 'true') {
	$stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename 
						FROM " . TABLE_PRODUCTS . " p
						LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES . " pa
						 ON p.products_id=pa.products_id
						LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad
						 ON pa.products_attributes_id=pad.products_attributes_id
						WHERE p.products_id = '" . tep_get_prid($order->products[$i]['id']) . "'";
// Will work with only one option for downloadable products
// otherwise, we have to build the query dynamically with a loop
	$products_attributes = $order->products[$i]['attributes'];
	if (is_array($products_attributes)) {
	  $stock_query_raw .= " AND pa.options_id = '" . $products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . $products_attributes[0]['value_id'] . "'";
	}
	$stock_query = tep_db_query($stock_query_raw);
  } else {
	$stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
  }
  if (tep_db_num_rows($stock_query) > 0) {
	$stock_values = tep_db_fetch_array($stock_query);
// do not decrement quantities if products_attributes_filename exists
	if ((DOWNLOAD_ENABLED != 'true') || (!$stock_values['products_attributes_filename'])) {
	  $stock_left = $stock_values['products_quantity'] - $order->products[$i]['qty'];
	} else {
	  $stock_left = $stock_values['products_quantity'];
	}
	tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
	if ( ($stock_left < 1) && (STOCK_ALLOW_CHECKOUT == 'false') ) {
	  tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '0' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
	}
  }
}

// Update products_ordered (for bestsellers list)
tep_db_query("update " . TABLE_PRODUCTS . " set products_ordered = products_ordered + " . sprintf('%d', $order->products[$i]['qty']) . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");

$sql_data_array = array('orders_id' => $insert_id, 
						'products_id' => tep_get_prid($order->products[$i]['id']), 
						'products_model' => $order->products[$i]['model'], 
						'products_name' => $order->products[$i]['name'], 
						'products_price' => $order->products[$i]['price'], 
						'final_price' => $order->products[$i]['final_price'], 
						'products_tax' => $order->products[$i]['tax'], 
						'products_quantity' => $order->products[$i]['qty']);
tep_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array);
$order_products_id = tep_db_insert_id();
$order_total_modules->update_credit_account($i);//ICW ADDED FOR CREDIT CLASS SYSTEM
//------insert customer choosen option to order--------
$attributes_exist = '0';
$products_ordered_attributes = '';
if (isset($order->products[$i]['attributes'])) {
  $attributes_exist = '1';
  for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {
	if (DOWNLOAD_ENABLED == 'true') {
	  $attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename 
						   from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa 
						   left join " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad
							on pa.products_attributes_id=pad.products_attributes_id
						   where pa.products_id = '" . $order->products[$i]['id'] . "' 
							and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' 
							and pa.options_id = popt.products_options_id 
							and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' 
							and pa.options_values_id = poval.products_options_values_id 
							and popt.language_id = '" . $languages_id . "' 
							and poval.language_id = '" . $languages_id . "'";
	  $attributes = tep_db_query($attributes_query);
	} else {
	  $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'");
	}
	$attributes_values = tep_db_fetch_array($attributes);

	$sql_data_array = array('orders_id' => $insert_id, 
							'orders_products_id' => $order_products_id, 
							'products_options' => $attributes_values['products_options_name'],
							'products_options_values' => $attributes_values['products_options_values_name'], 
							'options_values_price' => $attributes_values['options_values_price'], 
							'price_prefix' => $attributes_values['price_prefix']);
	tep_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array);

	if ((DOWNLOAD_ENABLED == 'true') && isset($attributes_values['products_attributes_filename']) && tep_not_null($attributes_values['products_attributes_filename'])) {
	  $sql_data_array = array('orders_id' => $insert_id, 
							  'orders_products_id' => $order_products_id, 
							  'orders_products_filename' => $attributes_values['products_attributes_filename'], 
							  'download_maxdays' => $attributes_values['products_attributes_maxdays'], 
							  'download_count' => $attributes_values['products_attributes_maxcount']);
	  tep_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array);
	}
	$products_ordered_attributes .= "\n\t" . $attributes_values['products_options_name'] . ' ' . $attributes_values['products_options_values_name'];
  }
}
//------insert customer choosen option eof ----
$total_weight += ($order->products[$i]['qty'] * $order->products[$i]['weight']);
$total_tax += tep_calculate_tax($total_products_price, $products_tax) * $order->products[$i]['qty'];
$total_cost += $total_products_price;

$products_ordered .= $order->products[$i]['qty'] . ' x ' . $order->products[$i]['name'] . ' (' . $order->products[$i]['model'] . ') = ' . $currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty']) . $products_ordered_attributes . "\n";
 }
 $order_total_modules->apply_credit();//ICW ADDED FOR CREDIT CLASS SYSTEM
// lets start with the email confirmation
 $email_order = STORE_NAME . "\n" . 
			 EMAIL_SEPARATOR . "\n" . 
			 EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" .
			 EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n" .
			 EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n";
 if ($order->info['comments']) {
$email_order .= tep_db_output($order->info['comments']) . "\n\n";
 }
 $email_order .= EMAIL_TEXT_PRODUCTS . "\n" . 
			  EMAIL_SEPARATOR . "\n" . 
			  $products_ordered . 
			  EMAIL_SEPARATOR . "\n";

 for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) {
$email_order .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n";
 }

 if ($order->content_type != 'virtual') {
$email_order .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" . 
				EMAIL_SEPARATOR . "\n" .
				tep_address_label($customer_id, $sendto, 0, '', "\n") . "\n";
 }

 $email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" .
			  EMAIL_SEPARATOR . "\n" .
			  tep_address_label($customer_id, $billto, 0, '', "\n") . "\n\n";
 if (is_object($$payment)) {
$email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . 
				EMAIL_SEPARATOR . "\n";
$payment_class = $$payment;
$email_order .= $payment_class->title . "\n\n";
if ($payment_class->email_footer) { 
  $email_order .= $payment_class->email_footer . "\n\n";
}
 }
 tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

// send emails to other people
 if (SEND_EXTRA_ORDER_EMAILS_TO != '') {
tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
 }

// load the after_process function from the payment modules
 $payment_modules->after_process();

 $cart->reset(true);

// unregister session variables used during checkout
 tep_session_unregister('sendto');
 tep_session_unregister('billto');
 tep_session_unregister('shipping');
 tep_session_unregister('payment');
 tep_session_unregister('comments');
 if(tep_session_is_registered('credit_covers')) tep_session_unregister('credit_covers');
 $order_total_modules->clear_posts();//ICW ADDED FOR CREDIT CLASS SYSTEM

 tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL'));

 require_once(DIR_WS_INCLUDES . 'application_bottom.php');
?>

Share this post


Link to post
Share on other sites
The log file seems to now be recording, however, I have input the sandbox details into the payment module, but the log file records details of the actual checkout merchantid and key?? Is that normal?

 

Hello,

 

Not sure what you're saying here.

 

If it is that you are getting back information based on your live Google Merchant ID & Merchant Key numbers, which are separate, and different from your Sandbox Merchant ID & Merchant Key numbers - where do you have your live Google Merchant ID & Merchant Key numbers inserted?

 

Regards,

 

CT

Edited by carlost

Share this post


Link to post
Share on other sites

Hi CT,

 

I dont have them recorded anywhere, thats the problem! I don't know how those numbers are being written to the log, are they done by google checkout's website, or does my site write to the error log?

Share this post


Link to post
Share on other sites
Hi CT,

 

I dont have them recorded anywhere, thats the problem! I don't know how those numbers are being written to the log, are they done by google checkout's website, or does my site write to the error log?

 

Hi teamwhatever.

 

What other payment methods to you have installed on your site? If you have the other GC module in your site, you should disable it. Also go into your SANDBOX GC merchant account and check your Integration settings. The integration setting in the Sandbox should match your settings in GC IPN module in Admin as explained in the readme file of the GC IPN module. I did a quick check of your checkout_process file and it seems alright. I will take a closer look in case I've missed something.

 

The log is part of the GC IPN module, so that if there are errors it gets sent back to you for debug.

 

Keep at it, we should be able to get you going soon.

 

ski

Share this post


Link to post
Share on other sites

One other thing I notice is that from the checkout_confirmation.php page, with protx, the button for continue has a link to the protx website, whereas with googlecheckout, the link goes straight to google_checkout_process.php on my own website first.

 

With protx module it goes to protx first, then goes to checkout_process.php, which redirects to checkout_success.

 

I'm assuming the way they work are different, hence this being a useless post, but thought I'd mention it anyway in case it was relevant :-D.

 

Also, with neither module activated, the checkout_confirmation.php page still links to protx website when you click continue, except that protx returns an error and not able to process payment. Is there something possibly wrong with my checkout_confirmation.php file?

Share this post


Link to post
Share on other sites

Hi Ski,

 

I did have the other googlecheckout module installed, but fully removed it (or so I thought). I deleted all the entries in the configuration table, and removed all the files, and reinstated my pre googlecheckout edited files where an edit was necessary. Might have missed something, and I have a feeling this previous install is the problem.

 

Thanks for all your help!

Share this post


Link to post
Share on other sites
One other thing I notice is that from the checkout_confirmation.php page, with protx, the button for continue has a link to the protx website, whereas with googlecheckout, the link goes straight to google_checkout_process.php on my own website first.

 

With protx module it goes to protx first, then goes to checkout_process.php, which redirects to checkout_success.

 

I'm assuming the way they work are different, hence this being a useless post, but thought I'd mention it anyway in case it was relevant :-D.

 

Also, with neither module activated, the checkout_confirmation.php page still links to protx website when you click continue, except that protx returns an error and not able to process payment. Is there something possibly wrong with my checkout_confirmation.php file?

 

Ok. . . . lets back up a little. Was your site fully operational prior to GC IPN install? If it was, then the reason you are having problems is due to GC IPN. If your site was already not working prior to GC IPN installation, then we are dealing with an entirely different issue. I'm not familiar with "protx" so I may not be able to help you there.

 

Let us know. And we will go from there.

 

ski

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×