Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Accept eCheck Payments v2.0


PopTheTop

Recommended Posts

Are there any other programs to print the checks? I don't really like the eChex2000 program.

 

Also, I found a web site that briefly mentioned that records concerning e-checks had to be kept for a certain length of time. Is anyone familiar with this?

 

Thanx, Dave.

Link to comment
Share on other sites

Are there any other programs to print the checks? I don't really like the eChex2000 program.

 

There are a few out there, but you have to buy your blank check paper separately and it is very costly. The price of the programs can get way up there too.

 

I designed eChex 2000 myself, along with a buddy of mine, and we tried to make it simple to use and cost effective. Plus we give you free blank checks with your registration. And if you need more blank check paper, you can buy it for as little as $20 for 200 sheets, now beat that...

 

Also, the registration fee for the software is minimal compared to the others out there.

 

 

 

Also, I found a web site that briefly mentioned that records concerning e-checks had to be kept for a certain length of time. Is anyone familiar with this?

 

No, not true at all. But I like to keep the records (they are stored in eChex 2000's database) for about 3 to 4 months, then I go back and delete them. This way, if you ever have one that bounces, you still have the info. Also, the info is already there if a returning customer comes back.

Edited by PopTheTop

L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Link to comment
Share on other sites

I also wanted to say a big THANK YOU to Scott for adding the hidden form fields to version 3.0...they work great!! :)

 

 

Thanks, you made my day! I found 3 other contributions similar to this one, but none of them were complete and seemed to be very outdated. I have been using eChecks since 1996. That is when I began selling online, back when the Internet was just getting started for the average person. Now everyone has a PC in their homes and everyone seems to have a website too.

 

Now... Only if I had thought about eBay before THEY DID! :huh:

I even thought that online auctions were a joke, now look at them!

L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Link to comment
Share on other sites

  • 5 months later...

i have a heavy modified orders.php and trying to get the echeck mod installed and having problems with the following code

 

<?php
// START - Added for eCheck Payment into database
   } elseif (tep_not_null($order->info['checknumber']) || tep_not_null($order->info['accountnumber']) || tep_not_null($order->info['routingnumber'])) {

// Added this in v2.1 to query the order total amount - Thanks CatDadRick!
     $order_amt_query= tep_db_query("select text from orders_total where orders_id = '" . (int)$oID . "' and title like '" . "<b>Total:</b>" . "'");
     $order_amt= tep_db_fetch_array($order_amt_query);
     $check_amt= $order_amt['text'];
?>
       </table></TD>
     </tr>
         <tr>
           <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
         </tr>
         <tr>
           <TD COLSPAN="2" ALIGN="left">
   
<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="2" BORDERCOLOR="#94621F" BGCOLOR="#F1DEB6">
<TR>
<TD WIDTH="100%">
<TABLE WIDTH="600" BORDER="1" CELLSPACING="0" CELLPADDING="0" BORDERCOLOR="#94621F">
 <TR>
	 <TD WIDTH="100%">
	 <TABLE WIDTH="100%" BORDER="0">
   <TR>
  	 <TD WIDTH="220" ALIGN="left"><span class="smalltext"><?php echo $order->info['accountholder']; ?></span></TD>
  	 <TD WIDTH="40"> </TD>
  	 <TD ALIGN="left" colspan="2"><span class="smalltext"><?php echo $order->info['bank']; ?></span></TD>
  	 <TD ALIGN="right"><span class="smalltext"><STRONG><?php echo $order->info['checknumber']; ?></STRONG>   </span></TD>
   </TR>
   <TR>
  	 <TD ALIGN="left"><span class="smalltext"><?php echo $order->info['address']; ?></span></TD>
  	 <TD> </TD>
  	 <TD ALIGN="left" colspan="2"><span class="smalltext"><?php echo $order->info['bankcity']; ?></span></TD>
  	 <TD> </TD>
   </TR>
   <TR>
  	 <TD ALIGN="left"><span class="smalltext"><?php echo $order->info['address2']; ?></span></TD>
  	 <TD> </TD>
  	 <TD ALIGN="left" colspan="2"><span class="smalltext"><?php echo $order->info['bankphone']; ?></span></TD>
  	 <TD ALIGN="right"></TD>
   </TR>
   <TR>
  	 <TD ALIGN="left"><span class="smalltext"><?php echo $order->info['phone']; ?></span></TD>
  	 <TD> </TD>
  	 <TD ALIGN="left" colspan="2"> </TD>
  	 <TD ALIGN="right"></TD>
   </TR>
   <TR>
  	 <TD HEIGHT="10" COLSPAN="5"> </TD>
   </TR>
   <TR>
  	 <TD colspan="5">
  	 <TABLE BORDER="0" WIDTH="100%">
     <TR>
    	 <TD WIDTH="65" ALIGN="left" VALIGN="top"><span class="smalltext"><STRONG><small><small><?php echo MODULE_PAYMENT_ECHECK_TEXT_PAY_TO; ?></small></small></STRONG></span></TD>
    	 <TD ALIGN="left" VALIGN="bottom"><span class="smalltext"><?php echo STORE_NAME; ?></span></TD>
    	 <TD WIDTH="70" ALIGN="left" VALIGN="bottom"><span class="smalltext"><?php echo $check_amt; ?></span></TD>
     </TR>
  	 </TABLE>

  	 <TABLE WIDTH="100%" BORDER="0">
     <TR>
    	 <TD HEIGHT="1" BGCOLOR="#000000"></TD>
    	 <TD WIDTH="5"></TD>
    	 <TD WIDTH="70" BGCOLOR="#000000"></TD>
     </TR>
  	 </TABLE>
  	 </TD>
   </TR>
   <TR>
  	 <TD HEIGHT="30" COLSPAN="5"> </TD>
   </TR>
   <TR>
  	 <TD WIDTH="220" ALIGN="left"><span class="smalltext"><STRONG><?php echo MODULE_PAYMENT_ECHECK_TEXT_MEMO; ?></STRONG><U> Order #<?php echo $oID; ?> </U></span></TD>
  	 <TD WIDTH="40"> </TD>
  	 <TD> </TD>
  	 <TD ALIGN="right" colspan="2"><span class="smalltext"><small><small>No Signature Needed </small></small><BR><STRONG>Signature:</STRONG> <small><U> Authorized by E-mail </U></small></span></TD>
   </TR>
   <TR>
  	 <TD HEIGHT="9" COLSPAN="5"> </TD>
   </TR>
   <TR>
  	 <TD ALIGN="right">    <FONT FACE="MICR E13B" SIZE="2">A<?php echo $order->info['routingnumber']; ?>A</FONT></TD>
  	 <TD COLSPAN="2" ALIGN="left">   <FONT FACE="MICR E13B" SIZE="2"><?php echo $order->info['accountnumber']; ?>C</FONT></TD>
  	 <TD ALIGN="left" colspan="2"><FONT FACE="MICR E13B" SIZE="2"><?php echo $order->info['checknumber']; ?></FONT></TD>
   </TR>
	 </TABLE>
	 </TD>
 </TR>
</TABLE>
</TD>
</TR>
</TABLE>
   
   </td>
         </tr>
<?php
   }
// END - Added for eCheck Payment into database
?>

 

here is my orders.php file i keep getting parse errors and cant seem to find the problem

<?php

/*

 $Id: orders.php,v 1.112 2003/06/29 22:50:52 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');

 

 require(DIR_WS_CLASSES . 'currencies.php');

 $currencies = new currencies();

 $orders_statuses = array();

 $orders_status_array = array();

 $orders_status_query = tep_db_query("select orders_status_id, orders_status_name from " . TABLE_ORDERS_STATUS . " where language_id = '" . (int)$languages_id . "' order by orders_status_id");

 while ($orders_status = tep_db_fetch_array($orders_status_query)) {

   $orders_statuses[] = array('id' => $orders_status['orders_status_id'],

                              'text' => $orders_status['orders_status_name']);

   $orders_status_array[$orders_status['orders_status_id']] = $orders_status['orders_status_name'];

 }

 $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');

 if (tep_not_null($action)) {

   switch ($action) {

     case 'update_order':

       $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);

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

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

       $order_updated = false;

       $check_status_query = tep_db_query("select customers_name, customers_email_address, orders_status, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . (int)$oID . "'");

       $check_status = tep_db_fetch_array($check_status_query);

// BOF: WebMakers.com Added: Downloads Controller

// always update date and time on order_status

// original        if ( ($check_status['orders_status'] != $status) || tep_not_null($comments)) {

                  if ( ($check_status['orders_status'] != $status) || $comments != '' || ($status ==DOWNLOADS_ORDERS_STATUS_UPDATED_VALUE) ) {

         tep_db_query("update " . TABLE_ORDERS . " set orders_status = '" . tep_db_input($status) . "', last_modified = now() where orders_id = '" . (int)$oID . "'");

       $check_status_query2 = tep_db_query("select customers_name, customers_email_address, orders_status, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . (int)$oID . "'");

       $check_status2 = tep_db_fetch_array($check_status_query2);

     if ( $check_status2['orders_status']==DOWNLOADS_ORDERS_STATUS_UPDATED_VALUE ) {

       tep_db_query("update " . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " set download_maxdays = '" . tep_get_configuration_key_value('DOWNLOAD_MAX_DAYS') . "', download_count = '" . tep_get_configuration_key_value('DOWNLOAD_MAX_COUNT') . "' where orders_id = '" . (int)$oID . "'");

     }

// EOF: WebMakers.com Added: Downloads Controller

 

         $customer_notified = '0';

         if (isset($HTTP_POST_VARS['notify']) && ($HTTP_POST_VARS['notify'] == 'on')) {

           $notify_comments = '';

// BOF: WebMakers.com Added: Downloads Controller - Only tell of comments if there are comments

           if (isset($HTTP_POST_VARS['notify_comments']) && ($HTTP_POST_VARS['notify_comments'] == 'on')) {

             $notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";

           }

// EOF: WebMakers.com Added: Downloads Controller

           $email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);

           tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, $email, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

           $customer_notified = '1';

         }

         tep_db_query("insert into " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('" . (int)$oID . "', '" . tep_db_input($status) . "', now(), '" . tep_db_input($customer_notified) . "', '" . tep_db_input($comments)  . "')");

         $order_updated = true;

       }

       if ($order_updated == true) {

        $messageStack->add_session(SUCCESS_ORDER_UPDATED, 'success');

       } else {

         $messageStack->add_session(WARNING_ORDER_NOT_UPDATED, 'warning');

       }

       tep_redirect(tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=edit'));

       break;

     case 'deleteconfirm':

       $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);

       tep_remove_order($oID, $HTTP_POST_VARS['restock']);

       tep_redirect(tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action'))));

       break;

   }

 }

 

 if (($action == 'edit') && isset($HTTP_GET_VARS['oID'])) {

   $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);

   $orders_query = tep_db_query("select orders_id from " . TABLE_ORDERS . " where orders_id = '" . (int)$oID . "'");

   $order_exists = true;

   if (!tep_db_num_rows($orders_query)) {

     $order_exists = false;

     $messageStack->add(sprintf(ERROR_ORDER_DOES_NOT_EXIST, $oID), 'error');

   }

 }

// BOF: WebMakers.com Added: Additional info for Orders

// Look up things in orders

$the_extra_query= tep_db_query("select * from " . TABLE_ORDERS . " where orders_id = '" . (int)$oID . "'");

$the_extra= tep_db_fetch_array($the_extra_query);

$the_customers_id= $the_extra['customers_id'];

// Look up things in customers

$the_extra_query= tep_db_query("select * from " . TABLE_CUSTOMERS . " where customers_id = '" . $the_customers_id . "'");

$the_extra= tep_db_fetch_array($the_extra_query);

$the_customers_fax= $the_extra['customers_fax'];

// EOF: WebMakers.com Added: Additional info for Orders

 

 include(DIR_WS_CLASSES . 'order.php');

?>

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

<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">

</head>

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

<!-- header //-->

<?php

 require(DIR_WS_INCLUDES . 'header.php');

?>

<!-- header_eof //-->

 

<!-- body //-->

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

 <tr>

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

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

<?php

 if (($action == 'edit') && ($order_exists == true)) {

   $order = new order($oID);

?>

     <tr>

       <td width="100%"><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_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>

           <td class="pageHeading" align="right"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action'))) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>

         </tr>

       </table></td>

     </tr>

     <tr>

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

         <tr>

           <td colspan="3"><?php echo tep_draw_separator(); ?></td>

         </tr>

         <tr>

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

             <tr>

               <td class="main" valign="top"><b><?php echo ENTRY_CUSTOMER; ?></b></td>

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

             </tr>

             <tr>

               <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>

             </tr>

             <tr>

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

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

             </tr>

<?php

// BOF: WebMakers.com Added: Downloads Controller - Extra order info

?>

             <tr>

               <td class="main"><b><?php echo 'FAX #:'; ?></b></td>

               <td class="main"><?php echo $the_customers_fax; ?></td>

             </tr>

<?php

// EOF: WebMakers.com Added: Downloads Controller

?>

             <tr>

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

               <td class="main"><?php echo '<a href="mailto:' . $order->customer['email_address'] . '"><u>' . $order->customer['email_address'] . '</u></a>'; ?></td>

             </tr>

           </table></td>

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

             <tr>

               <td class="main" valign="top"><b><?php echo ENTRY_SHIPPING_ADDRESS; ?></b></td>

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

             </tr>

           </table></td>

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

             <tr>

               <td class="main" valign="top"><b><?php echo ENTRY_BILLING_ADDRESS; ?></b></td>

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

             </tr>

           </table></td>

         </tr>

       </table></td>

     </tr>

     <tr>

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

     </tr>

     <tr>

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

<?php

// BOF: WebMakers.com Added: Show Order Info

?>

<!-- add Order # // -->

<tr>

<td class="main"><b>Order # </b></td>

<td class="main"><?php echo tep_db_input($oID); ?></td>

</tr>

<!-- add date/time // -->

<tr>

<td class="main"><b>Order Date & Time</b></td>

<td class="main"><?php echo tep_datetime_short($order->info['date_purchased']); ?></td>

</tr>

<?php

// EOF: WebMakers.com Added: Show Order Info

?>

         <tr>

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

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

         </tr>

<?php

   if (tep_not_null($order->info['cc_type']) || tep_not_null($order->info['cc_owner']) || tep_not_null($order->info['cc_number'])) {

?>

         <tr>

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

         </tr>

         <tr>

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

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

         </tr>

         <tr>

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

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

         </tr>

         <tr>

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

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

         </tr>

         <tr>

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

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

         </tr>

       </table></TD>

     </tr>

 

<?php

   }

?>

 

      <tr>

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

     </tr>

     <tr>

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

         <tr class="dataTableHeadingRow">

           <td class="dataTableHeadingContent" colspan="2"><?php echo TABLE_HEADING_PRODUCTS; ?></td>

           <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS_MODEL; ?></td>

           <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TAX; ?></td>

           <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_EXCLUDING_TAX; ?></td>

           <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_INCLUDING_TAX; ?></td>

           <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_EXCLUDING_TAX; ?></td>

           <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_INCLUDING_TAX; ?></td>

         </tr>

<?php

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

     echo '          <tr class="dataTableRow">' . "\n" .

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

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

 

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

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

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

         if ($order->products[$i]['attributes'][$j]['price'] != '0') echo ' (' . $order->products[$i]['attributes'][$j]['prefix'] . $currencies->format($order->products[$i]['attributes'][$j]['price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . ')';

         echo '</i></small></nobr>';

       }

     }

 

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

          '            <td class="dataTableContent" valign="top">' . $order->products[$i]['model'] . '</td>' . "\n" .

          '            <td class="dataTableContent" align="right" valign="top">' . tep_display_tax_value($order->products[$i]['tax']) . '%</td>' . "\n" .

          '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format($order->products[$i]['final_price'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .

          '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .

          '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format($order->products[$i]['final_price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .

          '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n";

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

   }

?>

         <tr>

           <td align="right" colspan="8"><table border="0" cellspacing="0" cellpadding="2">

<?php

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

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

          '                <td align="right" class="smallText">' . $order->totals[$i]['title'] . '</td>' . "\n" .

          '                <td align="right" class="smallText">' . $order->totals[$i]['text'] . '</td>' . "\n" .

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

   }

?>

           </table></td>

         </tr>

       </table></td>

     </tr>

     <tr>

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

     </tr>

     <tr>

       <td class="main"><table border="1" cellspacing="0" cellpadding="5">

         <tr>

           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_DATE_ADDED; ?></b></td>

           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_CUSTOMER_NOTIFIED; ?></b></td>

           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_STATUS; ?></b></td>

           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>

         </tr>

<?php

   $orders_history_query = tep_db_query("select orders_status_id, date_added, customer_notified, comments from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . (int)$oID . "' order by date_added");

   if (tep_db_num_rows($orders_history_query)) {

     while ($orders_history = tep_db_fetch_array($orders_history_query)) {

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

            '            <td class="smallText" align="center">' . tep_datetime_short($orders_history['date_added']) . '</td>' . "\n" .

            '            <td class="smallText" align="center">';

       if ($orders_history['customer_notified'] == '1') {

         echo tep_image(DIR_WS_ICONS . 'tick.gif', ICON_TICK) . "</td>\n";

       } else {

         echo tep_image(DIR_WS_ICONS . 'cross.gif', ICON_CROSS) . "</td>\n";

       }

       echo '            <td class="smallText">' . $orders_status_array[$orders_history['orders_status_id']] . '</td>' . "\n" .

            '            <td class="smallText">' . nl2br(tep_db_output($orders_history['comments'])) . ' </td>' . "\n" .

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

     }

   } else {

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

            '            <td class="smallText" colspan="5">' . TEXT_NO_ORDER_HISTORY . '</td>' . "\n" .

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

   }

?>

       </table></td>

     </tr>

     <tr>

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

     </tr>

     <tr>

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

     </tr>

     <tr><?php echo tep_draw_form('status', FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=update_order'); ?>

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

     </tr>

     <tr>

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

     </tr>

     <tr>

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

         <tr>

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

             <tr>

               <td class="main"><b><?php echo ENTRY_STATUS; ?></b> <?php echo tep_draw_pull_down_menu('status', $orders_statuses, $order->info['orders_status']); ?></td>

             </tr>

             <tr>

               <td class="main"><b><?php echo ENTRY_NOTIFY_CUSTOMER; ?></b> <?php echo tep_draw_checkbox_field('notify', '', true); ?></td>

               <td class="main"><b><?php echo ENTRY_NOTIFY_COMMENTS; ?></b> <?php echo tep_draw_checkbox_field('notify_comments', '', true); ?></td>

             </tr>

           </table></td>

           <td valign="top"><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?></td>

         </tr>

       </table></td>

     </form></tr>

     <tr>

       <td colspan="2" align="right"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS_EDIT, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action'))) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a> '; ?></td>

     </tr>

<?php

 } else {

?>

     <tr>

       <td width="100%"><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_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>

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

             <tr><?php echo tep_draw_form('orders', FILENAME_ORDERS, '', 'get'); ?>

               <td class="smallText" align="right"><?php echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('oID', '', 'size="12"') . tep_draw_hidden_field('action', 'edit'); ?></td>

             </form></tr>

             <tr><?php echo tep_draw_form('status', FILENAME_ORDERS, '', 'get'); ?>

               <td class="smallText" align="right"><?php echo HEADING_TITLE_STATUS . ' ' . tep_draw_pull_down_menu('status', array_merge(array(array('id' => '', 'text' => TEXT_ALL_ORDERS)), $orders_statuses), '', 'onChange="this.form.submit();"'); ?></td>

             </form></tr>            

           </table></td>

         </tr>

       </table></td>

     </tr>

     <tr>

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

         <tr class="dataTableHeadingRow">

        <?php

        switch ($listing) {

            case "orders":

            $order = "o.orders_id";

            break;

            case "orders":

            $order = "o.orders_id DESC";

            break;

            case "customers":

            $order = "o.customers_name, o.orders_id DESC";

            break;

            case "customers-desc":

            $order = "o.customers_name DESC, o.orders_id DESC";

            break;

            case "order_total":

            $order = "ot.value";

            break;

            case "order_total-desc":

            $order = "ot.value DESC";

            break;

            case "date_purchased":

            $order = "o.date_purchased, o.customers_name";

            break;

            case "date_purchased-desc":

            $order = "o.date_purchased DESC, o.customers_name";

            break;

            case "order_status":

            $order = "s.orders_status_id, o.customers_name";

            break;

            case "order_status-desc":

            $order = "s.orders_status_id DESC, o.customers_name";

            break;

   default:

            $order = "o.orders_id DESC, o.customers_name";

        }

        ?>              

              <td class="dataTableHeadingContent" align="center">

                <table border="0" cellspacing="0" cellpadding="0">

                  <tr>

                    <td rowspan="1" align="center" class="dataTableHeadingContent">

                       <?php echo TABLE_HEADING_ORDERS; ?>

                    </td>

                    <td align="right" valign="bottom">

                       <a href="<?php echo "$PHP_SELF?listing=orders"; ?>"><?php echo tep_image_button('ic_up.gif', 'Sort ' . TABLE_HEADING_ORDERS . ' Ascending', 'hspace="3"'); ?></a><br><a href="<?php echo "$PHP_SELF?listing=orders-desc"; ?>"><?php echo tep_image_button('ic_down.gif', 'Sort ' . TABLE_HEADING_ORDERS . ' Descending', 'hspace="3"'); ?></a>

                       </td>

                  <tr>

                </table>

              </td>

              <td class="dataTableHeadingContent" align="center">

                <table border="0" cellspacing="0" cellpadding="0">

                  <tr>

                    <td rowspan="1" align="left" class="dataTableHeadingContent">

                       <?php echo TABLE_HEADING_CUSTOMERS; ?>

                    </td>

                    <td align="right" valign="bottom">

                       <a href="<?php echo "$PHP_SELF?listing=customers"; ?>"><?php echo tep_image_button('ic_up.gif', 'Sort ' . TABLE_HEADING_CUSTOMERS . ' Ascending', 'hspace="3"'); ?></a><br><a href="<?php echo "$PHP_SELF?listing=customers-desc"; ?>"><?php echo tep_image_button('ic_down.gif', 'Sort ' . TABLE_HEADING_CUSTOMERS . ' Descending', 'hspace="3"'); ?></a>

                    </td>

                  <tr>

                </table>

              </td>

              <td class="dataTableHeadingContent" align="center">

                <table border="0" cellspacing="0" cellpadding="0">

                  <tr>

                    <td rowspan="1" align="right" class="dataTableHeadingContent">

                       <?php echo TABLE_HEADING_ORDER_TOTAL; ?>

                    </td>

                    <td align="right" valign="bottom">

                       <a href="<?php echo "$PHP_SELF?listing=order_total"; ?>"><?php echo tep_image_button('ic_up.gif', 'Sort ' . TABLE_HEADING_ORDER_TOTAL . ' Ascending', 'hspace="3"'); ?></a><br><a href="<?php echo "$PHP_SELF?listing=order_total-desc"; ?>"><?php echo tep_image_button('ic_down.gif', 'Sort ' . TABLE_HEADING_ORDER_TOTAL . ' Descending', 'hspace="3"'); ?></a>

                    </td>

                  <tr>

                </table>

              </td>

              <td class="dataTableHeadingContent" align="center">

                <table border="0" cellspacing="0" cellpadding="0">

                  <tr>

                    <td rowspan="1" align="center" class="dataTableHeadingContent">

                       <?php echo TABLE_HEADING_DATE_PURCHASED; ?>

                    </td>

                    <td align="right" valign="bottom">

                       <a href="<?php echo "$PHP_SELF?listing=date_purchased"; ?>"><?php echo tep_image_button('ic_up.gif', 'Sort ' . TABLE_HEADING_DATE_PURCHASED . ' Ascending', 'hspace="3"'); ?></a><br><a href="<?php echo "$PHP_SELF?listing=date_purchased-desc"; ?>"><?php echo tep_image_button('ic_down.gif', 'Sort ' . TABLE_HEADING_DATE_PURCHASED . ' Descending', 'hspace="3"'); ?></a>

                    </td>

                  <tr>

                </table>

              </td>

              <td class="dataTableHeadingContent" align="center">

                <table border="0" cellspacing="0" cellpadding="0">

                  <tr>

                    <td rowspan="1" align="left" class="dataTableHeadingContent">

                       <?php echo TABLE_HEADING_STATUS; ?>

                    </td>

                    <td align="right" valign="bottom">

                       <a href="<?php echo "$PHP_SELF?listing=order_status"; ?>"><?php echo tep_image_button('ic_up.gif', 'Sort ' . TABLE_HEADING_STATUS . ' Ascending', 'hspace="3"'); ?></a><br><a href="<?php echo "$PHP_SELF?listing=order_status-desc"; ?>"><?php echo tep_image_button('ic_down.gif', 'Sort ' . TABLE_HEADING_STATUS . ' Descending', 'hspace="3"'); ?></a>

                    </td>

                  <tr>

                </table>

              </td>

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

                <?php echo TABLE_HEADING_ACTION; ?>

              </td>

<?php

  if (isset($HTTP_GET_VARS['cID'])) {

    $cID = tep_db_prepare_input($HTTP_GET_VARS['cID']);

    $orders_query_raw = "select o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, s.orders_status_id, ot.value, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.customers_id = '" . (int)$cID . "' and o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by $order";

  } elseif (isset($HTTP_GET_VARS['status'])) {

    $status = tep_db_prepare_input($HTTP_GET_VARS['status']);

    $orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, s.orders_status_id, ot.value, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 months later...
ok, I got it working, but I have a slight bug where the MODULE_PAYMENT_ECHECK_TEXT_MEMO says on the check, where do I fix that little bug at?-- done alot of php editing tonight / today code is runinng together.

 

Thanks for the nice add on .

 

 

It is in admin\includes\languages\english\orders.php

 

make sure you uploaded it and that you uploaded it into your admin\includes\languages\english\orders.php

L8r,

PopTheTop

 

Published osC Contributions:

- eCheck Payment Module v3.1

- Reviews in Product Display v2.0

- Fancier Invoice & Packingslip v6.1

- Admin Notes / Customer Notes v2.2

- Customer Zip & State Validation v2.2

- Search Box with Dropdown Category Menu v1.0

 

Pop your camper's top today!

It's a popup thing...

You wouldn't understand

Link to comment
Share on other sites

  • 5 months later...

i didn't see this contribution when i created my own echeck module. i simply copied and pasted the generic contribution. after i saw this contribution, i added a lot of your stuff onto my stuff. I can't really post the changes cause i hardcoded quite bit of changes. but gladly to say, everything is working right.

 

thanks

Link to comment
Share on other sites

Hi, which software are you using to print checks? How do you verify the financial info of the customer is good? You call everytime to verify it? Thanks!

 

i didn't see this contribution when i created my own echeck module. i simply copied and pasted the generic contribution. after i saw this contribution, i added a lot of your stuff onto my stuff. I can't really post the changes cause i hardcoded quite bit of changes. but gladly to say, everything is working right.

 

thanks

Link to comment
Share on other sites

PopTheTop,

 

I am very interested in your contribution. But still got some questions about the echex program...

 

The registration fee is only the one-time fee right? After that, I just can use it freely forever? I'm also wondering how many free blank check paper you are giving with the registration?

 

I tried printing a sample check with echex 2000. On the print-out, I didn't see 'Pay to the order of' and there's no dollar sign before the amount. Also, there are no lines under payee, "long hand" format amount, memo and signature. Is that the way it suppose to be? I saw some image files in the zip, but none of them looks like the one that I printed out. What are those image files anyway? Is the program just print business size check?

 

There are a few out there, but you have to buy your blank check paper separately and it is very costly. The price of the programs can get way up there too.

 

I designed eChex 2000 myself, along with a buddy of mine, and we tried to make it simple to use and cost effective. Plus we give you free blank checks with your registration. And if you need more blank check paper, you can buy it for as little as $20 for 200 sheets, now beat that...

 

Also, the registration fee for the software is minimal compared to the others out there.

No, not true at all. But I like to keep the records (they are stored in eChex 2000's database) for about 3 to 4 months, then I go back and delete them. This way, if you ever have one that bounces, you still have the info. Also, the info is already there if a returning customer comes back.

Link to comment
Share on other sites

  • 3 months later...

This is actually safer in many ways than using a credit card. First of all Banks require you to be in person and many times have a photo and signature on file to open a bank account. The drafts used in this manner are either deposited by a paper printed bank draft or by ACH electronically. Plus you should not be afraid to give out your bank information because you do it everyday, everytime you give a check to any store or the clerk at the convenience store, or the guy cutting your grass all the information is right there on the check.

 

Plus if you use ACH it cost only 25 cents to draft an account, and with a credit card it's up to 3% of the check amount plus a charge of 25+ cents per transaction. So it's cheaper to use echeck.

 

I use CheckFree as my service provider.

 

Do you get many customers using this payment method? Why wouldn't they just use a credit card?

 

I don't know if I would want to send my bank info to an online store. What prevents the store owner from printing out 100 checks and cashing them all once they have your bank info? Do banks really accept a check printed on your printer? Seems like you'd get some raised eyebrows from the teller. :)

Link to comment
Share on other sites

  • 1 year later...

I installed Version 3.1 and all seems to work fine. Unfortunately I am having a problem with the hidden fields. When I select either Credit Card or Echeck, the fields are not displaying. Browser says Error on page, so I check the Line that the browser specifies, but I dont see any error.

 

Can anyone help me get this one to work?

 

 

Thanks in advance

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