Jump to content


Corporate Sponsors


Latest News: (loading..)

- - - - -

Checkout by Amazon


  • You cannot reply to this topic
8 replies to this topic

#1 meierli

  • Community Member
  • 59 posts
  • Real Name:lm

Posted 19 November 2008, 20:13

I regsitered my website for checkout by amazon. Apparently i have to set it up in OsCommerce and that is when the dilemma starts. I have NO clue how to do that.

Would be great if someone could help me.

Thanks.

#2 amazon_cba_team

  • Community Member
  • 1 posts
  • Real Name:Amazon Payments Team

Posted 02 December 2008, 19:15

You can use any web-based cart system you like with Checkout by Amazon. osCommerce is one of the systems we've created a module for.

You can find out more about Checkout by Amazon's osCommerce module at our Third Party Shopping Carts section of help. If you have questions about installing the module, we have community forums for Checkout By Amazon, including one dedicated to osCommerce.

#3 worldclique

  • Community Member
  • 5 posts
  • Real Name:J Gonz

Posted 24 April 2009, 14:03

Hi!

First, thank you for the great contribution :)

I am having a little issue right now. When the user is presented with the shopping cart page, at the bottom are the two options I have for checkout - normal and the Amazon Checkout button. Well, when I press the Amazon Checkout button it does nothing but refresh the page.

Please advise how I can fix this.

Thanks!!!


jtg

#4 gaba_bits

  • Community Member
  • 2 posts
  • Real Name:Ganesh

Posted 27 April 2009, 07:42

View Postworldclique, on Apr 24 2009, 07:33 PM, said:

Hi!

First, thank you for the great contribution :)

I am having a little issue right now. When the user is presented with the shopping cart page, at the bottom are the two options I have for checkout - normal and the Amazon Checkout button. Well, when I press the Amazon Checkout button it does nothing but refresh the page.

Please advise how I can fix this.

Thanks!!!


jtg

Hi jtg,
Which version of Checkout By Amazon module are you using?
If you are using the latest module - v2.0 or v2.1, can you please check the following

1. You have copied the entire checkout_by_amazon folder under your catalog directory
2. Please make sure that "checkout_by_amazon/checkout_by_amazon_util_dao.php" is available
3. Please check that you have copied the following code in your shopping_cart.php under catalog

You should have the following code, if you are using RC2 version of osCommerce (please check the installation guide to know where exactly this needs to be inserted)
/////////////////////////////////////////////////////////////////////////////////////
//
// AMAZON CODE -> START
//
/////////////////////////////////////////////////////////////////////////////////////
require_once("checkout_by_amazon/checkout_by_amazon_util_dao.php");
$utilDao = new UtilDAO();
$utilDao->printButton();
/////////////////////////////////////////////////////////////////////////////////////
//
// AMAZON CODE -> END
//
/////////////////////////////////////////////////////////////////////////////////////

In addition to the above code, you should have the following code, if you are using MS2 or RC1 version of osCommerce (please check the installation guide to know where exactly this needs to be inserted)


/////////////////////////////////////////////////////////////////////////////////////
//
// AMAZON CODE -> START
//
/////////////////////////////////////////////////////////////////////////////////////
// move form element below to if/else statement above:
// </table></form></td>
// to:
// </table></td>
//
// This is to support Checkout by Amazon's additional form.
?>
</table></td>
<?php
/////////////////////////////////////////////////////////////////////////////////////
//
// AMAZON CODE -> END
//
/////////////////////////////////////////////////////////////////////////////////////

Please let us know if this solves the problem.

Thanks
Amazon Payments Team

#5 worldclique

  • Community Member
  • 5 posts
  • Real Name:J Gonz

Posted 02 May 2009, 18:49

Hi Gaba_bits!

Thank you for your reply. Here is some information for you about my setup:

  • Using Amazon Checkout OSCommerce_Plugin-2.1-RC2.
  • All contents of this package have been uploaded and/or modified based on the instructions included in the package.
  • The checkout_by_amazon folder under your catalog (eshop2.0) directory.
  • The "checkout_by_amazon/checkout_by_amazon_util_dao.php" IS available.
  • The shopping_cart code has been entered into my file -

    /////////////////////////////////////////////////////////////////////////////////////
    //
    // AMAZON CODE -> START
    //
    /////////////////////////////////////////////////////////////////////////////////////
    require_once("checkout_by_amazon/checkout_by_amazon_util_dao.php");
    $utilDao = new UtilDAO();
    $utilDao->printButton();
    /////////////////////////////////////////////////////////////////////////////////////
    //
    // AMAZON CODE -> END
    //
    /////////////////////////////////////////////////////////////////////////////////////

    *Note: Above code entered into my file WITHOUT the comments.


Now I did lose you with the last part you stated:

Quote

/////////////////////////////////////////////////////////////////////////////////////
//
// AMAZON CODE -> START
//
/////////////////////////////////////////////////////////////////////////////////////
// move form element below to if/else statement above:
// </table></form></td>
// to:
// </table></td>
//
// This is to support Checkout by Amazon's additional form.
?>
</table></td>
<?php
/////////////////////////////////////////////////////////////////////////////////////
//
// AMAZON CODE -> END
//
/////////////////////////////////////////////////////////////////////////////////////




I am trying to get this fixed by tomorrow night so anything that you can do to help would be GREATLY APPRECIATED!! :D

Below is all of the code from my shopping_cart.php file -




<?php
/*
  $Id: shopping_cart.php 1739 2007-12-20 00:52:16Z hpdl $

  osCommerce, Open Source E-Commerce Solutions
  [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url]

  Copyright © 2007 osCommerce

  Released under the GNU General Public License
*/

  require("includes/application_top.php");

  if ($cart->count_contents() > 0) {
    include(DIR_WS_CLASSES . 'payment.php');
    $payment_modules = new payment;
  }

  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_SHOPPING_CART);

  $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_SHOPPING_CART));
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script type="text/javascript" src="iepngfix_tilebg.js"></script>
<style type="text/css">
.ie6_png 			{behavior: url("iepngfix.htc") }
.ie6_png img		{behavior: url("iepngfix.htc") }
.ie6_png input		{behavior: url("iepngfix.htc") }
</style>
<!--[if IE]>
   <script type="text/javascript" src="ie_png.js"></script>
   <script type="text/javascript">
       ie_png.fix('.png');
   </script>
<![endif]-->
</head>
<body>
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" class="<?php echo MAIN_TABLE; ?>" cellspacing="0" cellpadding="0">
<tr>
    <td class="<?php echo BOX_WIDTH_TD_LEFT; ?>"><table border="0" class="<?php echo BOX_WIDTH_LEFT; ?>" cellspacing="0" cellpadding="0">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
    </table></td>
<!-- body_text //-->
    <td class="<?php echo CONTENT_WIDTH_TD; ?>"><?php echo panel_top(); ?><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_SHOPPING_CART, 'action=update_product')); ?>
	
<?php echo tep_draw_top();?>

<?php echo tep_draw_title_top();?>

				<?php echo HEADING_TITLE; ?>
			
<?php echo tep_draw_title_bottom();?>

<?php echo tep_draw1_top();?>

<?php
  if ($cart->count_contents() > 0) {
?>
								


<?php
    $info_box_contents = array();
    $info_box_contents[0][] = array('align' => 'center',
                                    'params' => ' class="s_cart_head s_cart_head_padd remove"',
                                    'text' => ''.TABLE_HEADING_REMOVE.'');

    $info_box_contents[0][] = array('align' => 'center',
									'params' => ' class="s_cart_head s_cart_head_padd products"',
                                    'text' => ''.TABLE_HEADING_PRODUCTS.'');

    $info_box_contents[0][] = array('align' => 'center',
                                    'params' => ' class="s_cart_head s_cart_head_padd quantity"',
                                    'text' => ''.TABLE_HEADING_QUANTITY.'');

    $info_box_contents[0][] = array('align' => 'center',
                                    'params' => ' class="s_cart_head s_cart_head_padd total"',
                                    'text' => ''.TABLE_HEADING_TOTAL.'');
									
    $any_out_of_stock = 0;
    $products = $cart->get_products();
    for ($i=0, $n=sizeof($products); $i<$n; $i++) {
// Push all attributes information in an array
      if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {
        while (list($option, $value) = each($products[$i]['attributes'])) {
          echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value);
          $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 = '" . (int)$products[$i]['id'] . "'
                                       and pa.options_id = '" . (int)$option . "'
                                       and pa.options_id = popt.products_options_id
                                       and pa.options_values_id = '" . (int)$value . "'
                                       and pa.options_values_id = poval.products_options_values_id
                                       and popt.language_id = '" . (int)$languages_id . "'
                                       and poval.language_id = '" . (int)$languages_id . "'");
          $attributes_values = tep_db_fetch_array($attributes);

          $products[$i][$option]['products_options_name'] = $attributes_values['products_options_name'];
          $products[$i][$option]['options_values_id'] = $value;
          $products[$i][$option]['products_options_values_name'] = $attributes_values['products_options_values_name'];
          $products[$i][$option]['options_values_price'] = $attributes_values['options_values_price'];
          $products[$i][$option]['price_prefix'] = $attributes_values['price_prefix'];
        }
      }
    }

    for ($i=0, $n=sizeof($products); $i<$n; $i++) {
      if (($i/2) == floor($i/2)) {
        $info_box_contents[] = array('params' => '');
      } else {
        $info_box_contents[] = array('params' => '');
      }

      $cur_row = sizeof($info_box_contents) - 1;
	  $p_cart_pic	= '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">' . tep_image(DIR_WS_IMAGES . $products[$i]['image'], $products[$i]['name'], HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT) . '</a>';
      $info_box_contents[$cur_row][] = array('align' => 'center',
                                             'params' => ' class="s_cart_td"',
                                             'text' => tep_draw_checkbox_field('cart_delete[]', $products[$i]['id']));

      $products_name = '<br>
	<table cellpadding="0" cellspacing="10" border="0">
	  	<tr><td class="name4_padd name"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">' . $products[$i]['name'] . '</a></td></tr>
		<tr><td>'.tep_draw_prod_pic_top().''.$p_cart_pic.''.tep_draw_prod_pic_bottom().'</td></tr>
		';
				
      if (STOCK_CHECK == 'true') {
        $stock_check = tep_check_stock($products[$i]['id'], $products[$i]['quantity']);
        if (tep_not_null($stock_check)) {
          $any_out_of_stock = 1;

          $products_name .= $stock_check;
        }
      }

      if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {
        reset($products[$i]['attributes']);
          $products_name .= '<tr><td align="center">';		
        while (list($option, $value) = each($products[$i]['attributes'])) {				
				
          $products_name .= '<i> - ' . $products[$i][$option]['products_options_name'] . ' ' . $products[$i][$option]['products_options_values_name'] . '</i><br><br>';
        }
          $products_name .= '</td></tr>';		
      }

      $products_name .= '</table><br>';

      $info_box_contents[$cur_row][] = array('params' => '',
                                             'text' => $products_name);

      $info_box_contents[$cur_row][] = array('align' => 'center',
                                             'params' => 'class="s_cart_td"',
                                             'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="2"') . tep_draw_hidden_field('products_id[]', $products[$i]['id']));

      $info_box_contents[$cur_row][] = array('align' => 'center',
                                             'params' => 'class="s_cart_td"',
                                             'text' => '<span class="productSpecialPrice">' . $currencies->display_price($products[$i]['final_price'], tep_get_tax_rate($products[$i]['tax_class_id']), $products[$i]['quantity']) . '</span>');
    }

    new productListingBox($info_box_contents);
?>

<?php
    if ($any_out_of_stock == 1) {
      if (STOCK_ALLOW_CHECKOUT == 'true') {
?>
     
	  <table cellpadding="0" cellspacing="0" border="0">
	  	<tr><td class="stockWarning" align="center"><br><?php echo OUT_OF_STOCK_CAN_CHECKOUT; ?></td></tr>
	  </table>
<?php
      } else {
?>
      <table cellpadding="0" cellspacing="0" border="0">
	  	<tr><td class="stockWarning" align="center"><br><?php echo OUT_OF_STOCK_CANT_CHECKOUT; ?></td></tr>
	  </table>
<?php
      }
    }
?>
				
<?php  /* echo tep_draw_infoBox2_top(); */ ?>

<div class="cart_line_x padd2_gg"><?php echo tep_draw_separator('spacer.gif', '1', '1'); ?></div>
			
				<table cellspacing="0" cellpadding="0" border="0">
					<tr>
						<td width="80%" align="right" class="cart_total_left"><?php echo SUB_TITLE_SUB_TOTAL; ?></td>
						<td width="20%" align="center" class="cart_total_right main">														
							<span class="productSpecialPrice"><?php echo $currencies->format($cart->show_total()); ?></span>
						</td>
					</tr>
				</table>

<div class="cart_line_x padd2_gg"><?php echo tep_draw_separator('spacer.gif', '1', '1'); ?></div>
						
				<table cellspacing="0" cellpadding="0" border="0" >
					<tr>
						<td class="cart_button_padd button2_marg bg_input"><?php echo tep_image_submit('button_update_cart1.gif', IMAGE_BUTTON_UPDATE_CART); ?>&nbsp; <?php
				
    		$back = sizeof($navigation->path)-2;
    			if (isset($navigation->path[$back])) {
				echo '<a href="' . tep_href_link($navigation->path[$back]['page'], tep_array_to_string($navigation->path[$back]['get'], array('action')), $navigation->path[$back]['mode']) . '">' . tep_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING) . '</a>'; 
				}
				?>&nbsp; <?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '">' . tep_image_button('button_checkout1.gif', IMAGE_BUTTON_CHECKOUT) . '</a>'; ?></td>
					</tr>
				</table>	
				
<?php  /* echo tep_draw_infoBox2_bottom(); */ ?>
		
<?php
    $initialize_checkout_methods = $payment_modules->checkout_initialization_method();

    if (!empty($initialize_checkout_methods)) {
?>
    <table cellpadding="0" cellspacing="0" border="0">
	  <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
      <tr>
        <td align="right" class="main" style="padding-right:50px;"><?php echo TEXT_ALTERNATIVE_CHECKOUT_METHODS; ?></td>
      </tr>
<?php
      reset($initialize_checkout_methods);
      while (list(, $value) = each($initialize_checkout_methods)) {
?>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
      <tr>
        <td align="right" class="main"><?php echo $value; ?></td>
      </tr>
	</table>


    
<?php
      }
    }
	
	require_once("checkout_by_amazon/checkout_by_amazon_util_dao.php");
       $utilDao = new UtilDAO();
       $utilDao->printButton();
	
    }else {
?>


<?php echo tep_draw_infoBox_top();?>

<?php new infoBox_search_criteria(array(array('text' => TEXT_CART_EMPTY))); ?>

<?php echo tep_draw_infoBox_bottom();?>

<?php echo tep_pixel_trans();?>
				
<?php  /* echo tep_draw_infoBox2_top(); */ ?>

			<table border="0" width="100%" cellspacing="0" cellpadding="2"><tr>
                <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
                <td align="right" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
                <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
              </tr>
            </table>
			
<?php  /* echo tep_draw_infoBox2_bottom(); */ ?>

<?php
  }
?>
	
<?php echo tep_draw1_bottom();?>
      		
<?php echo tep_draw_bottom();?>

	</form></td>
<!-- body_text_eof //-->
	<td class="<?php echo BOX_WIDTH_TD_RIGHT; ?>"><table border="0" class="<?php echo BOX_WIDTH_RIGHT; ?>" cellspacing="0" cellpadding="0">
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
    </table></td>
  </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>



Again, anything that you can do to help me get this fixed by tomorrow night would be GREATLY APPRECIATED!! :D


THANK YOU THANK YOU THANK YOU!!

#6 gaba_bits

  • Community Member
  • 2 posts
  • Real Name:Ganesh

Posted 07 May 2009, 07:27

Hello,
Can you please open checkout_by_amazon_util_dao.php and comment the following lines in the printButton() function.
This problem could be related to the javascript that is getting loaded there.

<script src=<?php echo(CBA_JQUERY_SETUP); ?> type="text/javascript"></script>

<script src=<?php if(MODULE_PAYMENT_CHECKOUTBYAMAZON_OPERATING_ENVIRONMENT == 'Production'){echo(PROD_1_CLICK);} else {echo(SANDBOX_1_CLICK);} ?> type="text/javascript"></script>

Do let me know if it works.

Thanks

#7 worldclique

  • Community Member
  • 5 posts
  • Real Name:J Gonz

Posted 10 May 2009, 02:24

View Postgaba_bits, on May 7 2009, 03:27 AM, said:

Hello,
Can you please open checkout_by_amazon_util_dao.php and comment the following lines in the printButton() function.
This problem could be related to the javascript that is getting loaded there.

<script src=<?php echo(CBA_JQUERY_SETUP); ?> type="text/javascript"></script>

<script src=<?php if(MODULE_PAYMENT_CHECKOUTBYAMAZON_OPERATING_ENVIRONMENT == 'Production'){echo(PROD_1_CLICK);} else {echo(SANDBOX_1_CLICK);} ?> type="text/javascript"></script>

Do let me know if it works.

Thanks


Hi again,

Unfortunately that did not work. I did notice that the Amazon Checkout button does work in my login.php though. Here are links to my site -

https://www.sea-goddess.com/eshop2.0/shopping_cart.php (not working here)
https://www.sea-goddess.com/eshop2.0/login.php (working here)


Thanks again for your help!


j.

#8 Amazon Payments Team

  • Corporate Sponsor
  • 19 posts
  • Real Name:Amazon Payments Team
  • Gender:Male
  • Location:Seattle, WA - USA

Posted 21 May 2009, 09:19

View Postworldclique, on May 10 2009, 03:24 AM, said:

Hi again,

Unfortunately that did not work. I did notice that the Amazon Checkout button does work in my login.php though. Here are links to my site -

https://www.sea-goddess.com/eshop2.0/shopping_cart.php (not working here)
https://www.sea-goddess.com/eshop2.0/login.php (working here)


Thanks again for your help!


j.

Just checked your website and button seems to be working on the shopping cart as well as login page. please let us know what the issue was and how you fixed it. so that we can roll out the fix in the next release.

Thank you in advance for your help. Please let us know if you face any other issues.

#9 IWAS

  • Community Member
  • 29 posts
  • Real Name:Dave
  • Gender:Male

Posted 04 November 2011, 16:22

This mod really needs to be rewritten to utilize paths that are already configured in filenames and configure. The hardcoding of paths containing admin/ makes a headache for stores that rename their admin directory for security purposes.

I changed a few on my install but am still having trouble getting it working properly, not sure if that is why. Is there a list of all files that contain "admin/" without me searching each file separately?