Results 1 to 3 of 3

Hybrid View

  1. #1
    Join Date
    Sep 2008
    Posts
    9
    Plugin Contributions
    0

    Default payment zone not work with alertpay

    hi guys,
    I am using alertpay modules to accept payment,
    for US customers, they can pay by alertpay and money order,
    and for customers outside US,
    only can pay by money order,
    I created the zone including US only,
    and configured the tax rates for it,
    when I set this zone to alertpay,
    but it not work.
    always display alertpay payment option for all customers,
    here is the alertpay source code I use:
    PHP Code:
    <?php
    /*
      $Id: alertpay.php,v 1 2006/05/08
      
      Released under the GNU General Public License
     
      Alertpay module Created By Gray Appleton
       
      This free contribution made by request.
      If you have found this script usefull a small
      donation by Alertpay to applehobbys################## 
      would be greatly appreciated.
        
    */


      
    class alertpay {
        var 
    $code;
        
        var 
    $title;
        
        var 
    $description;
        
        var 
    $enabled;

    // class constructor
        
    function alertpay() {
          
    $this->code 'alertpay';
          
    $this->title MODULE_PAYMENT_ALERTPAY_TEXT_TITLE;
          
    $this->description MODULE_PAYMENT_ALERTPAY_TEXT_DESCRIPTION;
          
    $this->sort_order MODULE_PAYMENT_ALERTPAY_SORT_ORDER;
          
    $this->enabled = ((MODULE_PAYMENT_ALERTPAY_STATUS == 'True') ? true false);

          if ((int)
    MODULE_PAYMENT_ALERTPAY_ORDER_STATUS_ID 0) {
            
    $this->order_status MODULE_PAYMENT_ALERTPAY_ORDER_STATUS_ID;
          }
          
    $this->form_action_url 'https://www.alertpay.com/PayProcess.aspx';

        }
        

     function 
    update_status() {
          global 
    $db;
          global 
    $order;

          if ( (
    $this->enabled == true) && ((int)MODULE_PAYMENT_ALERTPAY_ZONE 0) ) {
            
    $check_flag false;
            
    $check $db->Execute("select zone_id from " TABLE_ZONES_TO_GEO_ZONES " where geo_zone_id = '" MODULE_PAYMENT_ALERTPAY_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;
            }
          }
                if (
    is_object($order)) $this->update_status();
        }

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

        function 
    selection() {
          return array(
    'id' => $this->code,
                       
    'module' => MODULE_PAYMENT_ALERTPAY_TEXT_CATALOG_LOGO,
                       
    'icon' => MODULE_PAYMENT_ALERTPAY_TEXT_CATALOG_LOGO);
        }

        function 
    pre_confirmation_check() {
          return 
    false;
        }

        function 
    confirmation() {
          return 
    false;
        }

        function 
    process_button() {
          global 
    $db$order$currencies;
          
          
    //alertpay accepted currency
          
    $alert_cur = array('CAD''EUR''GBP''USD''AUD');
          
    $CUR $order->info['currency'];
          if (!
    in_array($CUR,$alert_cur)) {
            
    $CUR 'USD';
          }
        
           
    $process_button_string zen_draw_hidden_field('ap_merchant'MODULE_PAYMENT_ALERTPAY_ACCOUNT) .
                                   
    zen_draw_hidden_field('ap_amount'number_format($order->info['total'], 2'.''')) .
                                   
    zen_draw_hidden_field('ap_currency'$CUR) .
                                   
    zen_draw_hidden_field('ap_purchasetype''Item') .
                                   
    zen_draw_hidden_field('ap_itemname'MODULE_PAYMENT_ALERTPAY_PRODUCT_TYPE) .
                                   
    zen_draw_hidden_field('ap_returnurl'zen_href_link(FILENAME_CHECKOUT_PROCESS'''SSL')) .
                                   
    zen_draw_hidden_field('ap_cancelurl'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_ALERTPAY_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 Alertpay Module', 'MODULE_PAYMENT_ALERTPAY_STATUS', 'True', 'Do you want to accept Alertpay?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_ALERTPAY_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 ('General product description.', 'MODULE_PAYMENT_ALERTPAY_PRODUCT_TYPE', '', 'Needed to complete Alertpay process.', '6', '5', now())");
          
    $db->Execute("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Alertpay Account Number', 'MODULE_PAYMENT_ALERTPAY_ACCOUNT', '[email protected]', 'Your Alertpay?account 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_ALERTPAY_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_ALERTPAY_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_ALERTPAY_STATUS''MODULE_PAYMENT_ALERTPAY_SORT_ORDER''MODULE_PAYMENT_ALERTPAY_PRODUCT_TYPE''MODULE_PAYMENT_ALERTPAY_ACCOUNT''MODULE_PAYMENT_ALERTPAY_ZONE''MODULE_PAYMENT_ALERTPAY_ORDER_STATUS_ID');
        }
      }
    ?>
    if anyone who have idea what is wrong?
    thanks a lot...
    *spam removed*

  2. #2
    Join Date
    Sep 2008
    Posts
    9
    Plugin Contributions
    0

    Default Re: payment zone not work with alertpay

    i get it work...
    something missing in the source codes,
    some part of the source codes should be:
    PHP Code:
    // class constructor
        
    function alertpay() {
          global 
    $order;
          
    $this->code 'alertpay';
          
    $this->title MODULE_PAYMENT_ALERTPAY_TEXT_TITLE;
          
    $this->description MODULE_PAYMENT_ALERTPAY_TEXT_DESCRIPTION;
          
    $this->sort_order MODULE_PAYMENT_ALERTPAY_SORT_ORDER;
          
    $this->enabled = ((MODULE_PAYMENT_ALERTPAY_STATUS == 'True') ? true false);

          if ((int)
    MODULE_PAYMENT_ALERTPAY_ORDER_STATUS_ID 0) {
            
    $this->order_status MODULE_PAYMENT_ALERTPAY_ORDER_STATUS_ID;
          }
          
    $this->form_action_url 'https://www.alertpay.com/PayProcess.aspx';

          if (
    is_object($order)) $this->update_status();
        } 
    add global $order; before $this->code = 'alertpay';
    and add " if (is_object($order)) $this->update_status();"
    after " $this->form_action_url = 'https://www.alertpay.com/PayProcess.aspx';"
    that is all,
    and it work,
    *spam removed*

  3. #3
    Join Date
    Sep 2003
    Location
    Ohio
    Posts
    69,402
    Plugin Contributions
    6

    Default Re: payment zone not work with alertpay

    Thanks for the update and for posting the solution on the missing global that was resulting in the issues ...
    Linda McGrath
    If you have to think ... you haven't been zenned ...

    Did YOU buy the Zen Cart Team a cup of coffee and a donut today? Just click here to support the Zen Cart Team!!

    Are you using the latest? Perhaps you've a problem that's fixed in the latest version: [Upgrade today!]
    Officially PayPal-Certified! Just click here

    Try our Zen Cart Recommended Services - Hosting, Payment and more ...
    Signup for our Announcements Forums to stay up to date on important changes and updates!

 

 

Similar Threads

  1. Alertpay payment compatible with v1.5.4?
    By Laki in forum Addon Payment Modules
    Replies: 1
    Last Post: 29 Aug 2015, 05:47 PM
  2. Handling fee does not work freeshipping with zone rate
    By Arunachala in forum Built-in Shipping and Payment Modules
    Replies: 2
    Last Post: 26 Jul 2011, 06:35 PM
  3. alertpay not work
    By wowemall in forum Addon Payment Modules
    Replies: 8
    Last Post: 30 Apr 2011, 06:09 PM
  4. Coupon not taken off with Alertpay
    By Royal in forum Addon Payment Modules
    Replies: 2
    Last Post: 14 Oct 2010, 03:59 PM
  5. USPS Does not work with Zone selected
    By Hound in forum Built-in Shipping and Payment Modules
    Replies: 1
    Last Post: 5 Jan 2008, 05:43 AM

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