📄 paypalwpp.php
字号:
<?php
/**
* paypalwpp.php payment module class for Paypal Express Checkout / Website Payments Pro / Payflow Pro payment methods
*
* @package paymentMethod
* @copyright Copyright 2003-2007 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: paypalwpp.php 7620 2007-12-11 19:12:46Z drbyte $
*/
/**
* load the communications layer code
*/
require_once(DIR_FS_CATALOG . DIR_WS_MODULES . 'payment/paypal/paypal_curl.php');
/**
* the PayPal payment module with Express Checkout
*
* currently supports US-NVP
*
*/
class paypalwpp extends base {
/**
* name of this module
*
* @var string
*/
var $code;
/**
* displayed module title
*
* @var string
*/
var $title;
/**
* displayed module description
*
* @var string
*/
var $description;
/**
* module status - set based on various config and zone criteria
*
* @var string
*/
var $enabled;
/**
* the zone to which this module is restricted for use
*
* @var string
*/
var $zone;
/**
* array holding accepted DP/gateway card types
*
* @var array
*/
var $cards = array();
/**
* JS code used for gateway/DP mode
*
* @var string
*/
var $cc_type_javascript = '';
/**
* JS code used for gateway/DP mode
*
* @var string
*/
var $cc_type_check = '';
/**
* debugging flag
*
* @var boolean
*/
var $enableDebugging = false;
/**
* is DP enabled ?
*
* @var boolean
*/
var $enableDirectPayment = false;
/**
* Determines whether payment page is displayed or not
*
* @var boolean
*/
var $showPaymentPage = false;
var $flagDisablePaymentAddressChange = false;
/**
* sort order of display
*
* @var int
*/
var $sort_order = 0;
/**
* Button Source / BN code -- enables the module to work for Zen Cart
*
* @var string
*/
var $buttonSourceEC = 'ZenCart-EC_us';
/**
* order status setting for pending orders
*
* @var int
*/
var $order_pending_status = 1;
/**
* order status setting for completed orders
*
* @var int
*/
var $order_status = DEFAULT_ORDERS_STATUS_ID;
/**
* Debug tools
*/
var $_logDir = 'includes/modules/payment/paypal/logs/';
var $_logLevel = 0;
/**
* class constructor
*/
function paypalwpp() {
include_once(zen_get_file_directory(DIR_FS_CATALOG . DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/payment/', 'paypalwpp.php', 'false'));
global $order;
$this->code = 'paypalwpp';
$this->codeTitle = MODULE_PAYMENT_PAYPALWPP_TEXT_ADMIN_TITLE_EC;
$this->codeVersion = '1.3.8a';
$this->enableDirectPayment = (MODULE_PAYMENT_PAYPALWPP_DIRECT_ENABLED == 'True');
$this->enabled = (MODULE_PAYMENT_PAYPALWPP_STATUS == 'True');
// Set the title & description text based on the mode we're in ... EC vs DP vs admin
if (IS_ADMIN_FLAG === true) {
$this->description = sprintf(MODULE_PAYMENT_PAYPALWPP_TEXT_ADMIN_DESCRIPTION, ' (rev' . $this->codeVersion . ')');
switch (MODULE_PAYMENT_PAYPALWPP_MODULE_MODE) {
case ('PayPal'):
if (MODULE_PAYMENT_PAYPALWPP_DIRECT_ENABLED == 'True') {
$this->title = MODULE_PAYMENT_PAYPALWPP_TEXT_ADMIN_TITLE_WPP;
} else {
$this->title = MODULE_PAYMENT_PAYPALWPP_TEXT_ADMIN_TITLE_EC;
}
break;
case ('Payflow-UK'):
$this->title = MODULE_PAYMENT_PAYPALWPP_TEXT_ADMIN_TITLE_PRO20;
break;
case ('Payflow-US'):
if (defined('MODULE_PAYMENT_PAYPALWPP_PAYFLOW_EC') && MODULE_PAYMENT_PAYPALWPP_PAYFLOW_EC == 'Yes') {
$this->title = MODULE_PAYMENT_PAYPALWPP_TEXT_ADMIN_TITLE_PF_EC;
} else {
$this->title = MODULE_PAYMENT_PAYPALWPP_TEXT_ADMIN_TITLE_PF_GATEWAY;
}
break;
default:
$this->title = MODULE_PAYMENT_PAYPALWPP_TEXT_ADMIN_TITLE_EC;
}
if ($this->enabled) {
if ( (MODULE_PAYMENT_PAYPALWPP_MODULE_MODE == 'PayPal' && (MODULE_PAYMENT_PAYPALWPP_APISIGNATURE == '' || MODULE_PAYMENT_PAYPALWPP_APIUSERNAME == '' || MODULE_PAYMENT_PAYPALWPP_APIPASSWORD == ''))
|| (substr(MODULE_PAYMENT_PAYPALWPP_MODULE_MODE,0,7) == 'Payflow' && (MODULE_PAYMENT_PAYPALWPP_PFPARTNER == '' || MODULE_PAYMENT_PAYPALWPP_PFVENDOR == '' || MODULE_PAYMENT_PAYPALWPP_PFUSER == '' || MODULE_PAYMENT_PAYPALWPP_PFPASSWORD == ''))
) $this->title .= '<span class="alert"><strong> NOT CONFIGURED YET</strong></span>';
if (MODULE_PAYMENT_PAYPALWPP_SERVER =='sandbox') $this->title .= '<strong><span class="alert"> (sandbox active)</span></strong>';
if (MODULE_PAYMENT_PAYPALWPP_DEBUGGING =='Log File' || MODULE_PAYMENT_PAYPALWPP_DEBUGGING =='Log and Email') $this->title .= '<strong> (Debug)</strong>';
if (!function_exists('curl_init')) $this->title .= '<strong><span class="alert"> CURL NOT FOUND. Cannot Use.</span></strong>';
}
} else {
$this->description = MODULE_PAYMENT_PAYPALWPP_TEXT_DESCRIPTION;
$this->title = MODULE_PAYMENT_PAYPALWPP_EC_TEXT_TITLE; //pp
if (!$this->in_special_checkout() && $this->enableDirectPayment == true) {
$this->title = MODULE_PAYMENT_PAYPALWPP_TEXT_TITLE; //cc
}
}
if ((!defined('PAYPAL_OVERRIDE_CURL_WARNING') || (defined('PAYPAL_OVERRIDE_CURL_WARNING') && PAYPAL_OVERRIDE_CURL_WARNING != 'True')) && !function_exists('curl_init')) $this->enabled = false;
$this->enableDebugging = (MODULE_PAYMENT_PAYPALWPP_DEBUGGING == 'Log File' || MODULE_PAYMENT_PAYPALWPP_DEBUGGING =='Log and Email');
$this->emailAlerts = (MODULE_PAYMENT_PAYPALWPP_DEBUGGING == 'Log File' || MODULE_PAYMENT_PAYPALWPP_DEBUGGING =='Log and Email' || MODULE_PAYMENT_PAYPALWPP_DEBUGGING == 'Alerts Only');
$this->doDPonly = (MODULE_PAYMENT_PAYPALWPP_MODULE_MODE =='Payflow-US' && !(defined('MODULE_PAYMENT_PAYPALWPP_PAYFLOW_EC') && MODULE_PAYMENT_PAYPALWPP_PAYFLOW_EC == 'Yes'));
$this->showPaymentPage = (MODULE_PAYMENT_PAYPALWPP_SKIP_PAYMENT_PAGE == 'No') ? true : false;
$this->sort_order = MODULE_PAYMENT_PAYPALWPP_SORT_ORDER;
$this->buttonSourceEC = 'ZenCart-EC_us';
$this->buttonSourceDP = 'ZenCart-DP_us';
if (MODULE_PAYMENT_PAYPALWPP_MODULE_MODE == 'Payflow-UK') {
$this->buttonSourceEC = 'ZenCart-EC_uk';
$this->buttonSourceDP = 'ZenCart-DP_uk';
}
if (MODULE_PAYMENT_PAYPALWPP_MODULE_MODE == 'Payflow-US') {
$this->buttonSourceEC = 'ZenCart-ECGW_us';
$this->buttonSourceDP = 'ZenCart-GW_us';
}
$this->order_pending_status = MODULE_PAYMENT_PAYPALWPP_ORDER_PENDING_STATUS_ID;
if ((int)MODULE_PAYMENT_PAYPALWPP_ORDER_STATUS_ID > 0) {
$this->order_status = MODULE_PAYMENT_PAYPALWPP_ORDER_STATUS_ID;
}
$this->new_acct_notify = MODULE_PAYMENT_PAYPALWPP_NEW_ACCT_NOTIFY;
$this->zone = (int)MODULE_PAYMENT_PAYPALWPP_ZONE;
if (is_object($order)) $this->update_status();
if (PROJECT_VERSION_MAJOR != '1' && substr(PROJECT_VERSION_MINOR, 0, 3) != '3.8') $this->enabled = false;
// offer credit card choices for pull-down menu -- only needed for UK version
$this->cards = array();
if (MODULE_PAYMENT_PAYPALWPP_MODULE_MODE == 'Payflow-UK') {
if (CC_ENABLED_VISA=='1') $this->cards[] = array('id' => 'Visa', 'text' => 'Visa');
if (CC_ENABLED_MC=='1') $this->cards[] = array('id' => 'MasterCard', 'text' => 'MasterCard');
if (CC_ENABLED_MAESTRO=='1') $this->cards[] = array('id' => 'Maestro', 'text' => 'Maestro');
if (CC_ENABLED_SWITCH=='1') $this->cards[] = array('id' => 'Switch', 'text' => 'Switch');
if (CC_ENABLED_SOLO=='1') $this->cards[] = array('id' => 'Solo', 'text' => 'Solo');
}
// if operating in markflow mode, start EC process when submitting order
if (!$this->in_special_checkout() && $this->enableDirectPayment == false) {
$this->form_action_url = zen_href_link('ipn_main_handler.php', 'type=ec&markflow=1&clearSess=1&stage=final', 'SSL', true, true, true);
}
// debug setup
if (!@is_writable($this->_logDir)) $this->_logDir = DIR_FS_CATALOG . $this->_logDir;
if (!@is_writable($this->_logDir)) $this->_logDir = DIR_FS_SQL_CACHE;
// Regular mode:
if ($this->enableDebugging) $this->_logLevel = PEAR_LOG_INFO;
// DEV MODE:
if (defined('PAYPAL_DEV_MODE') && PAYPAL_DEV_MODE == 'true') $this->_logLevel = PEAR_LOG_DEBUG;
if (IS_ADMIN_FLAG === true) $this->tableCheckup();
}
/**
* Sets payment module status based on zone restrictions etc
*/
function update_status() {
global $order, $db;
if ($this->enabled && (int)$this->zone > 0) {
$check_flag = false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -