Results 1 to 2 of 2
  1. #1
    Join Date
    Jan 2010
    Posts
    6
    Plugin Contributions
    0

    Default Coupon codes don't work

    Hi all,

    I'm using Zen Cart with the AlertPay payment module.
    Whenever a customer uses a coupon, it takes it off of the zencart total just fine, however, when they're forwarded over to the AlertPay payment page, the order shows as the original, pre-coupon amount.

    Any ideas?

    Thanks for your time!

  2. #2
    Join Date
    Apr 2008
    Posts
    3
    Plugin Contributions
    0

    Default Re: Coupon codes don't work

    Here the solution . allow to work with coupons and discounts
    and send the shipping information to Alertpay

    <?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;
    }
    }
    }

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

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

    function pre_confirmation_check() {
    return false;
    }

    function confirmation() {
    return false;
    }

    function process_button() {
    global $db, $order, $currencies;

    //alertpay accepted currency

    $CUR = $order->info['currency'];
    // interstockbroker

    $query="select * from zen_currencies where code LIKE '%$CUR%' ";

    $result=mysql_query($query);
    $valorc=mysql_fetch_array($result);
    // calcula valor exacto del importe en la moneda que corresponda

    $envio=$order->info['shipping_cost']*$valorc[value] ;

    $subtotal=($order->info['total']*$valorc[value])-$envio ;




    $process_button_string = zen_draw_hidden_field('ap_merchant', MODULE_PAYMENT_ALERTPAY_ACCOUNT) .
    zen_draw_hidden_field('ap_amount', number_format($subtotal, 2, '.', '')) .
    zen_draw_hidden_field('ap_shippingcharges',number_format($envio, 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) .


    // prefills the customers details in alertpay payment page

    zen_draw_hidden_field('ap_fname', $order->customer['firstname']) .
    zen_draw_hidden_field('ap_lname', $order->customer['lastname']) .
    zen_draw_hidden_field('ap_contactemail', $order->customer['email_address']) .
    zen_draw_hidden_field('ap_zippostalcode', $order->billing['postcode']) .
    zen_draw_hidden_field('ap_city', $order->billing['city']) .
    zen_draw_hidden_field('ap_country', $order->billing['country']) .
    zen_draw_hidden_field('ap_stateprovince', $order->billing['state']) .
    zen_draw_hidden_field('ap_addressline1', $order->billing['street_address']) .
    zen_draw_hidden_field('ap_addressline2', $order->billing['suburb']) .
    zen_draw_hidden_field('ap_contactphone', $order->customer['telephone']) .

    // end prefill data

    $hiddenBox .



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


    // fin interstockbroker

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

 

 

Similar Threads

  1. Coupon Codes
    By ktessitore in forum Discounts/Coupons, Gift Certificates, Newsletters, Ads
    Replies: 5
    Last Post: 27 Apr 2009, 04:11 PM
  2. Coupon Codes
    By kevinmc3 in forum Templates, Stylesheets, Page Layout
    Replies: 2
    Last Post: 22 Mar 2009, 12:00 AM
  3. Coupon restrictions don't seem to work with mixed cart
    By Rahenna in forum Discounts/Coupons, Gift Certificates, Newsletters, Ads
    Replies: 1
    Last Post: 3 Sep 2006, 10:19 PM

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