Results 1 to 10 of 53

Threaded View

  1. #1
    Join Date
    Jun 2017
    Location
    canada
    Posts
    30
    Plugin Contributions
    0

    Idea or Suggestion Modifying code to make a new gateway

    Hi guys, am trying to modify OKPAY payment gateway zencart code to add a new payment gateway
    not sure what args and where to update it, can someone help, please ???

    here is the okpay code, if I want to add a different gateway instead of okpay , how can I do that ??? what changes are needed in the below code ??? i saw western union is using the same code, the changes needed to be done via cpanel/php myadmin database ???

    Code:
    <?php
    /*
      $Id: okpay.php, v. 1.0 2010-05-06
    
     
    */
    
    
      class okpay {
        var $code;
        var $title;
        var $description;
        var $enabled;
    
    // class constructor
        function okpay() {
          $this->code = 'okpay';
          $this->title = MODULE_PAYMENT_OKPAY_TEXT_TITLE;
          $this->description = MODULE_PAYMENT_OKPAY_TEXT_DESCRIPTION;
          $this->sort_order = MODULE_PAYMENT_OKPAY_SORT_ORDER;
          $this->enabled = ((MODULE_PAYMENT_OKPAY_STATUS == 'True') ? true : false);
          
          if ((int)MODULE_PAYMENT_OKPAY_ORDER_STATUS_ID > 0) {
            $this->order_status = MODULE_PAYMENT_OKPAY_ORDER_STATUS_ID;
          }
          $this->form_action_url = 'https://www.okpay.com/process.html';
        }
    
     function update_status() {
          global $db;
          global $order;
    
          if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_OKPAY_ZONE > 0) ) {
            $check_flag = false;
            $check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_OKPAY_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");
            while (!$check->EOF) {
              if ($check->fields['zone_id'] < 1) {
                $check_flag = true;
                break;
              } elseif ($check->fields['zone_id'] == $order->billing['zone_id']) {
                $check_flag = true;
                break;
              }
              $check->MoveNext();
            }
    
            if ($check_flag == false) {
              $this->enabled = false;
            }
          }
        }
    
    // class methods
        function javascript_validation() {
          return false;
        }
    
        function selection() {
          return array('id'     => $this->code,
                       'module' => MODULE_PAYMENT_OKPAY_TEXT_CATALOG_LOGO,
                       'icon'   => MODULE_PAYMENT_OKPAY_TEXT_CATALOG_LOGO);
        }
    
        function pre_confirmation_check() {
          return false;
        }
    
        function confirmation() {
          return false;
        }
    
        function process_button() {
          global $db, $order, $currencies;
    
          //okpay accepted currency
          $ok_cur = array('EUR', 'USD', 'GBP', 'CHF', 'CAD', 'RUR');
          $CUR = $order->info['currency'];
          if (!in_array($CUR,$ok_cur)) {
            $CUR = 'USD';
          }
    
          $process_button_string = zen_draw_hidden_field('ok_receiver', MODULE_PAYMENT_OKPAY_RECEIVER) .
                                   zen_draw_hidden_field('ok_item_1_name', MODULE_PAYMENT_OKPAY_PURCHASE_TITLE) .
                                   zen_draw_hidden_field('ok_item_1_article', MODULE_PAYMENT_OKPAY_PURCHASE_ITEMNUM) .
                                   zen_draw_hidden_field('ok_item_1_price', number_format($order->info['total'], 2, '.', '')) .
                                   zen_draw_hidden_field('ok_currency', $CUR) .
                                   zen_draw_hidden_field('ok_return_success', zen_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
                                   zen_draw_hidden_field('ok_return_fail', zen_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
    
          return $process_button_string;
        }
    
        function before_process() {
          return false;
        }
    
        function after_process() {
          return false;
        }
    
        function output_error() {
          return false;
        }
    
        function check() {
          global $db;
          if (!isset($this->_check)) {
            $check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_OKPAY_STATUS'");
            $this->_check = $check_query->RecordCount();
          }
          return $this->_check;
        }
    
        function install() {
          global $db;
          $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable OKPAY Module', 'MODULE_PAYMENT_OKPAY_STATUS', 'True', 'Do you want to accept OKPAY payments?', '6', '3', 'zen_cfg_select_option(array(\'True\', \'False\'))', now())");
          $db->Execute("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_OKPAY_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now())");
          $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('OKPAY Receiver', 'MODULE_PAYMENT_OKPAY_RECEIVER', '[email protected]', 'Your OKPAY wallet ID, linked email or mobile phone number to which the payment is to be made.', '6', '4', now())");
          $db->Execute("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_OKPAY_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())");
          $db->Execute("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_OKPAY_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())");
          
        }
    
    
        function remove() {
          global $db;
          $db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
        }
    
        function keys() {
          return array('MODULE_PAYMENT_OKPAY_STATUS', 'MODULE_PAYMENT_OKPAY_SORT_ORDER', 'MODULE_PAYMENT_OKPAY_RECEIVER', 'MODULE_PAYMENT_OKPAY_ZONE', 'MODULE_PAYMENT_OKPAY_ORDER_STATUS_ID');
        }
      }
    
    ?>
    Last edited by ersiranjeevi; 20 Jun 2017 at 07:40 PM.

 

 

Similar Threads

  1. v151 Modifying the login code
    By gkginc in forum General Questions
    Replies: 2
    Last Post: 20 May 2013, 08:43 PM
  2. Make Code Change To New Products listing
    By DigitalShadow in forum General Questions
    Replies: 3
    Last Post: 2 Mar 2011, 12:38 PM
  3. Modifying Email Code
    By asimms1 in forum General Questions
    Replies: 1
    Last Post: 9 Jun 2009, 07:19 PM
  4. Modifying something in PHP-Code
    By mathon in forum Templates, Stylesheets, Page Layout
    Replies: 5
    Last Post: 10 Dec 2006, 10:24 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg
Zen-Cart, Internet Selling Services, Klamath Falls, OR