Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

problem with payment mods


Guest

Recommended Posts

hi my problem is a bit unusual someone please help if you click on credit card or cod and a couple otheres it works fine but some like paypay doesnt work. if you click on the radio button it doesnt mark it. i dont know what is wrong it also does that with checks.

Link to comment
Share on other sites

seems to me like there is somethig missing in the code

whenever you try to select the PayPal check is

being selected instead i'll take a look into it for you

but that's a new one for me

which version of osc do you have?

The more you do, the more you learn

Link to comment
Share on other sites

im not sure what the version is anymore but i thing its 2.2

my checkout_payment.php is as follows

 

<?php

/*

 $Id: checkout_payment.php,v 1.111 2003/06/09 23:03:53 hpdl Exp $



 osCommerce, Open Source E-Commerce Solutions

 http://www.oscommerce.com



 Copyright (c) 2003 osCommerce



 Released under the GNU General Public License

*/



 require('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();

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

 }



// if there is nothing in the customers cart, redirect them to the shopping cart page

 if ($cart->count_contents() < 1) {

   tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));

 }



// if no shipping method has been selected, redirect the customer to the shipping method selection page

 if (!tep_session_is_registered('shipping')) {

   tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', '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'));

   }

 }



// Stock Check

 if ( (STOCK_CHECK == 'true') && (STOCK_ALLOW_CHECKOUT != 'true') ) {

   $products = $cart->get_products();

   for ($i=0, $n=sizeof($products); $i<$n; $i++) {

     if (tep_check_stock($products[$i]['id'], $products[$i]['quantity'])) {

       tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));

       break;

     }

   }

 }



// if no billing destination address was selected, use the customers own address as default

 if (!tep_session_is_registered('billto')) {

   tep_session_register('billto');

   $billto = $customer_default_address_id;

 } else {

// verify the selected billing address

   $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$billto . "'");

   $check_address = tep_db_fetch_array($check_address_query);



   if ($check_address['total'] != '1') {

     $billto = $customer_default_address_id;

     if (tep_session_is_registered('payment')) tep_session_unregister('payment');

   }

 }



 require(DIR_WS_CLASSES . 'order.php');

 $order = new order;



 if (!tep_session_is_registered('comments')) tep_session_register('comments');



 $total_weight = $cart->show_weight();

 $total_count = $cart->count_contents();



// load all enabled payment modules

 require(DIR_WS_CLASSES . 'payment.php');

 $payment_modules = new payment;



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



 $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));

 $breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

?>

<!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 language="javascript"><!--

var selected;



function selectRowEffect(object, buttonSelect) {

 if (!selected) {

   if (document.getElementById) {

     selected = document.getElementById('defaultSelected');

   } else {

     selected = document.all['defaultSelected'];

   }

 }



 if (selected) selected.className = 'moduleRow';

 object.className = 'moduleRowSelected';

 selected = object;



// one button is not an array

 if (document.checkout_payment.payment[0]) {

   document.checkout_payment.payment[buttonSelect].checked=true;

 } else {

   document.checkout_payment.payment.checked=true;

 }

}



function rowOverEffect(object) {

 if (object.className == 'moduleRow') object.className = 'moduleRowOver';

}



function rowOutEffect(object) {

 if (object.className == 'moduleRowOver') object.className = 'moduleRow';

}

//--></script>

<?php echo $payment_modules->javascript_validation(); ?>

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->



<!-- body //-->

<table border="0" width="100%" cellspacing="3" cellpadding="3">

 <tr>

   <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

   </table></td>

<!-- body_text //-->

   <td width="100%" valign="top"><?php echo tep_draw_form('checkout_payment', tep_href_link(FILENAME_CHECKOUT_CONFIRMATION, '', 'SSL'), 'post', 'onsubmit="return check_form();"'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr>

           <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

           <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_payment.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

     </tr>

<?php

 if (isset($HTTP_GET_VARS['payment_error']) && is_object(${$HTTP_GET_VARS['payment_error']}) && ($error = ${$HTTP_GET_VARS['payment_error']}->get_error())) {

?>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="2">

         <tr>

           <td class="main"><b><?php echo tep_output_string_protected($error['title']); ?></b></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBoxNotice">

         <tr class="infoBoxNoticeContents">

           <td><table border="0" width="100%" cellspacing="0" cellpadding="2">

             <tr>

               <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

               <td class="main" width="100%" valign="top"><?php echo tep_output_string_protected($error['error']); ?></td>

               <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

             </tr>

           </table></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

     </tr>

<?php

 }

?>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="2">

         <tr>

           <td class="main"><b><?php echo TABLE_HEADING_BILLING_ADDRESS; ?></b></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

         <tr class="infoBoxContents">

           <td><table border="0" width="100%" cellspacing="0" cellpadding="2">

             <tr>

               <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> 

               <td class="main" width="50%" valign="top"><?php echo TEXT_SELECTED_BILLING_DESTINATION; ?><br><br><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS, '', 'SSL') . '">' . tep_image_button('button_change_address.gif', IMAGE_BUTTON_CHANGE_ADDRESS) . '</a>'; ?></td>

               <td align="right" width="50%" valign="top"><table border="0" cellspacing="0" cellpadding="2">

                 <tr>

                   <td class="main" align="center" valign="top"><b><?php echo TITLE_BILLING_ADDRESS; ?></b><br><?php echo tep_image(DIR_WS_IMAGES . 'arrow_south_east.gif'); ?></td>

                   <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> 

                   <td class="main" valign="top"><?php echo tep_address_label($customer_id, $billto, true, ' ', '<br>'); ?></td>

                   <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> 

                 </tr>

               </table></td>

             </tr>

           </table></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="2">

         <tr>

           <td class="main"><b><?php echo TABLE_HEADING_PAYMENT_METHOD; ?></b></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

         <tr class="infoBoxContents">

           <td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<?php

 $selection = $payment_modules->selection();



 if (sizeof($selection) > 1) {

?>

             <tr>

               <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

               <td class="main" width="50%" valign="top"><?php echo TEXT_SELECT_PAYMENT_METHOD; ?></td>

               <td class="main" width="50%" valign="top" align="right"><b><?php echo TITLE_PLEASE_SELECT; ?></b><br><?php echo tep_image(DIR_WS_IMAGES . 'arrow_east_south.gif'); ?></td>

               <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

             </tr>

<?php

 } else {

?>

             <tr>

               <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

               <td class="main" width="100%" colspan="2"><?php echo TEXT_ENTER_PAYMENT_INFORMATION; ?></td>

               <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

             </tr>

<?php

 }



 $radio_buttons = 0;

 for ($i=0, $n=sizeof($selection); $i<$n; $i++) {

?>

             <tr>

               <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

               <td colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<?php

   if ( ($selection[$i]['id'] == $payment) || ($n == 1) ) {

     echo '                  <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "n";

   } else {

     echo '                  <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "n";

   }

?>

                   <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

                   <td class="main" colspan="3"><b><?php echo $selection[$i]['module']; ?></b></td>

                   <td class="main" align="right">

<?php

   if (sizeof($selection) > 1) {

     echo tep_draw_radio_field('payment', $selection[$i]['id']);

   } else {

     echo tep_draw_hidden_field('payment', $selection[$i]['id']);

   }

?>

                   </td>

                   <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

                 </tr>

<?php

   if (isset($selection[$i]['error'])) {

?>

                 <tr>

                   <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

                   <td class="main" colspan="4"><?php echo $selection[$i]['error']; ?></td>

                   <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

                 </tr>

<?php

   } elseif (isset($selection[$i]['fields']) && is_array($selection[$i]['fields'])) {

?>

                 <tr>

                   <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

                   <td colspan="4"><table border="0" cellspacing="0" cellpadding="2">

<?php

     for ($j=0, $n2=sizeof($selection[$i]['fields']); $j<$n2; $j++) {

?>

                     <tr>

                       <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

                       <td class="main"><?php echo $selection[$i]['fields'][$j]['title']; ?></td>

                       <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

                       <td class="main"><?php echo $selection[$i]['fields'][$j]['field']; ?></td>

                       <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

                     </tr>

<?php

     }

?>

                   </table></td>

                   <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

                 </tr>

<?php

     $radio_buttons++;

   }

?>

               </table></td>

               <td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> 

             </tr>

<?php

 }

?>

           </table></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="2">

         <tr>

           <td class="main"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

         <tr class="infoBoxContents">

           <td><table border="0" width="100%" cellspacing="0" cellpadding="2">

             <tr>

               <td><?php echo tep_draw_textarea_field('comments', 'soft', '60', '5'); ?></td>

             </tr>

           </table></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

         <tr class="infoBoxContents">

           <td><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 class="main"><b><?php echo TITLE_CONTINUE_CHECKOUT_PROCEDURE . '</b><br>' . TEXT_CONTINUE_CHECKOUT_PROCEDURE; ?></td>

               <td class="main" align="right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td>

               <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

             </tr>

           </table></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr>

           <td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">

             <tr>

               <td width="50%" align="right"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>

               <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

             </tr>

           </table></td>

           <td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">

             <tr>

               <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

               <td><?php echo tep_image(DIR_WS_IMAGES . 'checkout_bullet.gif'); ?></td>

               <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

             </tr>

           </table></td>

           <td width="25%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

           <td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">

             <tr>

               <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

               <td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>

             </tr>

           </table></td>

         </tr>

         <tr>

           <td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_DELIVERY . '</a>'; ?></td>

           <td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_PAYMENT; ?></td>

           <td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td>

           <td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_FINISHED; ?></td>

         </tr>

       </table></td>

     </tr>

   </table></form></td>

<!-- body_text_eof //-->

   <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<!-- 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 //-->

<br>

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Link to comment
Share on other sites

John and I are the same store, there are two of us. we have been working on this problem now for about 2 days, and can't seem to get it to wrok correctly. everything worked fien before, until we added a new pay feature, now it doesn't...........

Link to comment
Share on other sites

ok you guys i think i've got it, it seems to work for me.

 

find this line in your checkout_payment.php

it's around line 274-276

<?php 

   } elseif (isset($selection[$i]['fields']) && is_array($selection[$i]['fields'])) { 

?>  

and replace it with

<?php

   } else {

?>

that should take care of your problem

let me know if it works

THX :wink:

The more you do, the more you learn

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...