Jump to content


Corporate Sponsors


Latest News: (loading..)

- - - - -

Add dropdown list of credit cards types


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

#1 jane_t

  • Community Member
  • 68 posts
  • Real Name:Jane

Posted 26 April 2005, 19:19

Hi,

How can I add a dropdown list to: checkout_confirmation.php to be passed to my worldpay account?

I currently have an HTML site with a form:


<SELECT onchange=SetInputValue(this)
name=paymentType>
<OPTION value=VISA
selected>Visa</OPTION>
<OPTION value=MSCD>Master Card</OPTION>
<OPTION value=SWIT>Switch</OPTION>
<OPTION value=SOLO>Solo</OPTION>
</SELECT>

Is there an easy way to add something like this to a php page or should I be using something else?

Thanks

Jane
(w00t)

#2 jane_t

  • Community Member
  • 68 posts
  • Real Name:Jane

Posted 30 April 2005, 12:53

Hi,

I found this:
http://forums.oscommerce.com/index.php?sho...32&#entry603732

and I now have a dropdown list on checkout_payment.php which is fine...

Does anyone know how to pass the credit card type to worldpay from here?

Thanks

Jane

#3 jane_t

  • Community Member
  • 68 posts
  • Real Name:Jane

Posted 03 May 2005, 19:46

Hi everyone,

OK, I've managed to sort out the dropdown list (with help), I've managed to send VISA as an option to Worldpay but I don't know how to assign these variables to my dropdown list:

VISA = Visa
MSCD=Master Card
SWIT=Switch
SOLO=Solo

The variable that I've managed to fix as Worldpay in my code is:

$cc_type = 'visa';

Can anyone please help as I appear to be getting no where fast and I'm also making a big mess of my worldpay.php file :blush:

Thanks

Jane
:D



<?php
/*
  $Id: worldpay.php,v MS1a 2003/04/06 21:30
  Author : Graeme Conkie (graeme@conkie.net)
  Title: WorldPay Payment Callback Module V4.0 Version 1.6

  Revisions:
  
Paulz added minor changes to enable control of 'Payment Zone' added function update_status
Version MS1a Cleaned up code, moved static English to language file to allow for bi-lingual use,
        Now posting language code to WP, Redirect on failure now to Checkout Payment,
Reduced re-direct time to 8 seconds, added MD5, made callback dynamic
NOTE: YOU MUST CHANGE THE CALLBACK URL IN WP ADMIN TO <wpdisplay item="MC_callback">
Version 1.4 Removes boxes to prevent users from clicking away before update,
Fixes currency for Yen,
Redirects to Checkout_Process after 10 seconds or click by user
Version 1.3 Fixes problem with Multi Currency
Version 1.2 Added Sort Order and Default order status to work with snapshots after 14 Jan 2003
Version 1.1 Added Worldpay Pre-Authorisation ability
Version 1.0 Initial Payment Module

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

  Copyright (c) 2003
  Released under the GNU General Public License
*/

  class worldpay {
    var $code, $title, $description, $enabled;

// class constructor
    function worldpay() {
    global $order;
      $this->code = 'worldpay';
      $this->title = MODULE_PAYMENT_WORLDPAY_TEXT_TITLE;
      $this->description = MODULE_PAYMENT_WORLDPAY_TEXT_DESCRIPTION;
      $this->sort_order = MODULE_PAYMENT_WORLDPAY_SORT_ORDER;
      $this->enabled = ((MODULE_PAYMENT_WORLDPAY_STATUS == 'True') ? true : false);

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

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

      $this->form_action_url = 'https://select.worldpay.com/wcc/purchase';

      }

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

      if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_WORLDPAY_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_WORLDPAY_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;
        }

      }
      }

// class methods
      function javascript_validation() {
        return false;
      }

     // function selection() {
    //    return array('id' => $this->code,
     //                'module' => $this->title);
     // }
   
  
    function selection() {
      global $order;

$cards_array[] = array('id' => 'VISA','text' => 'Visa Card');
$cards_array[] = array('id' => 'MSCD','text' => 'MasterCard');
$cards_array[] = array('id' => 'SWIT','text' => 'Switch');
$cards_array[] = array('id' => 'SOLO','text' => 'Solo');




      $selection = array('id' => $this->code,
                         'module' => $this->title,
                         'fields' => array(array('title' => 'Card Type','field' => tep_draw_pull_down_menu('cards', $cards_array, $default = 'SOLO'))));
  return $selection;
   	 }
   
   
   
   
   
   

      function pre_confirmation_check() {
        return false;
      }

      function confirmation() {
        return false;
      }

      function process_button() {
// Ian-san: Need to declare language_id global here 6/4/2003:
      global $HTTP_POST_VARS, $languages_id, $shipping_cost, 
   $total_cost, $shipping_selected, $shipping_method, 
   $currencies, $currency, $customer_id , $order;
      $worldpay_url = tep_session_name() . '=' . tep_session_id();

// Multi Currency - Graeme Conkie ver 1.3 - Set up variable
// Added decimal point code - contributed by Ian Davidson (Feb 08,2003) - For Yen currency
      $OrderAmt = number_format($order->info['total'] * $currencies->get_value($currency), $currencies->get_decimal_places($currency), '.', '');
    
    
    $cc_type = 'visa';

// Multi Currency - ver 1.3
      $process_button_string =
      tep_draw_hidden_field('instId', MODULE_PAYMENT_WORLDPAY_ID) .
      tep_draw_hidden_field('currency', $currency) .
      tep_draw_hidden_field('desc', 'Purchase from '.STORE_NAME) .

// Send URL and session name - contributed by Nick Vermeulen 08 Feb, 2003
      tep_draw_hidden_field('cartId', $worldpay_url ) .
   
//Send URL and paymentType   
   tep_draw_hidden_field('paymentType', $cc_type) .

// Assign Multi Currency Variable to Amount
      tep_draw_hidden_field('amount', $OrderAmt);

// Pre Auth Mod 3/1/2002 - Graeme Conkie
      if (MODULE_PAYMENT_WORLDPAY_USEPREAUTH == 'True') $process_button_string .= tep_draw_hidden_field('authMode', MODULE_PAYMENT_WORLDPAY_PREAUTH);

// Ian-san: Create callback and language links here 6/4/2003:
      $callback_url = tep_href_link(FILENAME_WPCALLBACK);
    //  $callback_url = tep_href_link(FILENAME_WPCALLBACK, '', (ENABLE_SSL ? 'SSL' : 'NONSSL'), true);
      $worldpay_callback = explode('http://', $callback_url);
      $language_code_raw = tep_db_query("select code from " . TABLE_LANGUAGES . " where languages_id ='$languages_id'");
      $language_code_array = tep_db_fetch_array($language_code_raw);
      $language_code = $language_code_array['code'];

      $address = htmlspecialchars($order->customer['street_address'] . "\n" . $order->customer['suburb'] . "\n" . $order->customer['city'] . "\n" . $order->customer['state'], ENT_QUOTES);
      $process_button_string .=
        tep_draw_hidden_field('testMode', MODULE_PAYMENT_WORLDPAY_MODE) .
        tep_draw_hidden_field('name', $order->customer['firstname'] . ' ' . $order->customer['lastname']) .
        tep_draw_hidden_field('address', $address) .
        tep_draw_hidden_field('postcode', $order->customer['postcode']) .
        tep_draw_hidden_field('country', $order->customer['country']['iso_code_2']) .
        tep_draw_hidden_field('tel', $order->customer['telephone']) .
        tep_draw_hidden_field('myvar', 'Y') .
        tep_draw_hidden_field('fax', $order->customer['fax']) .
        tep_draw_hidden_field('email', $order->customer['email_address']) .

// Ian-san: Added dynamic callback and languages link here 6/4/2003:
        tep_draw_hidden_field('lang', $language_code) .
        tep_draw_hidden_field('MC_callback', $worldpay_callback[1] . '?language=' . $language_code) .
        tep_draw_hidden_field('MC_oscsid', $oscSid);

// Ian-san: Added MD5 here 6/4/2003:
      if (MODULE_PAYMENT_WORLDPAY_USEMD5 == '1') {
        $md5_signature_fields = 'amount:language:email';
        $md5_signature = MODULE_PAYMENT_WORLDPAY_MD5KEY . ':' . (number_format($order->info['total'] * $currencies->get_value($currency), $currencies->get_decimal_places($currency), '.', '')) . ':' . $language_code . ':' . $order->customer['email_address'];
        $md5_signature_md5 = md5($md5_signature);

        $process_button_string .= tep_draw_hidden_field('signatureFields', $md5_signature_fields ) .
                                  tep_draw_hidden_field('signature',$md5_signature_md5);
      }
        return $process_button_string;
      }

      function before_process() {
        global $HTTP_POST_VARS;
      }

      function after_process() {
        return false;
      }

      function output_error() {
        return false;
      }

      function check() {
        if (!isset($this->_check)) {
          $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_WORLDPAY_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 WorldPay Module', 'MODULE_PAYMENT_WORLDPAY_STATUS', 'True', 'Do you want to accept WorldPay 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 ('Worldpay Installation ID', 'MODULE_PAYMENT_WORLDPAY_ID', '00000', 'Your WorldPay Select Junior ID', '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 ('Mode', 'MODULE_PAYMENT_WORLDPAY_MODE', '100', 'The mode you are working in (100 = Test Mode Accept, 101 = Test Mode Decline, 0 = Live', '6', '5', now())");

// Ian-san: Added MD5 here 6/4/2003:
        tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Use MD5', 'MODULE_PAYMENT_WORLDPAY_USEMD5', '0', 'Use MD5 encyption for transactions? (1 = Yes, 0 = No)', '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 ('MD5 secret key', 'MODULE_PAYMENT_WORLDPAY_MD5KEY', '', 'MD5 secret key. Must also be entered into Worldpay installation config', '6', '5', now())");

// Pre Auth Mod - Graeme Conkie 13/1/2003
        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_WORLDPAY_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now())");
        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 ('Use Pre-Authorisation?', 'MODULE_PAYMENT_WORLDPAY_USEPREAUTH', 'False', 'Do you want to pre-authorise payments? Default=False. You need to request this from WorldPay before using it.', '6', '3', '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, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_WORLDPAY_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())");
        tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Pre-Auth', 'MODULE_PAYMENT_WORLDPAY_PREAUTH', 'A', 'The mode you are working in (A = Pay Now, E = Pre Auth). Ignored if Use PreAuth is False.', '6', '4', now())");
// Paulz zone control 04/04/2004        
        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_WORLDPAY_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())");
// Ian-san: Added MD5 here 6/4/2003:
        tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_WORLDPAY_USEMD5'");
        tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_WORLDPAY_MD5KEY'");
      }

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

      function keys() {
        return array('MODULE_PAYMENT_WORLDPAY_STATUS', 'MODULE_PAYMENT_WORLDPAY_ID','MODULE_PAYMENT_WORLDPAY_MODE','MODULE_PAYMENT_WORLDPAY_USEPREAUTH','MODULE_PAYMENT_WORLDPAY_PREAUTH','MODULE_PAYMENT_WORLDPAY_ZONE','MODULE_PAYMENT_WORLDPAY_SORT_ORDER','MODULE_PAYMENT_WORLDPAY_ORDER_STATUS_ID');
      }
    }
?>


#4 jane_t

  • Community Member
  • 68 posts
  • Real Name:Jane

Posted 03 May 2005, 20:39

It's ok, I've sorted it.... and for anyone else who may need to skip the card selection on the worldpay site, here it is....

Jane
:D
:thumbsup:

<?php
/*
  $Id: worldpay.php,v MS1a 2003/04/06 21:30
  Author : Graeme Conkie (graeme@conkie.net)
  Title: WorldPay Payment Callback Module V4.0 Version 1.6

  Revisions:
  
Paulz added minor changes to enable control of 'Payment Zone' added function update_status
Version MS1a Cleaned up code, moved static English to language file to allow for bi-lingual use,
        Now posting language code to WP, Redirect on failure now to Checkout Payment,
Reduced re-direct time to 8 seconds, added MD5, made callback dynamic
NOTE: YOU MUST CHANGE THE CALLBACK URL IN WP ADMIN TO <wpdisplay item="MC_callback">
Version 1.4 Removes boxes to prevent users from clicking away before update,
Fixes currency for Yen,
Redirects to Checkout_Process after 10 seconds or click by user
Version 1.3 Fixes problem with Multi Currency
Version 1.2 Added Sort Order and Default order status to work with snapshots after 14 Jan 2003
Version 1.1 Added Worldpay Pre-Authorisation ability
Version 1.0 Initial Payment Module

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

  Copyright (c) 2003
  Released under the GNU General Public License
*/

  class worldpay {
    var $code, $title, $description, $enabled;

// class constructor
    function worldpay() {
    global $order;
      $this->code = 'worldpay';
      $this->title = MODULE_PAYMENT_WORLDPAY_TEXT_TITLE;
      $this->description = MODULE_PAYMENT_WORLDPAY_TEXT_DESCRIPTION;
      $this->sort_order = MODULE_PAYMENT_WORLDPAY_SORT_ORDER;
      $this->enabled = ((MODULE_PAYMENT_WORLDPAY_STATUS == 'True') ? true : false);

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

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

      $this->form_action_url = 'https://select.worldpay.com/wcc/purchase';

      }

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

      if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_WORLDPAY_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_WORLDPAY_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;
        }

      }
      }

// class methods
      function javascript_validation() {
        return false;
      }

     // function selection() {
    //    return array('id' => $this->code,
     //                'module' => $this->title);
     // }
   
  
    function selection() {
      global $order;

$cards_array[] = array('id' => 'VISA','text' => 'Visa Card', 'paymentType'=> 'VISA');
$cards_array[] = array('id' => 'MSCD','text' => 'MasterCard', 'paymentType'=> 'MSCD');
$cards_array[] = array('id' => 'SWIT','text' => 'Switch', 'paymentType'=> 'SWIT');
$cards_array[] = array('id' => 'SOLO','text' => 'Solo', 'paymentType'=> 'SOLO' );

      $selection = array('id' => $this->code,
                         'module' => $this->title,
                         'fields' => array(array('title' => 'Card Type','field' => tep_draw_pull_down_menu('paymentType', $cards_array, $default = 'VISA'))));
  return $selection;
   	 }
   
   

	
	
   
   

      function pre_confirmation_check() {
        return false;
      }

      function confirmation() {
        return false;
      }

      function process_button() {
// Ian-san: Need to declare language_id global here 6/4/2003:
      global $HTTP_POST_VARS, $languages_id, $shipping_cost, 
   $total_cost, $shipping_selected, $shipping_method, 
   $currencies, $currency, $customer_id , $order; $cc_type;
      $worldpay_url = tep_session_name() . '=' . tep_session_id();

// Multi Currency - Graeme Conkie ver 1.3 - Set up variable
// Added decimal point code - contributed by Ian Davidson (Feb 08,2003) - For Yen currency
      $OrderAmt = number_format($order->info['total'] * $currencies->get_value($currency), $currencies->get_decimal_places($currency), '.', '');
    
	
   

// Multi Currency - ver 1.3
      $process_button_string =
      tep_draw_hidden_field('instId', MODULE_PAYMENT_WORLDPAY_ID) .
      tep_draw_hidden_field('currency', $currency) .
      tep_draw_hidden_field('desc', 'Purchase from '.STORE_NAME) .

// Send URL and session name - contributed by Nick Vermeulen 08 Feb, 2003
      tep_draw_hidden_field('cartId', $worldpay_url ) .
   
//Send URL and paymentType   
   tep_draw_hidden_field('paymentType', $cc_type) .

// Assign Multi Currency Variable to Amount
      tep_draw_hidden_field('amount', $OrderAmt);

// Pre Auth Mod 3/1/2002 - Graeme Conkie
      if (MODULE_PAYMENT_WORLDPAY_USEPREAUTH == 'True') $process_button_string .= tep_draw_hidden_field('authMode', MODULE_PAYMENT_WORLDPAY_PREAUTH);

// Ian-san: Create callback and language links here 6/4/2003:
      $callback_url = tep_href_link(FILENAME_WPCALLBACK);
    //  $callback_url = tep_href_link(FILENAME_WPCALLBACK, '', (ENABLE_SSL ? 'SSL' : 'NONSSL'), true);
      $worldpay_callback = explode('http://', $callback_url);
      $language_code_raw = tep_db_query("select code from " . TABLE_LANGUAGES . " where languages_id ='$languages_id'");
      $language_code_array = tep_db_fetch_array($language_code_raw);
      $language_code = $language_code_array['code'];

      $address = htmlspecialchars($order->customer['street_address'] . "\n" . $order->customer['suburb'] . "\n" . $order->customer['city'] . "\n" . $order->customer['state'], ENT_QUOTES);
      $process_button_string .=
        tep_draw_hidden_field('testMode', MODULE_PAYMENT_WORLDPAY_MODE) .
        tep_draw_hidden_field('name', $order->customer['firstname'] . ' ' . $order->customer['lastname']) .
        tep_draw_hidden_field('address', $address) .
        tep_draw_hidden_field('postcode', $order->customer['postcode']) .
        tep_draw_hidden_field('country', $order->customer['country']['iso_code_2']) .
        tep_draw_hidden_field('tel', $order->customer['telephone']) .
        tep_draw_hidden_field('myvar', 'Y') .
        tep_draw_hidden_field('fax', $order->customer['fax']) .
        tep_draw_hidden_field('email', $order->customer['email_address']) .

// Ian-san: Added dynamic callback and languages link here 6/4/2003:
        tep_draw_hidden_field('lang', $language_code) .
        tep_draw_hidden_field('MC_callback', $worldpay_callback[1] . '?language=' . $language_code) .
        tep_draw_hidden_field('MC_oscsid', $oscSid);

// Ian-san: Added MD5 here 6/4/2003:
      if (MODULE_PAYMENT_WORLDPAY_USEMD5 == '1') {
        $md5_signature_fields = 'amount:language:email';
        $md5_signature = MODULE_PAYMENT_WORLDPAY_MD5KEY . ':' . (number_format($order->info['total'] * $currencies->get_value($currency), $currencies->get_decimal_places($currency), '.', '')) . ':' . $language_code . ':' . $order->customer['email_address'];
        $md5_signature_md5 = md5($md5_signature);

        $process_button_string .= tep_draw_hidden_field('signatureFields', $md5_signature_fields ) .
                                  tep_draw_hidden_field('signature',$md5_signature_md5);
      }
        return $process_button_string;
      }

      function before_process() {
        global $HTTP_POST_VARS;
      }

      function after_process() {
        return false;
      }

      function output_error() {
        return false;
      }

      function check() {
        if (!isset($this->_check)) {
          $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_WORLDPAY_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 WorldPay Module', 'MODULE_PAYMENT_WORLDPAY_STATUS', 'True', 'Do you want to accept WorldPay 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 ('Worldpay Installation ID', 'MODULE_PAYMENT_WORLDPAY_ID', '00000', 'Your WorldPay Select Junior ID', '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 ('Mode', 'MODULE_PAYMENT_WORLDPAY_MODE', '100', 'The mode you are working in (100 = Test Mode Accept, 101 = Test Mode Decline, 0 = Live', '6', '5', now())");

// Ian-san: Added MD5 here 6/4/2003:
        tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Use MD5', 'MODULE_PAYMENT_WORLDPAY_USEMD5', '0', 'Use MD5 encyption for transactions? (1 = Yes, 0 = No)', '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 ('MD5 secret key', 'MODULE_PAYMENT_WORLDPAY_MD5KEY', '', 'MD5 secret key. Must also be entered into Worldpay installation config', '6', '5', now())");

// Pre Auth Mod - Graeme Conkie 13/1/2003
        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_WORLDPAY_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now())");
        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 ('Use Pre-Authorisation?', 'MODULE_PAYMENT_WORLDPAY_USEPREAUTH', 'False', 'Do you want to pre-authorise payments? Default=False. You need to request this from WorldPay before using it.', '6', '3', '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, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_WORLDPAY_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())");
        tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Pre-Auth', 'MODULE_PAYMENT_WORLDPAY_PREAUTH', 'A', 'The mode you are working in (A = Pay Now, E = Pre Auth). Ignored if Use PreAuth is False.', '6', '4', now())");
// Paulz zone control 04/04/2004        
        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_WORLDPAY_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())");
// Ian-san: Added MD5 here 6/4/2003:
        tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_WORLDPAY_USEMD5'");
        tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_WORLDPAY_MD5KEY'");
      }

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

      function keys() {
        return array('MODULE_PAYMENT_WORLDPAY_STATUS', 'MODULE_PAYMENT_WORLDPAY_ID','MODULE_PAYMENT_WORLDPAY_MODE','MODULE_PAYMENT_WORLDPAY_USEPREAUTH','MODULE_PAYMENT_WORLDPAY_PREAUTH','MODULE_PAYMENT_WORLDPAY_ZONE','MODULE_PAYMENT_WORLDPAY_SORT_ORDER','MODULE_PAYMENT_WORLDPAY_ORDER_STATUS_ID');
      }
    }
?>