📄 authorizenet.php
字号:
<?php/* $Id: authorizenet.php,v 1.4 2004/03/05 00:36:42 ccwjr Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce */// define('FILENAME_AUTHORIZENET_HELP', 'authnet_help.html'); class authorizenet { var $code, $title, $description, $enabled, $sort_order; var $accepted_cc, $card_types, $allowed_types;// class constructor function authorizenet() { global $order; $this->code = 'authorizenet'; $this->title = MODULE_PAYMENT_AUTHORIZENET_TEXT_TITLE; $this->description = MODULE_PAYMENT_AUTHORIZENET_TEXT_DESCRIPTION; $this->sort_order = MODULE_PAYMENT_AUTHORIZENET_SORT_ORDER; $this->enabled = ((MODULE_PAYMENT_AUTHORIZENET_STATUS == 'True') ? true : false); $this->accepted_cc = MODULE_PAYMENT_AUTHORIZENET_ACCEPTED_CC; if ((int)MODULE_PAYMENT_AUTHORIZENET_ORDER_STATUS_ID > 0) { $this->order_status = MODULE_PAYMENT_AUTHORIZENET_ORDER_STATUS_ID; } if (is_object($order)) $this->update_status(); //array for credit card selection $this->card_types = array('Amex' => MODULE_PAYMENT_AUTHORIZENET_TEXT_AMEX, 'Mastercard' => MODULE_PAYMENT_AUTHORIZENET_TEXT_MASTERCARD, 'Discover' => MODULE_PAYMENT_AUTHORIZENET_TEXT_DISCOVER, 'Visa' => MODULE_PAYMENT_AUTHORIZENET_TEXT_VISA); $this->allowed_types = array(); // Credit card pulldown list $cc_array = explode(', ', MODULE_PAYMENT_AUTHORIZENET_ACCEPTED_CC); while (list($key, $value) = each($cc_array)) { $this->allowed_types[$value] = $this->card_types[$value]; } // Processing via Authorize.net AIM $this->form_action_url = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL', false); }// class methods function update_status() { global $order; if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_AUTHORIZENET_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_AUTHORIZENET_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; } } }//concatenate to get CC imagesfunction get_cc_images() { $cc_images = ''; reset($this->allowed_types); while (list($key, $value) = each($this->allowed_types)) { $cc_images .= tep_image(DIR_WS_ICONS . $key . '.gif', $value); } return $cc_images;}function javascript_validation() { if(MODULE_PAYMENT_AUTHORIZENET_CCV == 'True' ) { $js = ' if (payment_value == "' . $this->code . '") {' . "\n" . ' var cc_owner = document.checkout_payment.authorizenet_cc_owner.value;' . "\n" . ' var cc_number = document.checkout_payment.authorizenet_cc_number.value;' . "\n" . ' var cc_cvv = document.checkout_payment.cvv.value;' . "\n" . ' if (cc_owner == "" || cc_owner.length < ' . CC_OWNER_MIN_LENGTH . ') {' . "\n" . ' error_message = error_message + "' . MODULE_PAYMENT_AUTHORIZENET_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_AUTHORIZENET_TEXT_JS_CC_NUMBER . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n" . ' if (cc_cvv != "" && cc_cvv.length < "3") {' . "\n". ' error_message = error_message + "' . MODULE_PAYMENT_AUTHORIZENET_TEXT_JS_CC_CVV . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n" . ' }' . "\n"; }else{ $js = ' if (payment_value == "' . $this->code . '") {' . "\n" . ' var cc_owner = document.checkout_payment.authorizenet_cc_owner.value;' . "\n" . ' var cc_number = document.checkout_payment.authorizenet_cc_number.value;' . "\n" . ' var cc_cvv = document.checkout_payment.cvv.value;' . "\n" . ' if (cc_owner == "" || cc_owner.length < ' . CC_OWNER_MIN_LENGTH . ') {' . "\n" . ' error_message = error_message + "' . MODULE_PAYMENT_AUTHORIZENET_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_AUTHORIZENET_TEXT_JS_CC_NUMBER . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n" . ' }' . "\n"; } return $js; } function selection() { global $order; reset($this->allowed_types); while (list($key, $value) = each($this->allowed_types)) { $card_menu[] = array('id' => $key, 'text' => $value); } 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))); }if(MODULE_PAYMENT_AUTHORIZENET_CCV == 'True' ) { $selection = array('id' => $this->code, 'module' => $this->title . ' ' . $this->get_cc_images(), 'fields' => array(array('title' => MODULE_PAYMENT_AUTHORIZENET_TEXT_CREDIT_CARD_TYPE, 'field' => tep_draw_pull_down_menu('credit_card_type', $card_menu)), array('title' => MODULE_PAYMENT_AUTHORIZENET_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field('authorizenet_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])), array('title' => MODULE_PAYMENT_AUTHORIZENET_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('authorizenet_cc_number')), array('title' => MODULE_PAYMENT_AUTHORIZENET_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('authorizenet_cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('authorizenet_cc_expires_year', $expires_year)), array('title' => 'CVV number ' . ' ' .'<a href="javascript:CVVPopUpWindow(\'' . tep_href_link('cvv.html') . '\')">' . '<u><i>' . '(' . MODULE_PAYMENT_AUTHORIZENET_TEXT_CVV_LINK . ')' . '</i></u></a>', 'field' => tep_draw_input_field('cvv','',"SIZE=4, MAXLENGTH=4")))); }else{$selection = array('id' => $this->code, 'module' => $this->title . ' ' . $this->get_cc_images(), 'fields' => array(array('title' => MODULE_PAYMENT_AUTHORIZENET_TEXT_CREDIT_CARD_TYPE, 'field' => tep_draw_pull_down_menu('credit_card_type', $card_menu)), array('title' => MODULE_PAYMENT_AUTHORIZENET_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field('authorizenet_cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])), array('title' => MODULE_PAYMENT_AUTHORIZENET_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('authorizenet_cc_number')), array('title' => MODULE_PAYMENT_AUTHORIZENET_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('authorizenet_cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('authorizenet_cc_expires_year', $expires_year)))); } return $selection; } function pre_confirmation_check() { global $HTTP_POST_VARS, $cvv; include(DIR_WS_CLASSES . 'cc_validation.php'); $cc_validation = new cc_validation(); if(MODULE_PAYMENT_AUTHORIZENET_CCV == 'True' ) { $result = $cc_validation->validate($HTTP_POST_VARS['authorizenet_cc_number'], $HTTP_POST_VARS['authorizenet_cc_expires_month'], $HTTP_POST_VARS['authorizenet_cc_expires_year'], $HTTP_POST_VARS['cvv'], $HTTP_POST_VARS['credit_card_type']); } else { $result = $cc_validation->validate($HTTP_POST_VARS['authorizenet_cc_number'], $HTTP_POST_VARS['authorizenet_cc_expires_month'], $HTTP_POST_VARS['authorizenet_cc_expires_year']); } $error = ''; switch ($result) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -