Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

sending data from checkout_confirmation 2 merchant


themadman

Recommended Posts

This code in checkout_confirmation.php with my modifications creates the variables needed for paystems to do reoccuring billing and to set the billing cycle to 30 or 365 according to the option chose, but it does not pass them on to paysystems payment module. How can I ensure that these variables are available?

checkout_confirmation.php

<?php
/*
 $Id: checkout_confirmation.php,v 1.139 2003/06/11 17:34: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(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT));
   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));
 }

// 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'));
   }
 }

// 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'));
 }

 if (!tep_session_is_registered('payment')) tep_session_register('payment');
 if (isset($HTTP_POST_VARS['payment'])) $payment = $HTTP_POST_VARS['payment'];

 if (!tep_session_is_registered('comments')) tep_session_register('comments');
 if (tep_not_null($HTTP_POST_VARS['comments'])) {
   $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);
 }

// load the selected payment module
 require(DIR_WS_CLASSES . 'payment.php');
 $payment_modules = new payment($payment);

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

 $payment_modules->update_status();

 if ( ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) || (is_object($$payment) && ($$payment->enabled == false)) ) {
   tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));
 }

 if (is_array($payment_modules->modules)) {
   $payment_modules->pre_confirmation_check();
 }

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

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

// Stock Check
 $any_out_of_stock = false;
 if (STOCK_CHECK == 'true') {
   for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
     if (tep_check_stock($order->products[$i]['id'], $order->products[$i]['qty'])) {
       $any_out_of_stock = true;
     }
   }
   // Out of Stock
   if ( (STOCK_ALLOW_CHECKOUT != 'true') && ($any_out_of_stock == true) ) {
     tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
   }
 }

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

 $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
 $breadcrumb->add(NAVBAR_TITLE_2);
?>
<!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">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'headercart.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"><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_confirmation.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>
     <tr>
       <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
         <tr class="infoBoxContents">
<?php
 if ($sendto != false) {
?>
           <td width="30%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
             <tr>
               <td class="main"><?php echo '<b>' . HEADING_DELIVERY_ADDRESS . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING_ADDRESS, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
             </tr>
             <tr>
               <td class="main"><?php echo tep_address_format($order->delivery['format_id'], $order->delivery, 1, ' ', '<br>'); ?></td>
             </tr>
<?php
   if ($order->info['shipping_method']) {
?>
             <tr>
               <td class="main"><?php echo '<b>' . HEADING_SHIPPING_METHOD . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
             </tr>
             <tr>
               <td class="main"><?php echo $order->info['shipping_method']; ?></td>
             </tr>
<?php
   }
?>
           </table></td>
<?php
 }
?>
           <td width="<?php echo (($sendto != false) ? '70%' : '100%'); ?>" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
             <tr>
               <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<?php
 if (sizeof($order->info['tax_groups']) > 1) {
?>
                 <tr>
                   <td class="main" colspan="2"><?php echo '<b>' . HEADING_PRODUCTS . '</b> <a href="' . tep_href_link(FILENAME_SHOPPING_CART) . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
                   <td class="smallText" align="right"><b><?php echo HEADING_TAX; ?></b></td>
                   <td class="smallText" align="right"><b><?php echo HEADING_TOTAL; ?></b></td>
                 </tr>
<?php
 } else {
?>
                 <tr>
                   <td class="main" colspan="3"><?php echo '<b>' . HEADING_PRODUCTS . '</b> <a href="' . tep_href_link(FILENAME_SHOPPING_CART) . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
                 </tr>
<?php
 }

 for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
   echo '          <tr>' . "\n" .
        '            <td class="main" align="right" valign="top" width="30">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .
        '            <td class="main" valign="top">' . $order->products[$i]['name'];

   if (STOCK_CHECK == 'true') {
     echo tep_check_stock($order->products[$i]['id'], $order->products[$i]['qty']);
   }

   if ( (isset($order->products[$i]['attributes'])) && (sizeof($order->products[$i]['attributes']) > 0) ) {
     for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {
       echo '<br><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'] . '</i></small></nobr>';
     }
   }

if ($billingmethod == Monthly) {
$reoccurring = "Y";
$billingcycle = "30";
}
elseif ($billingmethod == Yearly) {
$reoccurring = "Y";
$billingcycle = "365";
}
else
{
$reoccurring = "N";
$billingcycle = "";
}
// echo output on screen
echo " You will be billed every $billcycle days and reoccuring is set to $reoccurring";

   echo '</td>' . "\n";

   if (sizeof($order->info['tax_groups']) > 1) echo '            <td class="main" valign="top" align="right">' . tep_display_tax_value($order->products[$i]['tax']) . '%</td>' . "\n";

   echo '            <td class="main" align="right" valign="top">' . $currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty']) . '</td>' . "\n" .
        '          </tr>' . "\n";
 }
?>
               </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 class="main"><b><?php echo HEADING_BILLING_INFORMATION; ?></b></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 width="30%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
             <tr>
               <td class="main"><?php echo '<b>' . HEADING_BILLING_ADDRESS . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
             </tr>
             <tr>
               <td class="main"><?php echo tep_address_format($order->billing['format_id'], $order->billing, 1, ' ', '<br>'); ?></td>
             </tr>
             <tr>
               <td class="main"><?php echo '<b>' . HEADING_PAYMENT_METHOD . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>
             </tr>
             <tr>
               <td class="main"><?php echo $order->info['payment_method']; ?></td>
             </tr>
           </table></td>
           <td width="70%" valign="top" align="right"><table border="0" cellspacing="0" cellpadding="2">
<?php
 if (MODULE_ORDER_TOTAL_INSTALLED) {
   $order_total_modules->process();
   echo $order_total_modules->output();
 }
?>
           </table></td>
         </tr>
       </table></td>
     </tr>
<?php
 if (is_array($payment_modules->modules)) {
   if ($confirmation = $payment_modules->confirmation()) {
     $payment_info = $confirmation['title'];
     if (!tep_session_is_registered('payment_info')) tep_session_register('payment_info');
?>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>
     <tr>
       <td class="main"><b><?php echo HEADING_PAYMENT_INFORMATION; ?></b></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" cellspacing="0" cellpadding="2">
             <tr>
               <td class="main" colspan="4"><?php echo $confirmation['title']; ?></td>
             </tr>
<?php
     for ($i=0, $n=sizeof($confirmation['fields']); $i<$n; $i++) {
?>
             <tr>
               <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
               <td class="main"><?php echo $confirmation['fields'][$i]['title']; ?></td>
               <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
               <td class="main"><?php echo $confirmation['fields'][$i]['field']; ?></td>
             </tr>
<?php
     }
?>
           </table></td>
         </tr>
       </table></td>
     </tr>
<?php
   }
 }
?>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>
<?php
 if (tep_not_null($order->info['comments'])) {
?>
     <tr>
       <td class="main"><?php echo '<b>' . HEADING_ORDER_COMMENTS . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></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 class="main"><?php echo nl2br(tep_output_string_protected($order->info['comments'])) . tep_draw_hidden_field('comments', $order->info['comments']); ?></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="0">
         <tr>
           <td align="right" class="main">
<?php
 if (isset($$payment->form_action_url)) {
   $form_action_url = $$payment->form_action_url;
 } else {
   $form_action_url = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL');
 }

 echo tep_draw_form('checkout_confirmation', $form_action_url, 'post');

 if (is_array($payment_modules->modules)) {
   echo $payment_modules->process_button();
 }

 echo tep_image_submit('button_confirm_order.gif', IMAGE_BUTTON_CONFIRM_ORDER) . '</form>' . "\n";
?>
           </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%"><?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><?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%"><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="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_PAYMENT . '</a>'; ?></td>
           <td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td>
           <td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_FINISHED; ?></td>
         </tr>
       </table></td>
     </tr>
   </table></td>
<!-- body_text_eof //-->
 </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'); ?>

 

But when submitted by clicking "confirm order" button the variables arent passed along with the rest. I have tried different things on how to get this to work but have been unsussessful. Here, in /includes/modules/payment/paysystems.php I have tried many things, in this one I have only changed the cycle and reoccuring values to the variables to $billingcycle and $reoccuring

/includes/modules/payment/paysystems.php

<?php
/*
 $Id: paysystems.php,v 1.2 2003/03/17                 Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/
 class paysystems {
   var $code, $title, $description, $enabled;


// class constructor
   function paysystems() {
     global $order;

     $this->code = 'paysystems';
     $this->title = MODULE_PAYMENT_PAYSYSTEMS_TEXT_TITLE;
     $this->description = MODULE_PAYMENT_PAYSYSTEMS_TEXT_DESCRIPTION;
     $this->sort_order = MODULE_PAYMENT_PAYSYSTEMS_SORT_ORDER;      
     $this->enabled = ((MODULE_PAYMENT_PAYSYSTEMS_STATUS == 'True') ? true : false);

     if ((int)MODULE_PAYMENT_PAYSYSTEMS_ORDER_STATUS_ID > 0) {
       $this->order_status = MODULE_PAYMENT_PAYSYSTEMS_ORDER_STATUS_ID;
     }

     if (is_object($order)) $this->update_status();

     $this->form_action_url = 'https://secure.paysystems1.com/cgi-v310/payment/onlinesale-tpppro.asp';
   }

// class methods
   function update_status() {
     global $order;

     if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PAYSYSTEMS_ZONE > 0) ) {
       $check_flag = false;
       $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_PAYSYSTEMS_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");
       while ($check = tep_db_fetch_array($check_query)) {
         if ($check['zone_id'] < 1) {
           $check_flag = true;
           break;
         } elseif ($check['zone_id'] == $order->billing['zone_id']) {
           $check_flag = true;
           break;
         }
       }

       if ($check_flag == false) {
         $this->enabled = false;
       }
     }
   }

   function javascript_validation() {
     return false;
   }

   function selection() {
     //return false;
     return array('id' => $this->code,
                  'module' => $this->title,
                  'fields' => array(array('title' => MODULE_PAYMENT_PAYSYSTEMS_CREDIT_CARD,
                                          'field' => tep_draw_radio_field('paysystems_method', 'Credit Card', true)),
                                    array('title' => MODULE_PAYMENT_PAYSYSTEMS_ONLINE_CHECK,
                                          'field' => tep_draw_radio_field('paysystems_method',  'Online Check', false))));    }

   function pre_confirmation_check() {
     global $HTTP_POST_VARS;
     
// Default method is credit card and set in constructor
     if($HTTP_POST_VARS['paysystems_method'] == 'Online Check') {
       $this->form_action_url = 'https://secure.paysystems1.com/cgi-v310/payment/onlinesale-tpppro_check.asp';
     }
   }

   function confirmation() {
     return false;
//   global $checkout_form_action;
//      $checkout_form_action = 'https://secure.paysystems1.com/cgi-v310/payment/onlinesale-tpppro.asp';
   }

   function process_button() {
     global $order, $customer_id, $currencies;
    
 for ($i=0; $i<sizeof($order->products); $i++) {

   if ($i==0)
   
   {
       $products_list = $products_list. "" .$order->products[$i]['name'][$i]['attributes'][$j]['value'];
     }else{
       $products_list = $products_list. ", " .$order->products[$i]['name'][$i]['attributes'][$j]['value'];
      }
   }

     $process_button_string = tep_draw_hidden_field('product1',$products_list) .
                              tep_draw_hidden_field('companyid', MODULE_PAYMENT_PAYSYSTEMS_LOGIN) .
                              tep_draw_hidden_field('formget','Y') .
                              tep_draw_hidden_field('redirect',tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL', false)) .
         tep_draw_hidden_field('redirectfail',tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', false)) .
         tep_draw_hidden_field('reoccur',$reoccuring) .
                              tep_draw_hidden_field('cycle', $billingcycle) .
                              tep_draw_hidden_field('totalperiod','36') .
                              tep_draw_hidden_field('repeatamount', number_format($order->info['total'], 2)) .
                              tep_draw_hidden_field('total', number_format($order->info['total'], 2)) .
                              tep_draw_hidden_field('b_firstname', $order->customer['firstname']) .
                              tep_draw_hidden_field('b_middlename','') .
                              tep_draw_hidden_field('b_lastname', $order->customer['lastname']) .
                              tep_draw_hidden_field('b_address', $order->customer['street_address']) .
                              tep_draw_hidden_field('b_city', $order->customer['city']) .
                              tep_draw_hidden_field('b_state', $order->delivery['country']['iso_code_2']) .
                              tep_draw_hidden_field('b_zip', $order->customer['postcode']) .
                              tep_draw_hidden_field('b_country',$order->customer['country']['iso_code_2']) .
                              tep_draw_hidden_field('b_tel', $order->customer['telephone']) .
                              tep_draw_hidden_field('email', $order->customer['email_address']) .
                              tep_draw_hidden_field('s_firstname', $order->delivery['firstname']) .
                              tep_draw_hidden_field('s_middlename','') .
                              tep_draw_hidden_field('s_lastname', $order->delivery['lastname']) .
                              tep_draw_hidden_field('s_address', $order->delivery['street_address']) .
                              tep_draw_hidden_field('s_city', $order->delivery['city']) .
                              tep_draw_hidden_field('s_state', $order->delivery['country']['iso_code_2']) .
                              tep_draw_hidden_field('s_zip', $order->delivery['postcode']) .
                              tep_draw_hidden_field('s_country', $order->delivery['country']['iso_code_2']) .
                              tep_draw_hidden_field('s_tel','') .

     $process_button_string .= tep_draw_hidden_field(tep_session_name(), tep_session_id());

    return $process_button_string;
}

   function before_process() {
     global $HTTP_GET_VARS;

     if ($HTTP_GET_VARS['cc_status'] != 'pass') {
       tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(MODULE_PAYMENT_PAYSYSTEMS_TEXT_ERROR_MESSAGE), 'SSL', true, false));
     }
   }

   function after_process() {
  return false;
   }

   function output_error() {
     global $HTTP_GET_VARS;

     $output_error_string = '<table border="0" cellspacing="0" cellpadding="0" width="100%">' . "\n" .
                            '  <tr>' . "\n" .
                            '    <td class="main"> <font color="#FF0000"><b>' . MODULE_PAYMENT_PAYSYSTEMS_TEXT_ERROR . '</b></font><br> ' . stripslashes($HTTP_GET_VARS['cc_val']) . ' </td>' . "\n" .
                            '  </tr>' . "\n" .
                            '</table>' . "\n";

     return $output_error_string;
   }

   function check() {
     if (!isset($this->_check)) {
       $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_PAYSYSTEMS_STATUS'");
       $this->_check = tep_db_num_rows($check_query);
     }
     return $this->_check;
   }

   function install() {
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Paysystems Module', 'MODULE_PAYMENT_PAYSYSTEMS_STATUS', 'True', 'Do you want to accept Paysystems payments?', '6', '1', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Paysystems Login', 'MODULE_PAYMENT_PAYSYSTEMS_LOGIN', '3800', 'Login used for Paysystems payments', '6', '2', now())");
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Paysystems E-Mail Client', 'MODULE_PAYMENT_PAYSYSTEMS_EMAIL', '0', 'Should Paysystems e-mail the customer too? 0=NO, 1=YES', '6', '3', now())");
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Paysystems E-Mail Merchant', 'MODULE_PAYMENT_PAYSYSTEMS_EMAIL_MERCHANT', '1', 'Should Paysystems e-mail you? 0=NO, 1=YES', '6', '4', now())");
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort order of display.', 'MODULE_PAYMENT_PAYSYSTEMS_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '5', now())");
    tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_PAYSYSTEMS_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())");
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_PAYSYSTEMS_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())");
   }

   function remove() {
     tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
   }

   function keys() {
     $keys = array('MODULE_PAYMENT_PAYSYSTEMS_STATUS', 'MODULE_PAYMENT_PAYSYSTEMS_LOGIN', 'MODULE_PAYMENT_PAYSYSTEMS_EMAIL', 'MODULE_PAYMENT_PAYSYSTEMS_EMAIL_MERCHANT', 'MODULE_PAYMENT_PAYSYSTEMS_ZONE', 'MODULE_PAYMENT_PAYSYSTEMS_ORDER_STATUS_ID', 'MODULE_PAYMENT_PAYSYSTEMS_SORT_ORDER');

     return $keys;
   }
 }
?>

 

 

Maybe i got some syntax wrong... as i look at the paystems.php i get the feeling the answer is in there already. makes me feel nauscious.

thanks for any help!

Link to comment
Share on other sites

I'm not familar with paystems etc.

 

But in my experience what happens is the call to $payment_module->process_button();

will return all the hidden fields that will then be passed to the 3rd party. And looking at your code you do not have for example $billing_method declared global in that function like for example $currencies, so the value assigned to $billing_method outside of that function is not being referenced by the $billing_method variable inside the $process_button() function.

 

HTH.

"Any fool can know. The point is to understand." -- Albert Einstein

Link to comment
Share on other sites

this is really kickin my butt...that didn't seem to help... probably did it wrong... im just not versed enough in the code. This would be easy for a real developer... i would think. Too bad im not one... it would be a contribution already.

Edited by themadman
Link to comment
Share on other sites

tried this... didn't work.

    function process_button() {
     global $order, $customer_id, $currencies, $billing_method, $reoccuring, $billingcycle;
    
 for ($i=0; $i<sizeof($order->products); $i++) {

   if ($i==0)
   
   {
       $products_list = $products_list. "" .$order->products[$i]['name'][$i]['attributes'][$j]['value'];
     }else{
       $products_list = $products_list. ", " .$order->products[$i]['name'][$i]['attributes'][$j]['value'];
      }
   }
     $process_button_string = tep_draw_hidden_field('product1',$products_list) .
                              tep_draw_hidden_field('companyid', MODULE_PAYMENT_PAYSYSTEMS_LOGIN) .
                              tep_draw_hidden_field('formget','Y') .
                              tep_draw_hidden_field('redirect',tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL', false)) .
                              tep_draw_hidden_field('redirectfail',tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', false)) .
                              tep_draw_hidden_field('reoccur',$reoccuring) .
                              tep_draw_hidden_field('cycle', $billingcycle) .
                              tep_draw_hidden_field('totalperiod','') .
                              tep_draw_hidden_field('repeatamount', number_format($order->info['total'], 2)) .
                              tep_draw_hidden_field('total', number_format($order->info['total'], 2)) .
                              tep_draw_hidden_field('b_firstname', $order->customer['firstname']) .
                              tep_draw_hidden_field('b_middlename','') .
                              tep_draw_hidden_field('b_lastname', $order->customer['lastname']) .
                              tep_draw_hidden_field('b_address', $order->customer['street_address']) .
                              tep_draw_hidden_field('b_city', $order->customer['city']) .
                              tep_draw_hidden_field('b_state', $order->delivery['country']['iso_code_2']) .
                              tep_draw_hidden_field('b_zip', $order->customer['postcode']) .
                              tep_draw_hidden_field('b_country',$order->customer['country']['iso_code_2']) .
                              tep_draw_hidden_field('b_tel', $order->customer['telephone']) .
                              tep_draw_hidden_field('email', $order->customer['email_address']) .
                              tep_draw_hidden_field('s_firstname', $order->delivery['firstname']) .
                              tep_draw_hidden_field('s_middlename','') .
                              tep_draw_hidden_field('s_lastname', $order->delivery['lastname']) .
                              tep_draw_hidden_field('s_address', $order->delivery['street_address']) .
                              tep_draw_hidden_field('s_city', $order->delivery['city']) .
                              tep_draw_hidden_field('s_state', $order->delivery['country']['iso_code_2']) .
                              tep_draw_hidden_field('s_zip', $order->delivery['postcode']) .
                              tep_draw_hidden_field('s_country', $order->delivery['country']['iso_code_2']) .
                              tep_draw_hidden_field('s_tel','') .

     $process_button_string .= tep_draw_hidden_field(tep_session_name(), tep_session_id());
    return $process_button_string;
}

Link to comment
Share on other sites

A few observations,

 

Firstly where is $billingmethod very first defined, you test to see whether it is equal to "Monthly", but where before that in the script is it set,

 

When you echo out to the screen you have $billcylce, but a few lines above your saying $billingcyle ???

 

If the $billingmethod is not set (equla to Monthly, Yearly) you have set it so that the default case is '', i.e no value at all.

 

You have to be careful about the variable names, billing_method is not the same as billingmethod.

"Any fool can know. The point is to understand." -- Albert Einstein

Link to comment
Share on other sites

its in this version... where i define it first.

<?php

/*

  $Id: checkout_confirmation.php,v 1.139 2003/06/11 17:34:53 hpdl Exp $

 

  osCommerce, Open Source E-Commerce Solutions

  http://www.oscommerce.com

 

  Copyright © 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(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT));

    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));

  }

 

// 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'));

    }

  }

 

// 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'));

  }

 

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

  if (isset($HTTP_POST_VARS['payment'])) $payment = $HTTP_POST_VARS['payment'];

 

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

  if (tep_not_null($HTTP_POST_VARS['comments'])) {

    $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);

  }

 

// load the selected payment module

  require(DIR_WS_CLASSES . 'payment.php');

  $payment_modules = new payment($payment);

 

  require(DIR_WS_CLASSES . 'order.php');

  $order = new order;

 

  $payment_modules->update_status();

 

  if ( ( is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 1) && !is_object($$payment) ) || (is_object($$payment) && ($$payment->enabled == false)) ) {

    tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));

  }

 

  if (is_array($payment_modules->modules)) {

    $payment_modules->pre_confirmation_check();

  }

 

// load the selected shipping module

  require(DIR_WS_CLASSES . 'shipping.php');

  $shipping_modules = new shipping($shipping);

 

  require(DIR_WS_CLASSES . 'order_total.php');

  $order_total_modules = new order_total;

 

// Stock Check

  $any_out_of_stock = false;

  if (STOCK_CHECK == 'true') {

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

      if (tep_check_stock($order->products[$i]['id'], $order->products[$i]['qty'])) {

        $any_out_of_stock = true;

      }

    }

    // Out of Stock

    if ( (STOCK_ALLOW_CHECKOUT != 'true') && ($any_out_of_stock == true) ) {

      tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));

    }

  }

 

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

 

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

  $breadcrumb->add(NAVBAR_TITLE_2);

?>

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

</head>

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

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'headercart.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"><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_confirmation.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>

      <tr>

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

          <tr class="infoBoxContents">

<?php

  if ($sendto != false) {

?>

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

              <tr>

                <td class="main"><?php echo '<b>' . HEADING_DELIVERY_ADDRESS . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING_ADDRESS, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>

              </tr>

              <tr>

                <td class="main"><?php echo tep_address_format($order->delivery['format_id'], $order->delivery, 1, ' ', '<br>'); ?></td>

              </tr>

<?php

    if ($order->info['shipping_method']) {

?>

              <tr>

                <td class="main"><?php echo '<b>' . HEADING_SHIPPING_METHOD . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>

              </tr>

              <tr>

                <td class="main"><?php echo $order->info['shipping_method']; ?></td>

              </tr>

<?php

    }

?>

            </table></td>

<?php

  }

?>

            <td width="<?php echo (($sendto != false) ? '70%' : '100%'); ?>" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

              <tr>

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

<?php

  if (sizeof($order->info['tax_groups']) > 1) {

?>

                  <tr>

                    <td class="main" colspan="2"><?php echo '<b>' . HEADING_PRODUCTS . '</b> <a href="' . tep_href_link(FILENAME_SHOPPING_CART) . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>

                    <td class="smallText" align="right"><b><?php echo HEADING_TAX; ?></b></td>

                    <td class="smallText" align="right"><b><?php echo HEADING_TOTAL; ?></b></td>

                  </tr>

<?php

  } else {

?>

                  <tr>

                    <td class="main" colspan="3"><?php echo '<b>' . HEADING_PRODUCTS . '</b> <a href="' . tep_href_link(FILENAME_SHOPPING_CART) . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>

                  </tr>

<?php

  }

 

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

    echo '          <tr>' . "\n" .

        '            <td class="main" align="right" valign="top" width="30">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .

        '            <td class="main" valign="top">' . $order->products[$i]['name'];

 

    if (STOCK_CHECK == 'true') {

      echo tep_check_stock($order->products[$i]['id'], $order->products[$i]['qty']);

    }

 

    if ( (isset($order->products[$i]['attributes'])) && (sizeof($order->products[$i]['attributes']) > 0) ) {

      for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {

        echo '<br><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'] . '</i></small></nobr>';

// added by themadman for option checking

$billingmethod = '' . $order->products[$i]['attributes'][$j]['value'] . '';

      }

    }

 

if ($billingmethod == Monthly) {

$reoccurring = "Y";

$billingcycle = 30;

}

elseif ($billingmethod == Yearly) {

$reoccurring = "Y";

$billingcycle = 365;

}

else

{

$reoccurring = "N";

$billingcycle = "";

}

// echo output on screen as a test to see the variables

// echo " You will be billed every $billingcycle days and reoccuring is set to $reoccurring";

// end by themadman

    echo '</td>' . "\n";

 

    if (sizeof($order->info['tax_groups']) > 1) echo '            <td class="main" valign="top" align="right">' . tep_display_tax_value($order->products[$i]['tax']) . '%</td>' . "\n";

 

    echo '            <td class="main" align="right" valign="top">' . $currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty']) . '</td>' . "\n" .

        '          </tr>' . "\n";

  }

?>

                </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 class="main"><b><?php echo HEADING_BILLING_INFORMATION; ?></b></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 width="30%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

              <tr>

                <td class="main"><?php echo '<b>' . HEADING_BILLING_ADDRESS . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>

              </tr>

              <tr>

                <td class="main"><?php echo tep_address_format($order->billing['format_id'], $order->billing, 1, ' ', '<br>'); ?></td>

              </tr>

              <tr>

                <td class="main"><?php echo '<b>' . HEADING_PAYMENT_METHOD . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></td>

              </tr>

              <tr>

                <td class="main"><?php echo $order->info['payment_method']; ?></td>

              </tr>

            </table></td>

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

<?php

  if (MODULE_ORDER_TOTAL_INSTALLED) {

    $order_total_modules->process();

    echo $order_total_modules->output();

  }

?>

            </table></td>

          </tr>

        </table></td>

      </tr>

<?php

  if (is_array($payment_modules->modules)) {

    if ($confirmation = $payment_modules->confirmation()) {

      $payment_info = $confirmation['title'];

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

?>

      <tr>

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

      </tr>

      <tr>

        <td class="main"><b><?php echo HEADING_PAYMENT_INFORMATION; ?></b></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" cellspacing="0" cellpadding="2">

              <tr>

                <td class="main" colspan="4"><?php echo $confirmation['title']; ?></td>

              </tr>

<?php

      for ($i=0, $n=sizeof($confirmation['fields']); $i<$n; $i++) {

?>

              <tr>

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

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

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

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

              </tr>

<?php

      }

?>

            </table></td>

          </tr>

        </table></td>

      </tr>

<?php

    }

  }

?>

      <tr>

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

      </tr>

<?php

  if (tep_not_null($order->info['comments'])) {

?>

      <tr>

        <td class="main"><?php echo '<b>' . HEADING_ORDER_COMMENTS . '</b> <a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL') . '"><span class="orderEdit">(' . TEXT_EDIT . ')</span></a>'; ?></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 class="main"><?php echo nl2br(tep_output_string_protected($order->info['comments'])) . tep_draw_hidden_field('comments', $order->info['comments']); ?></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="0">

          <tr>

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

<?php

  if (isset($$payment->form_action_url)) {

    $form_action_url = $$payment->form_action_url;

  } else {

    $form_action_url = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL');

  }

 

  echo tep_draw_form('checkout_confirmation', $form_action_url, 'post');

 

  if (is_array($payment_modules->modules)) {

    echo $payment_modules->process_button();

  }

 

  echo tep_image_submit('button_confirm_order.gif', IMAGE_BUTTON_CONFIRM_ORDER) . '</form>' . "\n";

?>

            </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%"><?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><?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%"><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="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_PAYMENT . '</a>'; ?></td>

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

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

          </tr>

        </table></td>

      </tr>

    </table></td>

<!-- body_text_eof //-->

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

and this is my current paysystems.php... for the record. =P

<?php
/*
 $Id: paysystems.php,v 1.2 2003/03/17                 Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/
//********************
 class paysystems {
   var $code, $title, $description, $enabled;


// class constructor
   function paysystems() {
     global $order;

     $this->code = 'paysystems';
     $this->title = MODULE_PAYMENT_PAYSYSTEMS_TEXT_TITLE;
     $this->description = MODULE_PAYMENT_PAYSYSTEMS_TEXT_DESCRIPTION;
     $this->sort_order = MODULE_PAYMENT_PAYSYSTEMS_SORT_ORDER;      
     $this->enabled = ((MODULE_PAYMENT_PAYSYSTEMS_STATUS == 'True') ? true : false);

     if ((int)MODULE_PAYMENT_PAYSYSTEMS_ORDER_STATUS_ID > 0) {
       $this->order_status = MODULE_PAYMENT_PAYSYSTEMS_ORDER_STATUS_ID;
     }

     if (is_object($order)) $this->update_status();

     $this->form_action_url = 'https://secure.paysystems1.com/cgi-v310/payment/onlinesale-tpppro.asp';
   }

// class methods
   function update_status() {
     global $order;

     if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PAYSYSTEMS_ZONE > 0) ) {
       $check_flag = false;
       $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_PAYSYSTEMS_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");
       while ($check = tep_db_fetch_array($check_query)) {
         if ($check['zone_id'] < 1) {
           $check_flag = true;
           break;
         } elseif ($check['zone_id'] == $order->billing['zone_id']) {
           $check_flag = true;
           break;
         }
       }

       if ($check_flag == false) {
         $this->enabled = false;
       }
     }
   }

   function javascript_validation() {
     return false;
   }

   function selection() {
     //return false;
     return array('id' => $this->code,
                  'module' => $this->title,
                  'fields' => array(array('title' => MODULE_PAYMENT_PAYSYSTEMS_CREDIT_CARD,
                                          'field' => tep_draw_radio_field('paysystems_method', 'Credit Card', true)),
                                    array('title' => MODULE_PAYMENT_PAYSYSTEMS_ONLINE_CHECK,
                                          'field' => tep_draw_radio_field('paysystems_method',  'Online Check', false))));    }

   function pre_confirmation_check() {
     global $HTTP_POST_VARS;
     
// Default method is credit card and set in constructor
     if($HTTP_POST_VARS['paysystems_method'] == 'Online Check') {
       $this->form_action_url = 'https://secure.paysystems1.com/cgi-v310/payment/onlinesale-tpppro_check.asp';
     }
   }

   function confirmation() {
     return false;
//   global $checkout_form_action;
//      $checkout_form_action = 'https://secure.paysystems1.com/cgi-v310/payment/onlinesale-tpppro.asp';
   }

   function process_button() {
     global $order, $customer_id, $currencies, $billing_method, $reoccuring, $billingcycle;
    
 for ($i=0; $i<sizeof($order->products); $i++) {

   if ($i==0)
   
   {
       $products_list = $products_list. "" .$order->products[$i]['name'][$i]['attributes'][$j]['value'];
     }else{
       $products_list = $products_list. ", " .$order->products[$i]['name'][$i]['attributes'][$j]['value'];
      }
   }
     $process_button_string = tep_draw_hidden_field('product1',$products_list) .
                              tep_draw_hidden_field('companyid', MODULE_PAYMENT_PAYSYSTEMS_LOGIN) .
                              tep_draw_hidden_field('formget','Y') .
                              tep_draw_hidden_field('redirect',tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL', false)) .
                              tep_draw_hidden_field('redirectfail',tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', false)) .
                              tep_draw_hidden_field('reoccur',$reoccuring) .
                              tep_draw_hidden_field('cycle', $billingcycle) .
                              tep_draw_hidden_field('totalperiod','') .
                              tep_draw_hidden_field('repeatamount', number_format($order->info['total'], 2)) .
                              tep_draw_hidden_field('total', number_format($order->info['total'], 2)) .
                              tep_draw_hidden_field('b_firstname', $order->customer['firstname']) .
                              tep_draw_hidden_field('b_middlename','') .
                              tep_draw_hidden_field('b_lastname', $order->customer['lastname']) .
                              tep_draw_hidden_field('b_address', $order->customer['street_address']) .
                              tep_draw_hidden_field('b_city', $order->customer['city']) .
                              tep_draw_hidden_field('b_state', $order->delivery['country']['iso_code_2']) .
                              tep_draw_hidden_field('b_zip', $order->customer['postcode']) .
                              tep_draw_hidden_field('b_country',$order->customer['country']['iso_code_2']) .
                              tep_draw_hidden_field('b_tel', $order->customer['telephone']) .
                              tep_draw_hidden_field('email', $order->customer['email_address']) .
                              tep_draw_hidden_field('s_firstname', $order->delivery['firstname']) .
                              tep_draw_hidden_field('s_middlename','') .
                              tep_draw_hidden_field('s_lastname', $order->delivery['lastname']) .
                              tep_draw_hidden_field('s_address', $order->delivery['street_address']) .
                              tep_draw_hidden_field('s_city', $order->delivery['city']) .
                              tep_draw_hidden_field('s_state', $order->delivery['country']['iso_code_2']) .
                              tep_draw_hidden_field('s_zip', $order->delivery['postcode']) .
                              tep_draw_hidden_field('s_country', $order->delivery['country']['iso_code_2']) .
                              tep_draw_hidden_field('s_tel','') .

     $process_button_string .= tep_draw_hidden_field(tep_session_name(), tep_session_id());
    return $process_button_string;
}

   function before_process() {
     global $HTTP_GET_VARS;

     if ($HTTP_GET_VARS['cc_status'] != 'pass') {
       tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(MODULE_PAYMENT_PAYSYSTEMS_TEXT_ERROR_MESSAGE), 'SSL', true, false));
     }
   }

   function after_process() {
  return false;
   }

   function output_error() {
     global $HTTP_GET_VARS;

     $output_error_string = '<table border="0" cellspacing="0" cellpadding="0" width="100%">' . "\n" .
                            '  <tr>' . "\n" .
                            '    <td class="main"> <font color="#FF0000"><b>' . MODULE_PAYMENT_PAYSYSTEMS_TEXT_ERROR . '</b></font><br> ' . stripslashes($HTTP_GET_VARS['cc_val']) . ' </td>' . "\n" .
                            '  </tr>' . "\n" .
                            '</table>' . "\n";

     return $output_error_string;
   }

   function check() {
     if (!isset($this->_check)) {
       $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_PAYSYSTEMS_STATUS'");
       $this->_check = tep_db_num_rows($check_query);
     }
     return $this->_check;
   }

   function install() {
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Paysystems Module', 'MODULE_PAYMENT_PAYSYSTEMS_STATUS', 'True', 'Do you want to accept Paysystems payments?', '6', '1', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Paysystems Login', 'MODULE_PAYMENT_PAYSYSTEMS_LOGIN', '3800', 'Login used for Paysystems payments', '6', '2', now())");
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Paysystems E-Mail Client', 'MODULE_PAYMENT_PAYSYSTEMS_EMAIL', '0', 'Should Paysystems e-mail the customer too? 0=NO, 1=YES', '6', '3', now())");
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Paysystems E-Mail Merchant', 'MODULE_PAYMENT_PAYSYSTEMS_EMAIL_MERCHANT', '1', 'Should Paysystems e-mail you? 0=NO, 1=YES', '6', '4', now())");
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort order of display.', 'MODULE_PAYMENT_PAYSYSTEMS_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '5', now())");
    tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_PAYSYSTEMS_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())");
     tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_PAYSYSTEMS_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())");
   }

   function remove() {
     tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
   }

   function keys() {
     $keys = array('MODULE_PAYMENT_PAYSYSTEMS_STATUS', 'MODULE_PAYMENT_PAYSYSTEMS_LOGIN', 'MODULE_PAYMENT_PAYSYSTEMS_EMAIL', 'MODULE_PAYMENT_PAYSYSTEMS_EMAIL_MERCHANT', 'MODULE_PAYMENT_PAYSYSTEMS_ZONE', 'MODULE_PAYMENT_PAYSYSTEMS_ORDER_STATUS_ID', 'MODULE_PAYMENT_PAYSYSTEMS_SORT_ORDER');

     return $keys;
   }
 }
?>

Link to comment
Share on other sites

i set it like thie in paysystems... had no effect.

 

function process_button() {

global $order, $customer_id, $currencies, $billingmethod;

 

 

 

 

instead of billing_method like ya said... where i typed it wrong.. .

Link to comment
Share on other sites

   if ( (isset($order->products[$i]['attributes'])) && (sizeof($order->products[$i]['attributes']) > 0) ) {

for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {

echo '<br><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'] . '</i></small></nobr>';

// added by themadman for option checking

$billingmethod = '' . $order->products[$i]['attributes'][$j]['value'] . '';

}

}

 

if ($billingmethod == Monthly) {

$reoccuring = Y;

$billingcycle = 30;

global $billingmethod;

global $reoccuring;

global $billingcycle;

}

elseif ($billingmethod == Yearly) {

$reoccuring = Y;

$billingcycle = 365;

global $billingmethod;

global $reoccuring;

global $billingcycle;

}

else

{

$reoccuring = N;

$billingcycle = '';

}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...