Thread: InternetSecure

Page 8 of 9 FirstFirst ... 6789 LastLast
Results 71 to 80 of 83
  1. #71
    Join Date
    Oct 2005
    Posts
    206
    Plugin Contributions
    0

    Default Re: InternetSecure

    I have installed it.

    Tested it in Live mode. It does seem to communicate with server. However, I am unable to finish a transaction. I get this :

    TRANSACTION type NOT ALLOWED - Your credit card could not be authorized for this reason. Please correct any information and try again or contact us for further assistance.
    Further down it says that my billing adress does not match.

    I dont know if it's a bug, or it's because im in the process of moving, but that shouldnt be since I made my adress change with visa effective last saturday.
    My Store: Bonsai tree seeds

  2. #72
    Join Date
    Oct 2004
    Posts
    1,045
    Plugin Contributions
    0

    Default Re: InternetSecure

    Hmmm I'll test it some more this week and see how it goes. Maybe I'll do a 1.3.7 test install so I can try it.
    Danielle

  3. #73
    Join Date
    Aug 2005
    Posts
    62
    Plugin Contributions
    0

    Default Re: InternetSecure

    Hi, we're having two problems with internetsecure. I'm wondering if it's likely that upgrading my module will solve these issues.

    I'm just joining a project that was last worked on a long time ago, and I'm not sure if we're using an older version of this module that should still work, or if we really need to upgrade to the new one. The one I have has this text in includes/modules/payment/internetsecure.php:

    Internetsecure Merchant Link Payment Module v2.0 for osCommerce 2.2 MS2 May 7, 2004
    It looks like this is a relative to the Zen Cart version of the module, right? Here are the problems we're having.

    - Some orders are showing up in the admin, and some are only sending notification emails and then not going through to the admin. It sounds like this was happening in the old version of this module but is now fixed, is the problem that was fixed in the new version the only known reason why this would happen?

    - She has two merchant accounts with Internet Secure, one for CAD and one for USD. I have these two account numbers listed in Modules > Payment for the two currencies. However, all purchases seem to be going through the CAD account even when purchased in USD.

    Are these known issues that moving to the new module will solve, or does it sound like these problems are coming from somewhere else?

    Thanks!

  4. #74
    Join Date
    Oct 2004
    Posts
    1,045
    Plugin Contributions
    0

    Default Re: InternetSecure

    Yes, you have the old version installed. You can find the latest one in the downloads section. It will definitely fix your first issue.

    As far as the second issue with currency, in your admin, under modules-payments-internet secure, edit the mod. Is there a choice to choose the Transaction Currency? If so, is yours set to "Always CAD"? If so, change it to "Either US or CAD, else CAD", that should solve your second problem : ) If the Transaction Currency option isn't there, then again you will need to upgrade to the new version of the mod.
    Danielle

  5. #75
    Join Date
    Oct 2004
    Posts
    1,045
    Plugin Contributions
    0

    Default Re: InternetSecure

    OK, I've made progress with this mod, the Canadian part is working great, but I can't get the US one to work. Basically, the CAD and USD are now completely seperate, this way you can use zones to tell them to show or not show based on customer location. The USD is working great except it's billing in Canadian, I know it should be probably an easy piece of code to tell it to bill based on the US exchange rate, but I just can't seem to get it to work. Here's the code so far:

    <?php
    /**
    *
    * @package paymentMethod
    * @copyright Copyright 2003-2006 Zen Cart Development Team
    * @copyright Portions Copyright 2003 osCommerce
    * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
    * @version $Id: isecure_usd.php 5435 2007-06-04 shuswapwebservices.com $
    */
    /**
    * Internet Secure Payment Module (Merchant Direct version)
    * You must have SSL active on your server to be compliant with merchant TOS
    *
    */
    class isecure_usd extends base {
    /**
    * $code determines the internal 'code' name used to designate "this" payment module
    *
    * @var string
    */
    var $code;
    /**
    * $title is the displayed name for this payment method
    *
    * @var string
    */
    var $title;
    /**
    * $description is a soft name for this payment method
    *
    * @var string
    */
    var $description;
    /**
    * $enabled determines whether this module shows or not... in catalog.
    *
    * @var boolean
    */
    var $enabled;
    /**
    * $response tracks response information returned from the AIM gateway
    *
    * @var string/array
    */
    var $response;
    /**
    * log file folder
    */
    var $_logDir = DIR_FS_SQL_CACHE;
    /**
    * Constructor
    *
    * @return isecure_usd
    */
    function isecure_usd() {
    global $order;
    $this->code = 'isecure_usd';
    if (IS_ADMIN_FLAG === true) {
    // Payment module title in Admin
    $this->title = MODULE_PAYMENT_ISECURE_USD_TEXT_ADMIN_TITLE;}
    $this->description = MODULE_PAYMENT_ISECURE_USD_TEXT_DESCRIPTION;
    $this->enabled = ((MODULE_PAYMENT_ISECURE_USD_STATUS == 'True') ? true : false);
    $this->sort_order = MODULE_PAYMENT_ISECURE_USD_SORT_ORDER;
    $this->form_action_url = zen_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL', false);

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

    if (is_object($order))
    $this->update_status();
    }
    /**
    * calculate zone matches and flag settings to determine whether this module should display to customers or not
    *
    */
    function update_status() {
    global $order, $db;

    if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_ISECURE_USD_ZONE > 0) ) {
    $check_flag = false;
    $check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_ISECURE_USD_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;
    }
    }
    }
    /**
    * JS validation which does error-checking of data-entry if this module is selected for use
    * (Number, Owner, and CVV Lengths)
    *
    * @return string
    */
    function javascript_validation() {
    $js = ' if (payment_value == "' . $this->code . '") {' . "\n" .
    ' var cc_owner = document.checkout_payment.isecure_usd_cc_owner.value;' . "\n" .
    ' var cc_number = document.checkout_payment.isecure_usd_cc_number.value;' . "\n";
    if (MODULE_PAYMENT_ISECURE_USD_USE_CVV == 'True') {
    $js .= ' var cc_cvv = document.checkout_payment.isecure_usd_cc_cvv.value;' . "\n";
    }
    $js .= ' if (cc_owner == "" || cc_owner.length < ' . CC_OWNER_MIN_LENGTH . ') {' . "\n" .
    ' error_message = error_message + "' . MODULE_PAYMENT_ISECURE_USD_TEXT_JS_CC_OWNER . '";' . "\n" .
    ' error = 1;' . "\n" .
    ' }' . "\n" .
    ' if (cc_number == "" || cc_number.length < ' . CC_NUMBER_MIN_LENGTH . ') {' . "\n" .
    ' error_message = error_message + "' . MODULE_PAYMENT_ISECURE_USD_TEXT_JS_CC_NUMBER . '";' . "\n" .
    ' error = 1;' . "\n" .
    ' }' . "\n";
    if (MODULE_PAYMENT_ISECURE_USD_USE_CVV == 'True') {
    $js .= ' if (cc_cvv == "" || cc_cvv.length < "3" || cc_cvv.length > "4") {' . "\n".
    ' error_message = error_message + "' . MODULE_PAYMENT_ISECURE_USD_TEXT_JS_CC_CVV . '";' . "\n" .
    ' error = 1;' . "\n" .
    ' }' . "\n" ;
    }
    $js .= ' }' . "\n";

    return $js;
    }
    /**
    * Display Credit Card Information Submission Fields on the Checkout Payment Page
    *
    * @return array
    */
    function selection() {
    global $order;

    for ($i=1; $i<13; $i++) {
    $expires_month[] = array('id' => sprintf('%02d', $i), 'text' => strftime('%B',mktime(0,0,0,$i,1,2000)));
    }

    $today = getdate();
    for ($i=$today['year']; $i < $today['year']+10; $i++) {
    $expires_year[] = array('id' => strftime('%y',mktime(0,0,0,1,1,$i)), 'text' => strftime('%Y',mktime(0,0,0,1,1,$i)));
    }
    $onFocus = ' onfocus="methodSelect(\'pmt-' . $this->code . '\')"';

    if (MODULE_PAYMENT_ISECURE_USD_USE_CVV == 'True') {
    $selection = array('id' => $this->code,
    'module' => MODULE_PAYMENT_ISECURE_USD_TEXT_CATALOG_TITLE,
    'fields' => array(array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_OWNER,
    'field' => zen_draw_input_field('isecure_usd_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'], 'id="'.$this->code.'-cc-owner"'. $onFocus),
    'tag' => $this->code.'-cc-owner'),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_NUMBER,
    'field' => zen_draw_input_field('isecure_usd_cc_number', '', 'id="'.$this->code.'-cc-number"' . $onFocus),
    'tag' => $this->code.'-cc-number'),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_EXPIRES,
    'field' => zen_draw_pull_down_menu('isecure_usd_cc_expires_month', $expires_month, '', 'id="'.$this->code.'-cc-expires-month"' . $onFocus) . '&nbsp;' . zen_draw_pull_down_menu('isecure_usd_cc_expires_year', $expires_year, '', 'id="'.$this->code.'-cc-expires-year"' . $onFocus),
    'tag' => $this->code.'-cc-expires-month'),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CVV,
    'field' => zen_draw_input_field('isecure_usd_cc_cvv','', 'size="4", maxlength="4"' . ' id="'.$this->code.'-cc-cvv"' . $onFocus) . ' ' . '<a href="javascriptopupWindow(\'' . zen_href_link(FILENAME_POPUP_CVV_HELP) . '\')">' . MODULE_PAYMENT_ISECURE_USD_TEXT_POPUP_CVV_LINK . '</a>',
    'tag' => $this->code.'-cc-cvv')
    ));
    } else {
    $selection = array('id' => $this->code,
    'module' => MODULE_PAYMENT_ISECURE_USD_TEXT_CATALOG_TITLE,
    'fields' => array(array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_OWNER,
    'field' => zen_draw_input_field('isecure_usd_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'], 'id="'.$this->code.'-cc-owner"'. $onFocus),
    'tag' => $this->code.'-cc-owner'),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_NUMBER,
    'field' => zen_draw_input_field('isecure_usd_cc_number', '', 'id="'.$this->code.'-cc-number"' . $onFocus),
    'tag' => $this->code.'-cc-number'),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_EXPIRES,
    'field' => zen_draw_pull_down_menu('isecure_usd_cc_expires_month', $expires_month, '', 'id="'.$this->code.'-cc-expires-month"' . $onFocus) . '&nbsp;' . zen_draw_pull_down_menu('isecure_usd_cc_expires_year', $expires_year, '', 'id="'.$this->code.'-cc-expires-year"' . $onFocus),
    'tag' => $this->code.'-cc-expires-month')));
    }
    return $selection;
    }
    /**
    * Evaluates the Credit Card Type for acceptance and the validity of the Credit Card Number & Expiration Date
    *
    */
    function pre_confirmation_check() {
    global $_POST, $messageStack;

    include(DIR_WS_CLASSES . 'cc_validation.php');

    $cc_validation = new cc_validation();
    $result = $cc_validation->validate($_POST['isecure_usd_cc_number'], $_POST['isecure_usd_cc_expires_month'], $_POST['isecure_usd_cc_expires_year'], $_POST['isecure_usd_cc_cvv']);
    $error = '';
    switch ($result) {
    case -1:
    $error = sprintf(TEXT_CCVAL_ERROR_UNKNOWN_CARD, substr($cc_validation->cc_number, 0, 4));
    break;
    case -2:
    case -3:
    case -4:
    $error = TEXT_CCVAL_ERROR_INVALID_DATE;
    break;
    case false:
    $error = TEXT_CCVAL_ERROR_INVALID_NUMBER;
    break;
    }

    if ( ($result == false) || ($result < 1) ) {
    $payment_error_return = 'payment_error=' . $this->code . '&isecure_usd_cc_owner=' . urlencode($_POST['isecure_usd_cc_owner']) . '&isecure_usd_cc_expires_month=' . $_POST['isecure_usd_cc_expires_month'] . '&isecure_usd_cc_expires_year=' . $_POST['isecure_usd_cc_expires_year'];
    $messageStack->add_session('checkout_payment', $error . '<!-- ['.$this->code.'] -->', 'error');
    zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false));
    }

    $this->cc_card_type = $cc_validation->cc_type;
    $this->cc_card_number = $cc_validation->cc_number;
    $this->cc_expiry_month = $cc_validation->cc_expiry_month;
    $this->cc_expiry_year = $cc_validation->cc_expiry_year;
    }
    /**
    * Display Credit Card Information on the Checkout Confirmation Page
    *
    * @return array
    */
    Danielle

  6. #76
    Join Date
    Oct 2004
    Posts
    1,045
    Plugin Contributions
    0

    Default Re: InternetSecure

    Here's the rest of the code, it wouldn't all fit in one post:

    function confirmation() {
    global $_POST;

    if (MODULE_PAYMENT_ISECURE_USD_USE_CVV == 'True') {
    $confirmation = array(//'title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CATALOG_TITLE, // Redundant
    'fields' => array(array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_TYPE,
    'field' => $this->cc_card_type),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_OWNER,
    'field' => $_POST['isecure_usd_cc_owner']),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_NUMBER,
    'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_EXPIRES,
    'field' => strftime('&#37;B, %Y', mktime(0,0,0,$_POST['isecure_usd_cc_expires_month'], 1, '20' . $_POST['isecure_usd_cc_expires_year']))),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CVV,
    'field' => $_POST['isecure_usd_cc_cvv'])));
    } else {
    $confirmation = array(//'title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CATALOG_TITLE, // Redundant
    'fields' => array(array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_TYPE,
    'field' => $this->cc_card_type),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_OWNER,
    'field' => $_POST['isecure_usd_cc_owner']),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_NUMBER,
    'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)),
    array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_CREDIT_CARD_EXPIRES,
    'field' => strftime('%B, %Y', mktime(0,0,0,$_POST['isecure_usd_cc_expires_month'], 1, '20' . $_POST['isecure_usd_cc_expires_year'])))));
    }
    return $confirmation;
    }
    /**
    * Build the data and actions to process when the "Submit" button is pressed on the order-confirmation screen.
    * This sends the data to the payment gateway for processing.
    * (These are hidden fields on the checkout confirmation page)
    *
    * @return string
    */
    function process_button() {
    $process_button_string = zen_draw_hidden_field('cc_owner', $_POST['isecure_usd_cc_owner']) .
    zen_draw_hidden_field('cc_expires', $this->cc_expiry_month . substr($this->cc_expiry_year, -2)) .
    zen_draw_hidden_field('cc_type', $this->cc_card_type) .
    zen_draw_hidden_field('cc_number', $this->cc_card_number);
    if (MODULE_PAYMENT_ISECURE_USD_USE_CVV == 'True') {
    $process_button_string .= zen_draw_hidden_field('cc_cvv', $_POST['isecure_usd_cc_cvv']);
    }

    $process_button_string .= zen_draw_hidden_field(zen_session_name(), zen_session_id());

    return $process_button_string;
    return false;
    }
    /**
    * Store the CC info to the order and process any results that come back from the payment gateway
    *
    */
    function before_process() {
    global $_POST, $response, $db, $order, $messageStack;

    // DATA PREPARATION SECTION
    unset($submit_data); // Cleans out any previous data stored in the variable

    // Create a string that contains a listing of products ordered for the description field
    $description = '';
    for ($i=0; $i<sizeof($order->products); $i++) {
    $description .= $order->products[$i]['name'] . '(qty: ' . $order->products[$i]['qty'] . ') + ';
    }
    // Remove the last "\n" from the string
    $description = substr($description, 0, -2);

    // Create a variable that holds the order time
    $order_time = date("F j, Y, g:i a");

    // Calculate the next expected order id
    $last_order_id = $db->Execute("select * from " . TABLE_ORDERS . " order by orders_id desc limit 1");
    $new_order_id = $last_order_id->fields['orders_id'];
    $new_order_id = ($new_order_id + 1);

    // Populate an array that contains all of the data to be sent to Authorize.net
    $submit_data = array(
    'x_login' => MODULE_PAYMENT_ISECURE_USD_LOGIN, // The login name is assigned by authorize.net
    'x_relay_response' => 'FALSE', // AIM uses direct response, not relay response
    'x_delim_data' => 'TRUE', // The default delimiter is a comma
    'x_version' => '3.1', // 3.1 is required to use CVV codes
    'x_amount' => number_format($order->info['total'], 2),
    'x_card_num' => $_POST['cc_number'],
    'x_exp_date' => $_POST['cc_expires'],
    'x_card_code' => $_POST['cc_cvv'],
    'x_cust_id' => $_SESSION['customer_id'],
    'x_invoice_num' => (MODULE_PAYMENT_ISECURE_USD_TESTMODE == 'Test' ? 'TEST-' : '') . $new_order_id,
    'x_first_name' => $order->billing['firstname'],
    'x_last_name' => $order->billing['lastname'],
    'x_company' => $order->billing['company'],
    'x_address' => $order->billing['street_address'],
    'x_city' => $order->billing['city'],
    'x_state' => $order->billing['state'],
    'x_zip' => $order->billing['postcode'],
    'x_country' => $order->billing['country']['title'],
    'x_phone' => $order->customer['telephone'],
    'x_email' => $order->customer['email_address'],
    'x_ship_to_first_name' => $order->delivery['firstname'],
    'x_ship_to_last_name' => $order->delivery['lastname'],
    'x_ship_to_address' => $order->delivery['street_address'],
    'x_ship_to_city' => $order->delivery['city'],
    'x_ship_to_state' => $order->delivery['state'],
    'x_ship_to_zip' => $order->delivery['postcode'],
    'x_ship_to_country' => $order->delivery['country']['title'],
    'x_description' => $description,
    // Merchant defined variables go here
    'Date' => $order_time,
    'IP' => $_SERVER['REMOTE_ADDR'],
    'Session' => zen_session_id());

    // Our Test status switch
    switch (MODULE_PAYMENT_ISECURE_USD_TESTMODE) {
    case 'Test Mode - Declined': $test_status = '{TESTD}'; break;
    case 'Test Mode - Approved': $test_status = '{TEST}'; break;
    case 'LIVE':
    default: $testmode = ''; break;
    }

    // concatenate the submission data and put into $data variable
    while(list($key, $value) = each($submit_data)) {
    $data .= $key . '=' . urlencode(ereg_replace(',', '', $value)) . '&';
    }
    // Remove the last "&" from the string
    $data = substr($data, 0, -1);


    // prepare a copy of submitted data for error-reporting purposes
    $reportable_submit_data = $submit_data;
    $reportable_submit_data['x_login'] = '*******';
    $reportable_submit_data['x_tran_key'] = '*******';
    $reportable_submit_data['x_card_num'] = '*******' . substr($reportable_submit_data['x_card_num'], -4);
    $reportable_submit_data['x_card_code'] = '*******';


    // SEND DATA BY CURL SECTION
    // Post order info data to Internet Secure, make sure you have cURL support installed

    unset($response);

    $url = 'https://secure.internetsecure.com/process.cgi';
    if (AUTHORIZENET_DEVELOPER_MODE == 'on') $url = 'https://secure.internetsecure.com/process.cgi';
    if (AUTHORIZENET_DEVELOPER_MODE == 'certify') $url = 'https://secure.internetsecure.com/process.cgi';
    $reportable_submit_data['url'] = $url;


    // The commented line below is an alternate connection method
    //exec("/usr/bin/curl -d \"$data\" $url", $response);


    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_VERBOSE, 0);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); /* compatibility for SSL communications on some Windows servers (IIS 5.0+) */
    if (CURL_PROXY_REQUIRED == 'True') {
    $proxy_tunnel_flag = (defined('CURL_PROXY_TUNNEL_FLAG') && strtoupper(CURL_PROXY_TUNNEL_FLAG) == 'FALSE') ? false : true;
    curl_setopt ($ch, CURLOPT_HTTPPROXYTUNNEL, $proxy_tunnel_flag);
    curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
    curl_setopt ($ch, CURLOPT_PROXY, CURL_PROXY_SERVER_DETAILS);
    }

    $authorize = curl_exec($ch);
    $commError = curl_error($ch);
    $commInfo = @curl_getinfo($ch);
    curl_close ($ch);

    $response = split('\,', $authorize);

    $response_code = explode(',', $response[0]);
    $response_text = explode(',', $response[3]);
    $transaction_id = explode(',', $response[6]);
    $authorization_type = explode(',', $response[11]);
    $auth_code = explode(',', $response[4]);
    $this->auth_code = $auth_code[0];
    $this->transaction_id = $transaction_id[0];
    // Parse the response code and text for custom error display
    $x_response_code = $response_code[0];
    $x_response_text = $response_text[0] . ($commError == '' ? '' : 'Communications Error - Please notify webmaster. ');

    // If the response code is not 1 (approved) then redirect back to the payment page with the appropriate error message
    if ($x_response_code != '1') {
    $messageStack->add_session('checkout_payment', $x_response_text . ' - ' . MODULE_PAYMENT_ISECURE_USD_TEXT_DECLINED_MESSAGE, 'error');
    zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', true, false));
    }
    }
    /**
    * Post-process activities.
    *
    * @return boolean
    */
    function after_process() {
    global $insert_id, $db;
    $db->Execute("insert into " . TABLE_ORDERS_STATUS_HISTORY . " (comments, orders_id, orders_status_id, date_added) values ('Credit Card payment. AUTH: " . $this->auth_code . ". TransID: " . $this->transaction_id . ".' , '". (int)$insert_id . "','" . $this->order_status . "', now() )");
    return false;
    }
    /**
    * Used to display error message details
    *
    * @return array
    */
    function get_error() {
    global $_GET;

    $error = array('title' => MODULE_PAYMENT_ISECURE_USD_TEXT_ERROR,
    'error' => stripslashes(urldecode($_GET['error'])));

    return $error;
    }
    /**
    * Check to see whether module is installed
    *
    * @return boolean
    */
    function check() {
    global $db;
    if (!isset($this->_check)) {
    $check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_ISECURE_USD_STATUS'");
    $this->_check = $check_query->RecordCount();
    }
    return $this->_check;
    }
    /**
    * Install the payment module and its configuration settings
    *
    */
    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 Internet Secure-USD Module', 'MODULE_PAYMENT_ISECURE_USD_STATUS', 'True', 'Do you want to accept Internet Secure payments via the Merchant Direct Method?', '6', '0', '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 ('Login ID', 'MODULE_PAYMENT_ISECURE_USD_LOGIN', '0', 'Your USD Merchant ID assigned by Internet Secure', '6', '0', now())");
    // Future: set_function, use_function ... 'zen_cfg_password_input(', 'zen_cfg_password_display'
    $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added)
    values ('Transaction Mode', 'MODULE_PAYMENT_ISECURE_USD_TESTMODE', 'Test or Live', 'Transaction mode to use for the InternetSecure service', '6', '11', 'zen_cfg_select_option(array(\'Test Mode - Declined\', \'Test Mode - Approved\', \'LIVE\'), ', now())");
    $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Request CVV Number', 'MODULE_PAYMENT_ISECURE_USD_USE_CVV', 'True', 'Do you want to ask the customer for the card\'s CVV number', '6', '0', '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_ISECURE_USD_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, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_ISECURE_USD_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_ISECURE_USD_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())");
    }
    /**
    * Remove the module and all its settings
    *
    */
    function remove() {
    global $db;
    $db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
    }
    /**
    * Internal list of configuration keys used for configuration of the module
    *
    * @return array
    */
    function keys() {
    return array('MODULE_PAYMENT_ISECURE_USD_STATUS', 'MODULE_PAYMENT_ISECURE_USD_LOGIN', 'MODULE_PAYMENT_ISECURE_USD_TESTMODE', 'MODULE_PAYMENT_ISECURE_USD_USE_CVV', 'MODULE_PAYMENT_ISECURE_USD_SORT_ORDER', 'MODULE_PAYMENT_ISECURE_USD_ZONE', 'MODULE_PAYMENT_ISECURE_USD_ORDER_STATUS_ID');
    }
    }
    ?>
    Does anyone know what I'd need to add in there to make it be based on USD currency?

    TIA!
    Danielle

  7. #77
    Join Date
    Aug 2005
    Posts
    62
    Plugin Contributions
    0

    Default Re: InternetSecure

    The new module works great! Thanks!

    I'm wondering about the export script that I turned on in the Internet Secure admin. I couldn't tell from the readme what this is supposed to do exactly. Is it supposed to send an additional notification to the shop owner or to the Zen Cart admin when the shopper finishes the payment transaction on the Internet Secure pages?

  8. #78
    Join Date
    Oct 2004
    Posts
    1,045
    Plugin Contributions
    0

    Default Re: InternetSecure

    OK, I have the Merchant Direct version of Internet Secure working for both US and Canadian currencies. What this means is that when your customers checkout, they will enter their credit card information directly on the payment page. It will then be billed when they press the Confirm button at the end of checkout. They no longer have to continue on to the payment page after checkout. You will only receive a zencart order confirmation if the credit card is successfully billed. If the credit card is declined, the customer will be returned to step 2 of checkout to try again or choose another payment method. I have also included an optional mod for Interac Online. You must have this activated on your account by Internet Secure before you can use it. Interac Online does not use the Merchant Direct method yet as Internet Secure does not support that yet. Apparently it is coming soon, at which point I'll update the mod. This isn't posted in the downloads section yet. I'd like to get a few people to try it first and let me know their thoughts. I'm currently using it successfully in my live store. The one thing I haven't been able to make work is the test mode feature. You will have to use a real card to test it. Other then that it works great. If anyone can get the test mode working that would be great!

    Please PM me if you'd like to try the new mod.
    Danielle

  9. #79
    Join Date
    Mar 2005
    Location
    Waterloo, Ontario
    Posts
    32
    Plugin Contributions
    0

    Default Re: InternetSecure

    Quote Originally Posted by camay123 View Post
    I have installed it.

    Tested it in Live mode. It does seem to communicate with server. However, I am unable to finish a transaction. I get this :

    TRANSACTION type NOT ALLOWED - Your credit card could not be authorized for this reason. Please correct any information and try again or contact us for further assistance.

    Further down it says that my billing adress does not match.

    I dont know if it's a bug, or it's because im in the process of moving, but that shouldnt be since I made my adress change with visa effective last saturday.
    I am getting the exact same error.

    I think I followed the instructions properly to modify the authorizenet_aim.php file but I am not 100&#37; sure. I basically just modified line 380 to be this:

    $url = 'https://secure.internetsecure.com/process.cgi';

    instead of this:

    $url = 'https://secure.authorize.net/gateway/transact.dll';

    Then, I went into the admin panel of Zencart, installed the Authorize.net AIM payment method, added my login ID to the appropriate box and made it so that the card info isn't saved.

    Danielle, do you know if anything more needs to be done for the authorize.net AIM setup to work with Internet Secure?

    I see near the bottom of the Internet secure instructions, it says:

    "Once your cart is set-up, you will need to email your IP address to so that we can add it to your profile and therefore recognize your transaction requests when they come through. At that time, we'll also test your integration to ensure that it is connecting correctly."

    Did you send them your IP Address at all?

    PS I am running Internet Secure in Test mode right now

  10. #80
    Join Date
    Mar 2005
    Location
    Waterloo, Ontario
    Posts
    32
    Plugin Contributions
    0

    Default Re: InternetSecure

    UPDATE:

    I changed the Authorize.net AIM settings in the admin panel so that the Authorization Type was "Authorize/Capture" and it is now no longer saying invalid transaction type. Instead, it is giving me an error message saying:

    "Access denied from 'xxx.190.145.240' - Your credit card could not be authorized for this reason. Please correct any information and try again or contact us for further assistance."

    Note: I added the xxx for privacy protection.

    Not sure if this info is helpful or not. I have sent Internet Secure the IP address and asked if they could attach it to my account. I guess i'll just wait to hear back for now.

 

 
Page 8 of 9 FirstFirst ... 6789 LastLast

Similar Threads

  1. InternetSecure Installation Instructions
    By momopopo in forum Built-in Shipping and Payment Modules
    Replies: 0
    Last Post: 30 Jul 2006, 03:04 AM
  2. InternetSecure Payment Module RC V3.00 Release
    By IntelCos in forum Addon Payment Modules
    Replies: 0
    Last Post: 4 Jun 2006, 05:22 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