Version Notes
Support multi-currency
Download this release
Release Info
Developer | Eric Benayoun |
Extension | payitsimplepayment |
Version | 2.0.3 |
Comparing to | |
See all releases |
Code changes from version 2.0.2 to 2.0.3
- app/code/community/Cm/RedisSession/Model/Session.php +0 -695
- app/code/community/Cm/RedisSession/etc/config.xml +0 -48
- app/code/community/Phoenix/Moneybookers/Block/Form.php +0 -93
- app/code/community/Phoenix/Moneybookers/Block/Info.php +0 -51
- app/code/community/Phoenix/Moneybookers/Block/Jsinit.php +0 -49
- app/code/community/Phoenix/Moneybookers/Block/Payment.php +0 -39
- app/code/community/Phoenix/Moneybookers/Block/Placeform.php +0 -67
- app/code/community/Phoenix/Moneybookers/Block/Redirect.php +0 -30
- app/code/community/Phoenix/Moneybookers/Helper/Data.php +0 -130
- app/code/community/Phoenix/Moneybookers/Model/Abstract.php +0 -208
- app/code/community/Phoenix/Moneybookers/Model/Acc.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Csi.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Did.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Dnk.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Ebt.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Ent.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Event.php +0 -274
- app/code/community/Phoenix/Moneybookers/Model/Gcb.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Gir.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Idl.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Lsr.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Mae.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Npy.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Obt.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Pli.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Psp.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Pwy.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Sft.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/So2.php +0 -27
- app/code/community/Phoenix/Moneybookers/Model/Wlt.php +0 -28
- app/code/community/Phoenix/Moneybookers/controllers/MoneybookersController.php +0 -97
- app/code/community/Phoenix/Moneybookers/controllers/ProcessingController.php +0 -146
- app/code/community/Phoenix/Moneybookers/etc/config.xml +0 -306
- app/code/community/Phoenix/Moneybookers/etc/system.xml +0 -1201
- app/code/community/Phoenix/Moneybookers/sql/moneybookers_setup/install-1.6.0.0.php +0 -22
- app/code/community/Phoenix/Moneybookers/sql/moneybookers_setup/mysql4-upgrade-1.2-1.2.0.1.php +0 -41
- app/design/adminhtml/default/default/layout/payitsimple_notification.xml +9 -0
- app/design/adminhtml/default/default/template/payitsimple/system/config/button.phtml +14 -0
- app/design/adminhtml/default/default/template/payitsimple/system/config/notification.phtml +5 -0
- app/design/frontend/base/default/layout/pis_payment.xml +29 -0
- app/design/frontend/base/default/template/payitsimple/form/method_faq.phtml +4 -0
- app/design/frontend/base/default/template/payitsimple/form/pis.phtml +84 -0
- app/design/frontend/base/default/template/payitsimple/help.phtml +8 -0
- app/design/frontend/base/default/template/payitsimple/terms.phtml +102 -0
- app/etc/modules/PayItSimple_Payment.xml +9 -0
- package.xml +5 -7
app/code/community/Cm/RedisSession/Model/Session.php
DELETED
@@ -1,695 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/*
|
3 |
-
==New BSD License==
|
4 |
-
|
5 |
-
Copyright (c) 2013, Colin Mollenhour
|
6 |
-
All rights reserved.
|
7 |
-
|
8 |
-
Redistribution and use in source and binary forms, with or without
|
9 |
-
modification, are permitted provided that the following conditions are met:
|
10 |
-
|
11 |
-
* Redistributions of source code must retain the above copyright
|
12 |
-
notice, this list of conditions and the following disclaimer.
|
13 |
-
* Redistributions in binary form must reproduce the above copyright
|
14 |
-
notice, this list of conditions and the following disclaimer in the
|
15 |
-
documentation and/or other materials provided with the distribution.
|
16 |
-
* The name of Colin Mollenhour may not be used to endorse or promote products
|
17 |
-
derived from this software without specific prior written permission.
|
18 |
-
* Redistributions in any form must not change the Cm_RedisSession namespace.
|
19 |
-
|
20 |
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
21 |
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
22 |
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
23 |
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
|
24 |
-
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
25 |
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
26 |
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
27 |
-
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
28 |
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
29 |
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
30 |
-
*/
|
31 |
-
/**
|
32 |
-
* Redis session handler with optimistic locking.
|
33 |
-
*
|
34 |
-
* Features:
|
35 |
-
* - Falls back to mysql handler if it can't connect to redis. Mysql handler falls back to file handler.
|
36 |
-
* - When a session's data exceeds the compression threshold the session data will be compressed.
|
37 |
-
* - Compression libraries supported are 'gzip', 'lzf', 'lz4' and 'snappy'.
|
38 |
-
* - Compression can be enabled, disabled, or reconfigured on the fly with no loss of session data.
|
39 |
-
* - Expiration is handled by Redis. No garbage collection needed.
|
40 |
-
* - Logs when sessions are not written due to not having or losing their lock.
|
41 |
-
* - Limits the number of concurrent lock requests before a 503 error is returned.
|
42 |
-
*
|
43 |
-
* Locking Algorithm Properties:
|
44 |
-
* - Only one process may get a write lock on a session.
|
45 |
-
* - A process may lose it's lock if another process breaks it, in which case the session will not be written.
|
46 |
-
* - The lock may be broken after BREAK_AFTER seconds and the process that gets the lock is indeterminate.
|
47 |
-
* - Only MAX_CONCURRENCY processes may be waiting for a lock for the same session or else a 503 error is returned.
|
48 |
-
* - Detects crashed processes to prevent session deadlocks (Linux only).
|
49 |
-
* - Detects inactive waiting processes to prevent false-positives in concurrency throttling.
|
50 |
-
*
|
51 |
-
*/
|
52 |
-
class Cm_RedisSession_Model_Session extends Mage_Core_Model_Mysql4_Session
|
53 |
-
{
|
54 |
-
const SLEEP_TIME = 500000; /* Sleep 0.5 seconds between lock attempts (1,000,000 == 1 second) */
|
55 |
-
const FAIL_AFTER = 15; /* Try to break lock for at most this many seconds */
|
56 |
-
const DETECT_ZOMBIES = 20; /* Try to detect zombies every this many tries */
|
57 |
-
const SESSION_PREFIX = 'sess_';
|
58 |
-
const LOG_FILE = 'redis_session.log';
|
59 |
-
|
60 |
-
/* Bots get shorter session lifetimes */
|
61 |
-
const BOT_REGEX = '/^alexa|^blitz\.io|bot|^browsermob|crawl|^curl|^facebookexternalhit|feed|google web preview|^ia_archiver|indexer|^java|jakarta|^libwww-perl|^load impact|^magespeedtest|monitor|^Mozilla$|nagios|^\.net|^pinterest|postrank|slurp|spider|uptime|^wget|yandex/i';
|
62 |
-
|
63 |
-
const DEFAULT_TIMEOUT = 2.5;
|
64 |
-
const DEFAULT_COMPRESSION_THRESHOLD = 2048;
|
65 |
-
const DEFAULT_COMPRESSION_LIB = 'gzip';
|
66 |
-
const DEFAULT_LOG_LEVEL = 1;
|
67 |
-
const DEFAULT_MAX_CONCURRENCY = 6; /* The maximum number of concurrent lock waiters per session */
|
68 |
-
const DEFAULT_BREAK_AFTER = 30; /* Try to break the lock after this many seconds */
|
69 |
-
const DEFAULT_FIRST_LIFETIME = 600; /* The session lifetime for non-bots on the first write */
|
70 |
-
const DEFAULT_BOT_FIRST_LIFETIME = 60; /* The session lifetime for bots on the first write */
|
71 |
-
const DEFAULT_BOT_LIFETIME = 7200; /* The session lifetime for bots - shorter to prevent bots from wasting backend storage */
|
72 |
-
const DEFAULT_DISABLE_LOCKING = FALSE; /* Session locking is enabled by default */
|
73 |
-
const DEFAULT_MAX_LIFETIME = 2592000; /* Redis backend limit */
|
74 |
-
const DEFAULT_MIN_LIFETIME = 60;
|
75 |
-
|
76 |
-
/** @var bool */
|
77 |
-
protected $_useRedis;
|
78 |
-
|
79 |
-
/** @var Credis_Client */
|
80 |
-
protected $_redis;
|
81 |
-
|
82 |
-
/** @var int */
|
83 |
-
protected $_dbNum;
|
84 |
-
|
85 |
-
protected $_config;
|
86 |
-
protected $_compressionThreshold;
|
87 |
-
protected $_compressionLib;
|
88 |
-
protected $_logLevel;
|
89 |
-
protected $_maxConcurrency;
|
90 |
-
protected $_breakAfter;
|
91 |
-
protected $_useLocking;
|
92 |
-
protected $_hasLock;
|
93 |
-
protected $_sessionWritten; // avoid infinite loops
|
94 |
-
protected $_sessionWrites; // set expire time based on activity
|
95 |
-
protected $_maxLifetime;
|
96 |
-
protected $_minLifetime;
|
97 |
-
|
98 |
-
static public $failedLockAttempts = 0; // for debug or informational purposes
|
99 |
-
|
100 |
-
public function __construct()
|
101 |
-
{
|
102 |
-
$this->_config = $config = Mage::getConfig()->getNode('global/redis_session');
|
103 |
-
if (!$config) {
|
104 |
-
$this->_useRedis = FALSE;
|
105 |
-
Mage::log('Redis configuration does not exist, falling back to MySQL handler.', Zend_Log::EMERG);
|
106 |
-
parent::__construct();
|
107 |
-
return;
|
108 |
-
}
|
109 |
-
|
110 |
-
$this->_logLevel = ((int) $config->descend('log_level') ?: self::DEFAULT_LOG_LEVEL);
|
111 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
112 |
-
$timeStart = microtime(true);
|
113 |
-
}
|
114 |
-
|
115 |
-
// Database config
|
116 |
-
$host = ((string) $config->descend('host') ?: '127.0.0.1');
|
117 |
-
$port = ((int) $config->descend('port') ?: '6379');
|
118 |
-
$pass = ((string) $config->descend('password') ?: '');
|
119 |
-
$timeout = ((float) $config->descend('timeout') ?: self::DEFAULT_TIMEOUT);
|
120 |
-
$persistent = ((string) $config->descend('persistent') ?: '');
|
121 |
-
$this->_dbNum = ((int) $config->descend('db') ?: 0);
|
122 |
-
|
123 |
-
// General config
|
124 |
-
$this->_compressionThreshold = ((int) $config->descend('compression_threshold') ?: self::DEFAULT_COMPRESSION_THRESHOLD);
|
125 |
-
$this->_compressionLib = ((string) $config->descend('compression_lib') ?: self::DEFAULT_COMPRESSION_LIB);
|
126 |
-
$this->_maxConcurrency = ((int) $config->descend('max_concurrency') ?: self::DEFAULT_MAX_CONCURRENCY);
|
127 |
-
$this->_breakAfter = ((float) $config->descend('break_after_'.session_name()) ?: self::DEFAULT_BREAK_AFTER);
|
128 |
-
$this->_maxLifetime = ((int) $config->descend('max_lifetime') ?: self::DEFAULT_MAX_LIFETIME);
|
129 |
-
$this->_minLifetime = ((int) $config->descend('min_lifetime') ?: self::DEFAULT_MIN_LIFETIME);
|
130 |
-
$this->_useLocking = defined('CM_REDISSESSION_LOCKING_ENABLED')
|
131 |
-
? CM_REDISSESSION_LOCKING_ENABLED
|
132 |
-
: ! ((int) $config->descend('disable_locking') ?: self::DEFAULT_DISABLE_LOCKING);
|
133 |
-
|
134 |
-
// Use sleep time multiplier so break time is in seconds
|
135 |
-
$this->_breakAfter = (int) round((1000000 / self::SLEEP_TIME) * $this->_breakAfter);
|
136 |
-
$this->_failAfter = (int) round((1000000 / self::SLEEP_TIME) * self::FAIL_AFTER);
|
137 |
-
|
138 |
-
// Connect and authenticate
|
139 |
-
$this->_redis = new Credis_Client($host, $port, $timeout, $persistent);
|
140 |
-
if (!empty($pass)) {
|
141 |
-
$this->_redis->auth($pass) or Zend_Cache::throwException('Unable to authenticate with the redis server.');
|
142 |
-
}
|
143 |
-
$this->_redis->setCloseOnDestruct(FALSE); // Destructor order cannot be predicted
|
144 |
-
$this->_useRedis = TRUE;
|
145 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
146 |
-
$this->_log(sprintf("%s initialized for connection to %s:%s after %.5f seconds",
|
147 |
-
get_class($this), $host, $port, (microtime(true) - $timeStart)
|
148 |
-
));
|
149 |
-
}
|
150 |
-
}
|
151 |
-
|
152 |
-
/**
|
153 |
-
* @param $msg
|
154 |
-
* @param $level
|
155 |
-
*/
|
156 |
-
protected function _log($msg, $level = Zend_Log::DEBUG)
|
157 |
-
{
|
158 |
-
Mage::log("{$this->_getPid()}: $msg", $level, self::LOG_FILE);
|
159 |
-
}
|
160 |
-
|
161 |
-
/**
|
162 |
-
* Check DB connection
|
163 |
-
*
|
164 |
-
* @return bool
|
165 |
-
*/
|
166 |
-
public function hasConnection()
|
167 |
-
{
|
168 |
-
if( ! $this->_useRedis) return parent::hasConnection();
|
169 |
-
|
170 |
-
try {
|
171 |
-
$this->_redis->connect();
|
172 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
173 |
-
$this->_log("Connected to Redis");
|
174 |
-
}
|
175 |
-
return TRUE;
|
176 |
-
}
|
177 |
-
catch (Exception $e) {
|
178 |
-
Mage::logException($e);
|
179 |
-
$this->_redis = NULL;
|
180 |
-
Mage::log('Unable to connect to Redis; falling back to MySQL handler', Zend_Log::EMERG);
|
181 |
-
|
182 |
-
// Fall-back to MySQL handler. If this fails, the file handler will be used.
|
183 |
-
$this->_useRedis = FALSE;
|
184 |
-
parent::__construct();
|
185 |
-
return parent::hasConnection();
|
186 |
-
}
|
187 |
-
}
|
188 |
-
|
189 |
-
/**
|
190 |
-
* Fetch session data
|
191 |
-
*
|
192 |
-
* @param string $sessionId
|
193 |
-
* @return string
|
194 |
-
*/
|
195 |
-
public function read($sessionId)
|
196 |
-
{
|
197 |
-
if ( ! $this->_useRedis) return parent::read($sessionId);
|
198 |
-
Varien_Profiler::start(__METHOD__);
|
199 |
-
|
200 |
-
// Get lock on session. Increment the "lock" field and if the new value is 1, we have the lock.
|
201 |
-
$sessionId = self::SESSION_PREFIX.$sessionId;
|
202 |
-
$tries = $waiting = $lock = 0;
|
203 |
-
$lockPid = $oldLockPid = NULL; // Restart waiting for lock when current lock holder changes
|
204 |
-
$detectZombies = FALSE;
|
205 |
-
if ($this->_logLevel >= Zend_Log::WARN) {
|
206 |
-
$timeStart = microtime(true);
|
207 |
-
}
|
208 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
209 |
-
$this->_log(sprintf("Attempting to take lock on ID %s", $sessionId));
|
210 |
-
}
|
211 |
-
$this->_redis->select($this->_dbNum);
|
212 |
-
while ($this->_useLocking)
|
213 |
-
{
|
214 |
-
// Increment lock value for this session and retrieve the new value
|
215 |
-
$oldLock = $lock;
|
216 |
-
$lock = $this->_redis->hIncrBy($sessionId, 'lock', 1);
|
217 |
-
|
218 |
-
// Get the pid of the process that has the lock
|
219 |
-
if ($lock != 1 && $tries + 1 >= $this->_breakAfter) {
|
220 |
-
$lockPid = $this->_redis->hGet($sessionId, 'pid');
|
221 |
-
}
|
222 |
-
|
223 |
-
// If we got the lock, update with our pid and reset lock and expiration
|
224 |
-
if ( $lock == 1 // We actually do have the lock
|
225 |
-
|| (
|
226 |
-
$tries >= $this->_breakAfter // We are done waiting and want to start trying to break it
|
227 |
-
&& $oldLockPid == $lockPid // Nobody else got the lock while we were waiting
|
228 |
-
)
|
229 |
-
) {
|
230 |
-
$this->_hasLock = TRUE;
|
231 |
-
break;
|
232 |
-
}
|
233 |
-
|
234 |
-
// Otherwise, add to "wait" counter and continue
|
235 |
-
else if ( ! $waiting) {
|
236 |
-
$i = 0;
|
237 |
-
do {
|
238 |
-
$waiting = $this->_redis->hIncrBy($sessionId, 'wait', 1);
|
239 |
-
} while (++$i < $this->_maxConcurrency && $waiting < 1);
|
240 |
-
}
|
241 |
-
|
242 |
-
// Handle overloaded sessions
|
243 |
-
else {
|
244 |
-
// Detect broken sessions (e.g. caused by fatal errors)
|
245 |
-
if ($detectZombies) {
|
246 |
-
$detectZombies = FALSE;
|
247 |
-
if ( $lock > $oldLock // lock shouldn't be less than old lock (another process broke the lock)
|
248 |
-
&& $lock + 1 < $oldLock + $waiting // lock should be old+waiting, otherwise there must be a dead process
|
249 |
-
) {
|
250 |
-
// Reset session to fresh state
|
251 |
-
if ($this->_logLevel >= Zend_Log::INFO) {
|
252 |
-
$this->_log(sprintf(
|
253 |
-
"Detected zombie waiter after %.5f seconds for ID %s (%d waiting)\n %s (%s - %s)",
|
254 |
-
(microtime(true) - $timeStart),
|
255 |
-
$sessionId, $waiting,
|
256 |
-
Mage::app()->getRequest()->getRequestUri(), Mage::app()->getRequest()->getClientIp(), Mage::app()->getRequest()->getHeader('User-Agent')
|
257 |
-
), Zend_Log::INFO);
|
258 |
-
}
|
259 |
-
$waiting = $this->_redis->hIncrBy($sessionId, 'wait', -1);
|
260 |
-
continue;
|
261 |
-
}
|
262 |
-
}
|
263 |
-
|
264 |
-
// Limit concurrent lock waiters to prevent server resource hogging
|
265 |
-
if ($waiting >= $this->_maxConcurrency) {
|
266 |
-
// Overloaded sessions get 503 errors
|
267 |
-
$this->_redis->hIncrBy($sessionId, 'wait', -1);
|
268 |
-
$this->_sessionWritten = TRUE; // Prevent session from getting written
|
269 |
-
$writes = $this->_redis->hGet($sessionId, 'writes');
|
270 |
-
if ($this->_logLevel >= Zend_Log::WARN) {
|
271 |
-
$this->_log(sprintf(
|
272 |
-
"Session concurrency exceeded for ID %s; displaying HTTP 503 (%s waiting, %s total requests)\n %s (%s - %s)",
|
273 |
-
$sessionId, $waiting, $writes,
|
274 |
-
Mage::app()->getRequest()->getRequestUri(), Mage::app()->getRequest()->getClientIp(), Mage::app()->getRequest()->getHeader('User-Agent')
|
275 |
-
), Zend_Log::WARN);
|
276 |
-
}
|
277 |
-
$this->_logLevel = -1; // Disable further logging
|
278 |
-
require_once(Mage::getBaseDir() . DS . 'errors' . DS . '503.php');
|
279 |
-
exit;
|
280 |
-
}
|
281 |
-
}
|
282 |
-
|
283 |
-
$tries++;
|
284 |
-
$oldLockPid = $lockPid;
|
285 |
-
$sleepTime = self::SLEEP_TIME;
|
286 |
-
|
287 |
-
// Detect dead lock waiters
|
288 |
-
if ($tries % self::DETECT_ZOMBIES == 1) {
|
289 |
-
$detectZombies = TRUE;
|
290 |
-
$sleepTime += 10000; // sleep + 0.01 seconds
|
291 |
-
}
|
292 |
-
// Detect dead lock holder every 10 seconds (only works on same node as lock holder)
|
293 |
-
if ($tries % self::DETECT_ZOMBIES == 0) {
|
294 |
-
Varien_Profiler::start(__METHOD__.'-detect-zombies');
|
295 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
296 |
-
$this->_log(sprintf(
|
297 |
-
"Checking for zombies after %.5f seconds of waiting...", (microtime(true) - $timeStart)
|
298 |
-
));
|
299 |
-
}
|
300 |
-
$pid = $this->_redis->hGet($sessionId, 'pid');
|
301 |
-
if ($pid && ! $this->_pidExists($pid)) {
|
302 |
-
// Allow a live process to get the lock
|
303 |
-
$this->_redis->hSet($sessionId, 'lock', 0);
|
304 |
-
if ($this->_logLevel >= Zend_Log::INFO) {
|
305 |
-
$this->_log(sprintf(
|
306 |
-
"Detected zombie process (%s) for %s (%s waiting)\n %s (%s - %s)",
|
307 |
-
$pid, $sessionId, $waiting,
|
308 |
-
Mage::app()->getRequest()->getRequestUri(), Mage::app()->getRequest()->getClientIp(), Mage::app()->getRequest()->getHeader('User-Agent')
|
309 |
-
), Zend_Log::INFO);
|
310 |
-
}
|
311 |
-
Varien_Profiler::stop(__METHOD__.'-detect-zombies');
|
312 |
-
continue;
|
313 |
-
}
|
314 |
-
Varien_Profiler::stop(__METHOD__.'-detect-zombies');
|
315 |
-
}
|
316 |
-
// Timeout
|
317 |
-
if ($tries >= $this->_breakAfter + $this->_failAfter) {
|
318 |
-
$this->_hasLock = FALSE;
|
319 |
-
if ($this->_logLevel >= Zend_Log::NOTICE) {
|
320 |
-
$this->_log(sprintf("Giving up on read lock for ID %s after %.5f seconds (%d attempts)", $sessionId, (microtime(true) - $timeStart), $tries), Zend_Log::NOTICE);
|
321 |
-
}
|
322 |
-
break;
|
323 |
-
}
|
324 |
-
else {
|
325 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
326 |
-
$this->_log(sprintf(
|
327 |
-
"Waiting %.2f seconds for lock on ID %s (%d tries, lock pid is %s, %.5f seconds elapsed)",
|
328 |
-
$sleepTime / 1000000, $sessionId, $tries, $lockPid, (microtime(true) - $timeStart)
|
329 |
-
));
|
330 |
-
}
|
331 |
-
Varien_Profiler::start(__METHOD__.'-wait');
|
332 |
-
usleep($sleepTime);
|
333 |
-
Varien_Profiler::stop(__METHOD__.'-wait');
|
334 |
-
}
|
335 |
-
}
|
336 |
-
self::$failedLockAttempts = $tries;
|
337 |
-
|
338 |
-
// Session can be read even if it was not locked by this pid!
|
339 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
340 |
-
$timeStart = microtime(true);
|
341 |
-
}
|
342 |
-
list($sessionData, $sessionWrites) = $this->_redis->hMGet($sessionId, array('data','writes'));
|
343 |
-
Varien_Profiler::stop(__METHOD__);
|
344 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
345 |
-
$this->_log(sprintf("Data read for ID %s in %.5f seconds", $sessionId, (microtime(true) - $timeStart)));
|
346 |
-
}
|
347 |
-
$this->_sessionWrites = (int) $sessionWrites;
|
348 |
-
|
349 |
-
$this->_redis->pipeline();
|
350 |
-
|
351 |
-
// This process is no longer waiting for a lock
|
352 |
-
if ($tries > 0) {
|
353 |
-
$this->_redis->hIncrBy($sessionId, 'wait', -1);
|
354 |
-
}
|
355 |
-
|
356 |
-
// This process has the lock, save the pid
|
357 |
-
if ($this->_hasLock) {
|
358 |
-
$setData = array(
|
359 |
-
'pid' => $this->_getPid(),
|
360 |
-
'lock' => 1,
|
361 |
-
);
|
362 |
-
|
363 |
-
// Save request data in session so if a lock is broken we can know which page it was for debugging
|
364 |
-
if ($this->_logLevel >= Zend_Log::INFO) {
|
365 |
-
if (empty($_SERVER['REQUEST_METHOD'])) {
|
366 |
-
$setData['req'] = $_SERVER['SCRIPT_NAME'];
|
367 |
-
} else {
|
368 |
-
$setData['req'] = "{$_SERVER['REQUEST_METHOD']} {$_SERVER['SERVER_NAME']}{$_SERVER['REQUEST_URI']}";
|
369 |
-
}
|
370 |
-
if ($lock != 1) {
|
371 |
-
$this->_log(sprintf(
|
372 |
-
"Successfully broke lock for ID %s after %.5f seconds (%d attempts). Lock: %d\nLast request of broken lock: %s",
|
373 |
-
$sessionId, (microtime(true) - $timeStart), $tries, $lock, $this->_redis->hGet($sessionId, 'req')
|
374 |
-
), Zend_Log::INFO);
|
375 |
-
}
|
376 |
-
}
|
377 |
-
$this->_redis->hMSet($sessionId, $setData);
|
378 |
-
}
|
379 |
-
|
380 |
-
// Set session expiration
|
381 |
-
$this->_redis->expire($sessionId, min($this->getLifeTime(), $this->_maxLifetime));
|
382 |
-
$this->_redis->exec();
|
383 |
-
|
384 |
-
// Reset flag in case of multiple session read/write operations
|
385 |
-
$this->_sessionWritten = FALSE;
|
386 |
-
|
387 |
-
return $sessionData ? $this->_decodeData($sessionData) : '';
|
388 |
-
}
|
389 |
-
|
390 |
-
/**
|
391 |
-
* Update session
|
392 |
-
*
|
393 |
-
* @param string $sessionId
|
394 |
-
* @param string $sessionData
|
395 |
-
* @return boolean
|
396 |
-
*/
|
397 |
-
public function write($sessionId, $sessionData)
|
398 |
-
{
|
399 |
-
Varien_Profiler::start(__METHOD__);
|
400 |
-
if ( ! $this->_useRedis) return parent::write($sessionId, $sessionData);
|
401 |
-
if ($this->_sessionWritten) {
|
402 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
403 |
-
$this->_log(sprintf("Repeated session write detected; skipping for ID %s", $sessionId));
|
404 |
-
}
|
405 |
-
Varien_Profiler::stop(__METHOD__);
|
406 |
-
return TRUE;
|
407 |
-
}
|
408 |
-
$this->_sessionWritten = TRUE;
|
409 |
-
if ($this->_logLevel >= Zend_Log::WARN) {
|
410 |
-
$timeStart = microtime(true);
|
411 |
-
}
|
412 |
-
|
413 |
-
// Do not overwrite the session if it is locked by another pid
|
414 |
-
try {
|
415 |
-
if($this->_dbNum) $this->_redis->select($this->_dbNum); // Prevent conflicts with other connections?
|
416 |
-
|
417 |
-
if ( ! $this->_useLocking
|
418 |
-
|| ( ! ($pid = $this->_redis->hGet('sess_'.$sessionId, 'pid')) || $pid == $this->_getPid())
|
419 |
-
) {
|
420 |
-
$this->_writeRawSession($sessionId, $sessionData, $this->getLifeTime());
|
421 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
422 |
-
$this->_log(sprintf("Data written to ID %s in %.5f seconds", $sessionId, (microtime(true) - $timeStart)));
|
423 |
-
}
|
424 |
-
}
|
425 |
-
else {
|
426 |
-
if ($this->_logLevel >= Zend_Log::WARN) {
|
427 |
-
if ($this->_hasLock) {
|
428 |
-
$this->_log(sprintf("Did not write session for ID %s: another process took the lock.",
|
429 |
-
$sessionId
|
430 |
-
), Zend_Log::WARN);
|
431 |
-
} else {
|
432 |
-
$this->_log(sprintf("Did not write session for ID %s: unable to acquire lock.",
|
433 |
-
$sessionId
|
434 |
-
), Zend_Log::WARN);
|
435 |
-
}
|
436 |
-
}
|
437 |
-
}
|
438 |
-
}
|
439 |
-
catch(Exception $e) {
|
440 |
-
if (class_exists('Mage', false)) {
|
441 |
-
Mage::logException($e);
|
442 |
-
} else {
|
443 |
-
error_log("$e");
|
444 |
-
}
|
445 |
-
Varien_Profiler::stop(__METHOD__);
|
446 |
-
return FALSE;
|
447 |
-
}
|
448 |
-
Varien_Profiler::stop(__METHOD__);
|
449 |
-
return TRUE;
|
450 |
-
}
|
451 |
-
|
452 |
-
/**
|
453 |
-
* Destroy session
|
454 |
-
*
|
455 |
-
* @param string $sessionId
|
456 |
-
* @return boolean
|
457 |
-
*/
|
458 |
-
public function destroy($sessionId)
|
459 |
-
{
|
460 |
-
if ( ! $this->_useRedis) return parent::destroy($sessionId);
|
461 |
-
Varien_Profiler::start(__METHOD__);
|
462 |
-
|
463 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
464 |
-
$this->_log(sprintf("Destroying ID %s", $sessionId));
|
465 |
-
}
|
466 |
-
$this->_redis->pipeline();
|
467 |
-
if($this->_dbNum) $this->_redis->select($this->_dbNum);
|
468 |
-
$this->_redis->del(self::SESSION_PREFIX.$sessionId);
|
469 |
-
$this->_redis->exec();
|
470 |
-
Varien_Profiler::stop(__METHOD__);
|
471 |
-
return TRUE;
|
472 |
-
}
|
473 |
-
|
474 |
-
/**
|
475 |
-
* Overridden to prevent calling getLifeTime at shutdown
|
476 |
-
*
|
477 |
-
* @return bool
|
478 |
-
*/
|
479 |
-
public function close()
|
480 |
-
{
|
481 |
-
if ( ! $this->_useRedis) return parent::close();
|
482 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
483 |
-
$this->_log("Closing connection");
|
484 |
-
}
|
485 |
-
if ($this->_redis) $this->_redis->close();
|
486 |
-
return TRUE;
|
487 |
-
}
|
488 |
-
|
489 |
-
/**
|
490 |
-
* Garbage collection
|
491 |
-
*
|
492 |
-
* @param int $maxLifeTime ignored
|
493 |
-
* @return boolean
|
494 |
-
*/
|
495 |
-
public function gc($maxLifeTime)
|
496 |
-
{
|
497 |
-
if ( ! $this->_useRedis) return parent::gc($maxLifeTime);
|
498 |
-
return TRUE;
|
499 |
-
}
|
500 |
-
|
501 |
-
/**
|
502 |
-
* @return int|mixed
|
503 |
-
*/
|
504 |
-
public function getLifeTime()
|
505 |
-
{
|
506 |
-
if ( ! $this->_config) return parent::getLifeTime();
|
507 |
-
|
508 |
-
if ($this->_lifeTime === NULL) {
|
509 |
-
$lifeTime = NULL;
|
510 |
-
|
511 |
-
// Detect bots by user agent
|
512 |
-
$botLifetime = ((int) $this->_config->descend('bot_lifetime') ?: self::DEFAULT_BOT_LIFETIME);
|
513 |
-
if ($botLifetime) {
|
514 |
-
$userAgent = empty($_SERVER['HTTP_USER_AGENT']) ? FALSE : $_SERVER['HTTP_USER_AGENT'];
|
515 |
-
$isBot = ! $userAgent || preg_match(self::BOT_REGEX, $userAgent);
|
516 |
-
if ($isBot) {
|
517 |
-
if ($this->_logLevel > Zend_Log::DEBUG) {
|
518 |
-
$this->_log(sprintf("Bot detected for user agent: %s", $userAgent));
|
519 |
-
}
|
520 |
-
if ( $this->_sessionWrites <= 1
|
521 |
-
&& ($botFirstLifetime = ((int) $this->_config->descend('bot_first_lifetime') ?: self::DEFAULT_BOT_FIRST_LIFETIME))
|
522 |
-
) {
|
523 |
-
$lifeTime = $botFirstLifetime * (1+$this->_sessionWrites);
|
524 |
-
} else {
|
525 |
-
$lifeTime = min(parent::getLifeTime(), $botLifetime);
|
526 |
-
}
|
527 |
-
}
|
528 |
-
}
|
529 |
-
|
530 |
-
// Use different lifetime for first write
|
531 |
-
if ($lifeTime === NULL && $this->_sessionWrites <= 1) {
|
532 |
-
$firstLifetime = ((int) $this->_config->descend('first_lifetime') ?: self::DEFAULT_FIRST_LIFETIME);
|
533 |
-
if ($firstLifetime) {
|
534 |
-
$lifeTime = $firstLifetime * (1+$this->_sessionWrites);
|
535 |
-
}
|
536 |
-
}
|
537 |
-
|
538 |
-
// Neither bot nor first write
|
539 |
-
if ($lifeTime === NULL) {
|
540 |
-
$lifeTime = parent::getLifeTime();
|
541 |
-
}
|
542 |
-
|
543 |
-
$this->_lifeTime = $lifeTime;
|
544 |
-
if ($this->_lifeTime < $this->_minLifetime) {
|
545 |
-
$this->_lifeTime = $this->_minLifetime;
|
546 |
-
}
|
547 |
-
if ($this->_lifeTime > $this->_maxLifetime) {
|
548 |
-
$this->_lifeTime = $this->_maxLifetime;
|
549 |
-
}
|
550 |
-
}
|
551 |
-
return $this->_lifeTime;
|
552 |
-
}
|
553 |
-
|
554 |
-
/**
|
555 |
-
* Public for testing purposes only.
|
556 |
-
*
|
557 |
-
* @param string $data
|
558 |
-
* @return string
|
559 |
-
*/
|
560 |
-
public function _encodeData($data)
|
561 |
-
{
|
562 |
-
Varien_Profiler::start(__METHOD__);
|
563 |
-
$originalDataSize = strlen($data);
|
564 |
-
if ($this->_compressionThreshold > 0 && $this->_compressionLib != 'none' && $originalDataSize >= $this->_compressionThreshold) {
|
565 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
566 |
-
$this->_log(sprintf("Compressing %s bytes with %s", $originalDataSize,$this->_compressionLib));
|
567 |
-
$timeStart = microtime(true);
|
568 |
-
}
|
569 |
-
$prefix = ':'.substr($this->_compressionLib,0,2).':';
|
570 |
-
switch($this->_compressionLib) {
|
571 |
-
case 'snappy': $data = snappy_compress($data); break;
|
572 |
-
case 'lzf': $data = lzf_compress($data); break;
|
573 |
-
case 'lz4': $data = lz4_compress($data); $prefix = ':l4:'; break;
|
574 |
-
case 'gzip': $data = gzcompress($data, 1); break;
|
575 |
-
}
|
576 |
-
if($data) {
|
577 |
-
$data = $prefix.$data;
|
578 |
-
if ($this->_logLevel >= Zend_Log::DEBUG) {
|
579 |
-
$this->_log(sprintf("Data compressed by %.1f percent in %.5f seconds",
|
580 |
-
($originalDataSize == 0 ? 0 : (100 - (strlen($data) / $originalDataSize * 100))), (microtime(true) - $timeStart)
|
581 |
-
));
|
582 |
-
}
|
583 |
-
} else if ($this->_logLevel >= Zend_Log::WARN) {
|
584 |
-
$this->_log(sprintf("Could not compress session data using %s", $this->_compressionLib), Zend_Log::WARN);
|
585 |
-
}
|
586 |
-
}
|
587 |
-
Varien_Profiler::stop(__METHOD__);
|
588 |
-
return $data;
|
589 |
-
}
|
590 |
-
|
591 |
-
/**
|
592 |
-
* Public for testing purposes only.
|
593 |
-
*
|
594 |
-
* @param string $data
|
595 |
-
* @return string
|
596 |
-
*/
|
597 |
-
public function _decodeData($data)
|
598 |
-
{
|
599 |
-
Varien_Profiler::start(__METHOD__);
|
600 |
-
switch (substr($data,0,4)) {
|
601 |
-
// asking the data which library it uses allows for transparent changes of libraries
|
602 |
-
case ':sn:': $data = snappy_uncompress(substr($data,4)); break;
|
603 |
-
case ':lz:': $data = lzf_decompress(substr($data,4)); break;
|
604 |
-
case ':l4:': $data = lz4_uncompress(substr($data,4)); break;
|
605 |
-
case ':gz:': $data = gzuncompress(substr($data,4)); break;
|
606 |
-
}
|
607 |
-
Varien_Profiler::stop(__METHOD__);
|
608 |
-
return $data;
|
609 |
-
}
|
610 |
-
|
611 |
-
/**
|
612 |
-
* Public for testing/import purposes only.
|
613 |
-
*
|
614 |
-
* @param $id
|
615 |
-
* @param $data
|
616 |
-
* @param $lifetime
|
617 |
-
* @throws Exception
|
618 |
-
*/
|
619 |
-
public function _writeRawSession($id, $data, $lifetime)
|
620 |
-
{
|
621 |
-
if ( ! $this->_useRedis) {
|
622 |
-
throw new Exception('Not connected to redis!');
|
623 |
-
}
|
624 |
-
|
625 |
-
$sessionId = 'sess_' . $id;
|
626 |
-
$this->_redis->pipeline()
|
627 |
-
->select($this->_dbNum)
|
628 |
-
->hMSet($sessionId, array(
|
629 |
-
'data' => $this->_encodeData($data),
|
630 |
-
'lock' => 0, // 0 so that next lock attempt will get 1
|
631 |
-
))
|
632 |
-
->hIncrBy($sessionId, 'writes', 1)
|
633 |
-
->expire($sessionId, min($lifetime, $this->_maxLifetime))
|
634 |
-
->exec();
|
635 |
-
}
|
636 |
-
|
637 |
-
/**
|
638 |
-
* @param string $id
|
639 |
-
* @return array
|
640 |
-
* @throws Exception
|
641 |
-
*/
|
642 |
-
public function _inspectSession($id)
|
643 |
-
{
|
644 |
-
if ( ! $this->_useRedis) {
|
645 |
-
throw new Exception('Not connected to redis!');
|
646 |
-
}
|
647 |
-
|
648 |
-
$sessionId = strpos($id, 'sess_') === 0 ? $id : 'sess_' . $id;
|
649 |
-
$this->_redis->select($this->_dbNum);
|
650 |
-
$data = $this->_redis->hGetAll($sessionId);
|
651 |
-
if ($data && isset($data['data'])) {
|
652 |
-
$data['data'] = $this->_decodeData($data['data']);
|
653 |
-
}
|
654 |
-
return $data;
|
655 |
-
}
|
656 |
-
|
657 |
-
/**
|
658 |
-
* Public for testing/inspection purposes only.
|
659 |
-
*
|
660 |
-
* @param $forceStandalone
|
661 |
-
* @return Credis_Client
|
662 |
-
*/
|
663 |
-
public function _redisClient($forceStandalone)
|
664 |
-
{
|
665 |
-
if ($forceStandalone) {
|
666 |
-
$this->_redis->forceStandalone();
|
667 |
-
}
|
668 |
-
if ($this->_dbNum) {
|
669 |
-
$this->_redis->select($this->_dbNum);
|
670 |
-
}
|
671 |
-
return $this->_redis;
|
672 |
-
}
|
673 |
-
|
674 |
-
/**
|
675 |
-
* @return string
|
676 |
-
*/
|
677 |
-
public function _getPid()
|
678 |
-
{
|
679 |
-
return gethostname().'|'.getmypid();
|
680 |
-
}
|
681 |
-
|
682 |
-
/**
|
683 |
-
* @param $pid
|
684 |
-
* @return bool
|
685 |
-
*/
|
686 |
-
public function _pidExists($pid)
|
687 |
-
{
|
688 |
-
list($host,$pid) = explode('|', $pid);
|
689 |
-
if (PHP_OS != 'Linux' || $host != gethostname()) {
|
690 |
-
return TRUE;
|
691 |
-
}
|
692 |
-
return @file_exists('/proc/'.$pid);
|
693 |
-
}
|
694 |
-
|
695 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Cm/RedisSession/etc/config.xml
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<!--
|
3 |
-
/*
|
4 |
-
==New BSD License==
|
5 |
-
|
6 |
-
Copyright (c) 2013, Colin Mollenhour
|
7 |
-
All rights reserved.
|
8 |
-
|
9 |
-
Redistribution and use in source and binary forms, with or without
|
10 |
-
modification, are permitted provided that the following conditions are met:
|
11 |
-
|
12 |
-
* Redistributions of source code must retain the above copyright
|
13 |
-
notice, this list of conditions and the following disclaimer.
|
14 |
-
* Redistributions in binary form must reproduce the above copyright
|
15 |
-
notice, this list of conditions and the following disclaimer in the
|
16 |
-
documentation and/or other materials provided with the distribution.
|
17 |
-
* The name of Colin Mollenhour may not be used to endorse or promote products
|
18 |
-
derived from this software without specific prior written permission.
|
19 |
-
* The module name must remain Cm_RedisSession.
|
20 |
-
|
21 |
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
22 |
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
23 |
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
24 |
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
|
25 |
-
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
26 |
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
27 |
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
28 |
-
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
29 |
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
30 |
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31 |
-
*/
|
32 |
-
-->
|
33 |
-
<config>
|
34 |
-
<modules>
|
35 |
-
<Cm_RedisSession>
|
36 |
-
<version>0.2</version>
|
37 |
-
</Cm_RedisSession>
|
38 |
-
</modules>
|
39 |
-
<global>
|
40 |
-
<models>
|
41 |
-
<core_mysql4>
|
42 |
-
<rewrite>
|
43 |
-
<session>Cm_RedisSession_Model_Session</session>
|
44 |
-
</rewrite>
|
45 |
-
</core_mysql4>
|
46 |
-
</models>
|
47 |
-
</global>
|
48 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Block/Form.php
DELETED
@@ -1,93 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Block_Form extends Mage_Payment_Block_Form
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* Available locales for content URL generation
|
24 |
-
*
|
25 |
-
* @var array
|
26 |
-
*/
|
27 |
-
protected $_supportedInfoLocales = array('de');
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Default locale for content URL generation
|
31 |
-
*
|
32 |
-
* @var string
|
33 |
-
*/
|
34 |
-
protected $_defaultInfoLocale = 'en';
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Constructor. Set template.
|
38 |
-
*/
|
39 |
-
protected function _construct()
|
40 |
-
{
|
41 |
-
parent::_construct();
|
42 |
-
$this->setTemplate('moneybookers/form.phtml');
|
43 |
-
}
|
44 |
-
|
45 |
-
/**
|
46 |
-
* Return payment logo image src
|
47 |
-
*
|
48 |
-
* @param string $payment Payment Code
|
49 |
-
* @return string|bool
|
50 |
-
*/
|
51 |
-
public function getPaymentImageSrc($payment)
|
52 |
-
{
|
53 |
-
if ($payment == 'moneybookers_obt') {
|
54 |
-
$payment .= '_'.$this->getInfoLocale();
|
55 |
-
}
|
56 |
-
|
57 |
-
$imageFilename = Mage::getDesign()
|
58 |
-
->getFilename('images' . DS . 'moneybookers' . DS . $payment, array('_type' => 'skin'));
|
59 |
-
|
60 |
-
if (file_exists($imageFilename . '.png')) {
|
61 |
-
return $this->getSkinUrl('images/moneybookers/' . $payment . '.png');
|
62 |
-
} else if (file_exists($imageFilename . '.gif')) {
|
63 |
-
return $this->getSkinUrl('images/moneybookers/' . $payment . '.gif');
|
64 |
-
}
|
65 |
-
|
66 |
-
return false;
|
67 |
-
}
|
68 |
-
|
69 |
-
/**
|
70 |
-
* Return supported locale for information text
|
71 |
-
*
|
72 |
-
* @return string
|
73 |
-
*/
|
74 |
-
public function getInfoLocale()
|
75 |
-
{
|
76 |
-
$locale = substr(Mage::app()->getLocale()->getLocaleCode(), 0 ,2);
|
77 |
-
if (!in_array($locale, $this->_supportedInfoLocales)) {
|
78 |
-
$locale = $this->_defaultInfoLocale;
|
79 |
-
}
|
80 |
-
return $locale;
|
81 |
-
}
|
82 |
-
|
83 |
-
/**
|
84 |
-
* Return info URL for eWallet payment
|
85 |
-
*
|
86 |
-
* @return string
|
87 |
-
*/
|
88 |
-
public function getWltInfoUrl()
|
89 |
-
{
|
90 |
-
$locale = substr(Mage::app()->getLocale()->getLocaleCode(), 0 ,2);
|
91 |
-
return 'http://www.moneybookers.com/app/?l=' . strtoupper($locale);
|
92 |
-
}
|
93 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Block/Info.php
DELETED
@@ -1,51 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Block_Info extends Mage_Payment_Block_Info
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* Constructor. Set template.
|
24 |
-
*/
|
25 |
-
protected function _construct()
|
26 |
-
{
|
27 |
-
parent::_construct();
|
28 |
-
$this->setTemplate('moneybookers/info.phtml');
|
29 |
-
}
|
30 |
-
|
31 |
-
/**
|
32 |
-
* Returns code of payment method
|
33 |
-
*
|
34 |
-
* @return string
|
35 |
-
*/
|
36 |
-
public function getMethodCode()
|
37 |
-
{
|
38 |
-
return $this->getInfo()->getMethodInstance()->getCode();
|
39 |
-
}
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Build PDF content of info block
|
43 |
-
*
|
44 |
-
* @return string
|
45 |
-
*/
|
46 |
-
public function toPdf()
|
47 |
-
{
|
48 |
-
$this->setTemplate('moneybookers/pdf/info.phtml');
|
49 |
-
return $this->toHtml();
|
50 |
-
}
|
51 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Block/Jsinit.php
DELETED
@@ -1,49 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Block_Jsinit extends Mage_Adminhtml_Block_Template
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* Include JS in head if section is moneybookers
|
24 |
-
*/
|
25 |
-
protected function _prepareLayout()
|
26 |
-
{
|
27 |
-
$section = $this->getAction()->getRequest()->getParam('section', false);
|
28 |
-
if ($section == 'moneybookers') {
|
29 |
-
$this->getLayout()
|
30 |
-
->getBlock('head')
|
31 |
-
->addJs('mage/adminhtml/moneybookers.js');
|
32 |
-
}
|
33 |
-
parent::_prepareLayout();
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Print init JS script into body
|
38 |
-
* @return string
|
39 |
-
*/
|
40 |
-
protected function _toHtml()
|
41 |
-
{
|
42 |
-
$section = $this->getAction()->getRequest()->getParam('section', false);
|
43 |
-
if ($section == 'moneybookers') {
|
44 |
-
return parent::_toHtml();
|
45 |
-
} else {
|
46 |
-
return '';
|
47 |
-
}
|
48 |
-
}
|
49 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Block/Payment.php
DELETED
@@ -1,39 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Block_Payment extends Mage_Core_Block_Template
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* Return Payment logo src
|
24 |
-
*
|
25 |
-
* @return string
|
26 |
-
*/
|
27 |
-
public function getMoneybookersLogoSrc()
|
28 |
-
{
|
29 |
-
$locale = Mage::getModel('moneybookers/acc')->getLocale();
|
30 |
-
$logoFilename = Mage::getDesign()
|
31 |
-
->getFilename('images' . DS . 'moneybookers' . DS . 'banner_120_' . $locale . '.gif', array('_type' => 'skin'));
|
32 |
-
|
33 |
-
if (file_exists($logoFilename)) {
|
34 |
-
return $this->getSkinUrl('images/moneybookers/banner_120_'.$locale.'.gif');
|
35 |
-
}
|
36 |
-
|
37 |
-
return $this->getSkinUrl('images/moneybookers/banner_120_int.gif');
|
38 |
-
}
|
39 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Block/Placeform.php
DELETED
@@ -1,67 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Block_Placeform extends Mage_Core_Block_Template
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* Return checkout session instance
|
24 |
-
*
|
25 |
-
* @return Mage_Checkout_Model_Session
|
26 |
-
*/
|
27 |
-
protected function _getCheckout()
|
28 |
-
{
|
29 |
-
return Mage::getSingleton('checkout/session');
|
30 |
-
}
|
31 |
-
|
32 |
-
/**
|
33 |
-
* Return order instance
|
34 |
-
*
|
35 |
-
* @return Mage_Sales_Model_Order|null
|
36 |
-
*/
|
37 |
-
protected function _getOrder()
|
38 |
-
{
|
39 |
-
if ($this->getOrder()) {
|
40 |
-
return $this->getOrder();
|
41 |
-
} elseif ($orderIncrementId = $this->_getCheckout()->getLastRealOrderId()) {
|
42 |
-
return Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
|
43 |
-
} else {
|
44 |
-
return null;
|
45 |
-
}
|
46 |
-
}
|
47 |
-
|
48 |
-
/**
|
49 |
-
* Get Form data by using ogone payment api
|
50 |
-
*
|
51 |
-
* @return array
|
52 |
-
*/
|
53 |
-
public function getFormData()
|
54 |
-
{
|
55 |
-
return $this->_getOrder()->getPayment()->getMethodInstance()->getFormFields();
|
56 |
-
}
|
57 |
-
|
58 |
-
/**
|
59 |
-
* Getting gateway url
|
60 |
-
*
|
61 |
-
* @return string
|
62 |
-
*/
|
63 |
-
public function getFormAction()
|
64 |
-
{
|
65 |
-
return $this->_getOrder()->getPayment()->getMethodInstance()->getUrl();
|
66 |
-
}
|
67 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Block/Redirect.php
DELETED
@@ -1,30 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Block_Redirect extends Mage_Core_Block_Template
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* Constructor. Set template.
|
24 |
-
*/
|
25 |
-
protected function _construct()
|
26 |
-
{
|
27 |
-
parent::_construct();
|
28 |
-
$this->setTemplate('moneybookers/redirect.phtml');
|
29 |
-
}
|
30 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Helper/Data.php
DELETED
@@ -1,130 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Helper_Data extends Mage_Payment_Helper_Data
|
21 |
-
{
|
22 |
-
const XML_PATH_EMAIL = 'moneybookers/settings/moneybookers_email';
|
23 |
-
const XML_PATH_CUSTOMER_ID = 'moneybookers/settings/customer_id';
|
24 |
-
const XML_PATH_SECRET_KEY = 'moneybookers/settings/secret_key';
|
25 |
-
|
26 |
-
/**
|
27 |
-
* Internal parameters for validation
|
28 |
-
*/
|
29 |
-
protected $_moneybookersServer = 'https://www.moneybookers.com';
|
30 |
-
protected $_checkEmailUrl = '/app/email_check.pl';
|
31 |
-
protected $_checkEmailCustId = '6999315';
|
32 |
-
protected $_checkEmailPassword = 'a4ce5a98a8950c04a3d34a2e2cb8c89f';
|
33 |
-
protected $_checkSecretUrl = '/app/secret_word_check.pl';
|
34 |
-
protected $_activationEmailTo = 'ecommerce@moneybookers.com';
|
35 |
-
protected $_activationEmailSubject = 'Magento Moneybookers Activation';
|
36 |
-
protected $_moneybookersMasterCustId = '7283403';
|
37 |
-
protected $_moneybookersMasterSecretHash = 'c18524b6b1082653039078a4700367f0';
|
38 |
-
|
39 |
-
/**
|
40 |
-
* Send activation Email to Moneybookers
|
41 |
-
*/
|
42 |
-
public function activateEmail()
|
43 |
-
{
|
44 |
-
$storeId = Mage::app()->getStore()->getId();
|
45 |
-
|
46 |
-
$translate = Mage::getSingleton('core/translate');
|
47 |
-
/* @var $translate Mage_Core_Model_Translate */
|
48 |
-
$translate->setTranslateInline(false);
|
49 |
-
|
50 |
-
Mage::getModel('core/email_template')
|
51 |
-
->setDesignConfig(array('area' => 'frontend', 'store' => $storeId))
|
52 |
-
->sendTransactional(
|
53 |
-
'moneybookers_activateemail',
|
54 |
-
Mage::getStoreConfig(Mage_Sales_Model_Order::XML_PATH_EMAIL_IDENTITY, $storeId),
|
55 |
-
$this->_activationEmailTo,
|
56 |
-
null,
|
57 |
-
array(
|
58 |
-
'subject' => $this->_activationEmailSubject,
|
59 |
-
'email_addr' => Mage::getStoreConfig(self::XML_PATH_EMAIL),
|
60 |
-
'url' => Mage::getBaseUrl(),
|
61 |
-
'customer_id' => Mage::getStoreConfig(self::XML_PATH_CUSTOMER_ID),
|
62 |
-
'language' => Mage::getModel('core/locale')->getDefaultLocale()
|
63 |
-
)
|
64 |
-
);
|
65 |
-
|
66 |
-
$translate->setTranslateInline(true);
|
67 |
-
}
|
68 |
-
|
69 |
-
/**
|
70 |
-
* Check if email is registered at Moneybookers
|
71 |
-
*
|
72 |
-
* @param array $params
|
73 |
-
* @return array
|
74 |
-
*/
|
75 |
-
public function checkEmailRequest(Array $params) {
|
76 |
-
$response = null;
|
77 |
-
try {
|
78 |
-
$response = $this->_getHttpsPage($this->_moneybookersServer . $this->_checkEmailUrl, array(
|
79 |
-
'email' => $params['email'],
|
80 |
-
'cust_id' => $this->_checkEmailCustId,
|
81 |
-
'password' => $this->_checkEmailPassword)
|
82 |
-
);
|
83 |
-
} catch (Exception $e) {
|
84 |
-
Mage::log($e->getMessage());
|
85 |
-
return null;
|
86 |
-
}
|
87 |
-
return $response;
|
88 |
-
}
|
89 |
-
|
90 |
-
/**
|
91 |
-
* Check if entered secret is valid
|
92 |
-
* @param array $params
|
93 |
-
* @return array
|
94 |
-
*/
|
95 |
-
public function checkSecretRequest(Array $params)
|
96 |
-
{
|
97 |
-
$response = null;
|
98 |
-
try {
|
99 |
-
$response = $this->_getHttpsPage($this->_moneybookersServer . $this->_checkSecretUrl, array(
|
100 |
-
'email' => $params['email'],
|
101 |
-
'secret' => md5(md5($params['secret']) . $this->_moneybookersMasterSecretHash),
|
102 |
-
'cust_id' => $this->_moneybookersMasterCustId)
|
103 |
-
);
|
104 |
-
} catch (Exception $e) {
|
105 |
-
Mage::log($e->getMessage());
|
106 |
-
return null;
|
107 |
-
}
|
108 |
-
return $response;
|
109 |
-
}
|
110 |
-
|
111 |
-
/**
|
112 |
-
* Reading a page via HTTPS and returning its content.
|
113 |
-
*/
|
114 |
-
protected function _getHttpsPage($host, $parameter)
|
115 |
-
{
|
116 |
-
$client = new Varien_Http_Client();
|
117 |
-
$client->setUri($host)
|
118 |
-
->setConfig(array('timeout' => 30))
|
119 |
-
->setHeaders('accept-encoding', '')
|
120 |
-
->setParameterGet($parameter)
|
121 |
-
->setMethod(Zend_Http_Client::GET);
|
122 |
-
$request = $client->request();
|
123 |
-
// Workaround for pseudo chunked messages which are yet too short, so
|
124 |
-
// only an exception is is thrown instead of returning raw body
|
125 |
-
if (!preg_match("/^([\da-fA-F]+)[^\r\n]*\r\n/sm", $request->getRawBody(), $m))
|
126 |
-
return $request->getRawBody();
|
127 |
-
|
128 |
-
return $request->getBody();
|
129 |
-
}
|
130 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Abstract.php
DELETED
@@ -1,208 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
abstract class Phoenix_Moneybookers_Model_Abstract extends Mage_Payment_Model_Method_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_abstract';
|
26 |
-
|
27 |
-
protected $_formBlockType = 'moneybookers/form';
|
28 |
-
protected $_infoBlockType = 'moneybookers/info';
|
29 |
-
|
30 |
-
/**
|
31 |
-
* Availability options
|
32 |
-
*/
|
33 |
-
protected $_isGateway = true;
|
34 |
-
protected $_canAuthorize = true;
|
35 |
-
protected $_canCapture = true;
|
36 |
-
protected $_canCapturePartial = false;
|
37 |
-
protected $_canRefund = false;
|
38 |
-
protected $_canVoid = false;
|
39 |
-
protected $_canUseInternal = false;
|
40 |
-
protected $_canUseCheckout = true;
|
41 |
-
protected $_canUseForMultishipping = false;
|
42 |
-
|
43 |
-
protected $_paymentMethod = 'abstract';
|
44 |
-
protected $_defaultLocale = 'en';
|
45 |
-
protected $_supportedLocales = array('cn', 'cz', 'da', 'en', 'es', 'fi', 'de', 'fr', 'gr', 'it', 'nl', 'ro', 'ru', 'pl', 'sv', 'tr');
|
46 |
-
protected $_hidelogin = '1';
|
47 |
-
|
48 |
-
protected $_order;
|
49 |
-
|
50 |
-
/**
|
51 |
-
* Get order model
|
52 |
-
*
|
53 |
-
* @return Mage_Sales_Model_Order
|
54 |
-
*/
|
55 |
-
public function getOrder()
|
56 |
-
{
|
57 |
-
if (!$this->_order) {
|
58 |
-
$this->_order = $this->getInfoInstance()->getOrder();
|
59 |
-
}
|
60 |
-
return $this->_order;
|
61 |
-
}
|
62 |
-
|
63 |
-
/**
|
64 |
-
* Return url for redirection after order placed
|
65 |
-
* @return string
|
66 |
-
*/
|
67 |
-
public function getOrderPlaceRedirectUrl()
|
68 |
-
{
|
69 |
-
return Mage::getUrl('moneybookers/processing/payment');
|
70 |
-
}
|
71 |
-
|
72 |
-
/**
|
73 |
-
* Capture payment through Moneybookers api
|
74 |
-
*
|
75 |
-
* @param Varien_Object $payment
|
76 |
-
* @param decimal $amount
|
77 |
-
* @return Phoenix_Moneybookers_Model_Abstract
|
78 |
-
*/
|
79 |
-
public function capture(Varien_Object $payment, $amount)
|
80 |
-
{
|
81 |
-
$payment->setStatus(self::STATUS_APPROVED)
|
82 |
-
->setTransactionId($this->getTransactionId())
|
83 |
-
->setIsTransactionClosed(0);
|
84 |
-
|
85 |
-
return $this;
|
86 |
-
}
|
87 |
-
|
88 |
-
/**
|
89 |
-
* Camcel payment
|
90 |
-
*
|
91 |
-
* @param Varien_Object $payment
|
92 |
-
* @return Phoenix_Moneybookers_Model_Abstract
|
93 |
-
*/
|
94 |
-
public function cancel(Varien_Object $payment)
|
95 |
-
{
|
96 |
-
$payment->setStatus(self::STATUS_DECLINED)
|
97 |
-
->setTransactionId($this->getTransactionId())
|
98 |
-
->setIsTransactionClosed(1);
|
99 |
-
|
100 |
-
return $this;
|
101 |
-
}
|
102 |
-
|
103 |
-
/**
|
104 |
-
* Return url of payment method
|
105 |
-
*
|
106 |
-
* @return string
|
107 |
-
*/
|
108 |
-
public function getUrl()
|
109 |
-
{
|
110 |
-
return 'https://www.moneybookers.com/app/payment.pl';
|
111 |
-
}
|
112 |
-
|
113 |
-
/**
|
114 |
-
* Return url of payment method
|
115 |
-
*
|
116 |
-
* @return string
|
117 |
-
*/
|
118 |
-
public function getLocale()
|
119 |
-
{
|
120 |
-
$locale = explode('_', Mage::app()->getLocale()->getLocaleCode());
|
121 |
-
if (is_array($locale) && !empty($locale) && in_array($locale[0], $this->_supportedLocales)) {
|
122 |
-
return $locale[0];
|
123 |
-
}
|
124 |
-
return $this->getDefaultLocale();
|
125 |
-
}
|
126 |
-
|
127 |
-
/**
|
128 |
-
* prepare params array to send it to gateway page via POST
|
129 |
-
*
|
130 |
-
* @return array
|
131 |
-
*/
|
132 |
-
public function getFormFields()
|
133 |
-
{
|
134 |
-
$order_id = $this->getOrder()->getRealOrderId();
|
135 |
-
$billing = $this->getOrder()->getBillingAddress();
|
136 |
-
if ($this->getOrder()->getBillingAddress()->getEmail()) {
|
137 |
-
$email = $this->getOrder()->getBillingAddress()->getEmail();
|
138 |
-
} else {
|
139 |
-
$email = $this->getOrder()->getCustomerEmail();
|
140 |
-
}
|
141 |
-
|
142 |
-
$params = array(
|
143 |
-
'merchant_fields' => 'partner',
|
144 |
-
'partner' => 'magento',
|
145 |
-
'pay_to_email' => Mage::getStoreConfig(Phoenix_Moneybookers_Helper_Data::XML_PATH_EMAIL),
|
146 |
-
'transaction_id' => $order_id,
|
147 |
-
'return_url' => Mage::getUrl('moneybookers/processing/success', array('transaction_id' => $order_id)),
|
148 |
-
'cancel_url' => Mage::getUrl('moneybookers/processing/cancel', array('transaction_id' => $order_id)),
|
149 |
-
'status_url' => Mage::getUrl('moneybookers/processing/status'),
|
150 |
-
'language' => $this->getLocale(),
|
151 |
-
'amount' => round($this->getOrder()->getGrandTotal(), 2),
|
152 |
-
'currency' => $this->getOrder()->getOrderCurrencyCode(),
|
153 |
-
'recipient_description' => $this->getOrder()->getStore()->getWebsite()->getName(),
|
154 |
-
'firstname' => $billing->getFirstname(),
|
155 |
-
'lastname' => $billing->getLastname(),
|
156 |
-
'address' => $billing->getStreet(-1),
|
157 |
-
'postal_code' => $billing->getPostcode(),
|
158 |
-
'city' => $billing->getCity(),
|
159 |
-
'country' => $billing->getCountryModel()->getIso3Code(),
|
160 |
-
'pay_from_email' => $email,
|
161 |
-
'phone_number' => $billing->getTelephone(),
|
162 |
-
'detail1_description' => Mage::helper('moneybookers')->__('Order ID'),
|
163 |
-
'detail1_text' => $order_id,
|
164 |
-
'payment_methods' => $this->_paymentMethod,
|
165 |
-
'hide_login' => $this->_hidelogin,
|
166 |
-
'new_window_redirect' => '1'
|
167 |
-
);
|
168 |
-
|
169 |
-
// add optional day of birth
|
170 |
-
if ($billing->getDob()) {
|
171 |
-
$params['date_of_birth'] = Mage::app()->getLocale()->date($billing->getDob(), null, null, false)->toString('dmY');
|
172 |
-
}
|
173 |
-
|
174 |
-
return $params;
|
175 |
-
}
|
176 |
-
/**
|
177 |
-
* Get initialized flag status
|
178 |
-
* @return true
|
179 |
-
*/
|
180 |
-
public function isInitializeNeeded()
|
181 |
-
{
|
182 |
-
return true;
|
183 |
-
}
|
184 |
-
|
185 |
-
/**
|
186 |
-
* Instantiate state and set it to state onject
|
187 |
-
* //@param
|
188 |
-
* //@param
|
189 |
-
*/
|
190 |
-
public function initialize($paymentAction, $stateObject)
|
191 |
-
{
|
192 |
-
$state = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT;
|
193 |
-
$stateObject->setState($state);
|
194 |
-
$stateObject->setStatus(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT);
|
195 |
-
$stateObject->setIsNotified(false);
|
196 |
-
}
|
197 |
-
|
198 |
-
/**
|
199 |
-
* Get config action to process initialization
|
200 |
-
*
|
201 |
-
* @return string
|
202 |
-
*/
|
203 |
-
public function getConfigPaymentAction()
|
204 |
-
{
|
205 |
-
$paymentAction = $this->getConfigData('payment_action');
|
206 |
-
return empty($paymentAction) ? true : $paymentAction;
|
207 |
-
}
|
208 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Acc.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Acc extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_acc';
|
26 |
-
protected $_paymentMethod = 'ACC';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Csi.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Csi extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_csi';
|
26 |
-
protected $_paymentMethod = 'CSI';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Did.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Did extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_did';
|
26 |
-
protected $_paymentMethod = 'DID';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Dnk.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Dnk extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_dnk';
|
26 |
-
protected $_paymentMethod = 'DNK';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Ebt.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Ebt extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_ebt';
|
26 |
-
protected $_paymentMethod = 'EBT';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Ent.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Ent extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_ent';
|
26 |
-
protected $_paymentMethod = 'ENT';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Event.php
DELETED
@@ -1,274 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
|
21 |
-
/**
|
22 |
-
* Moneybookers notification processor model
|
23 |
-
*/
|
24 |
-
class Phoenix_Moneybookers_Model_Event
|
25 |
-
{
|
26 |
-
const MONEYBOOKERS_STATUS_FAIL = -2;
|
27 |
-
const MONEYBOOKERS_STATUS_CANCEL = -1;
|
28 |
-
const MONEYBOOKERS_STATUS_PENDING = 0;
|
29 |
-
const MONEYBOOKERS_STATUS_SUCCESS = 2;
|
30 |
-
|
31 |
-
/**
|
32 |
-
* Store order instance
|
33 |
-
*
|
34 |
-
* @var Mage_Sales_Model_Order
|
35 |
-
*/
|
36 |
-
protected $_order = null;
|
37 |
-
|
38 |
-
/**
|
39 |
-
* Event request data
|
40 |
-
* @var array
|
41 |
-
*/
|
42 |
-
protected $_eventData = array();
|
43 |
-
|
44 |
-
/**
|
45 |
-
* Enent request data setter
|
46 |
-
* @param array $data
|
47 |
-
* @return Phoenix_Moneybookers_Model_Event
|
48 |
-
*/
|
49 |
-
public function setEventData(array $data)
|
50 |
-
{
|
51 |
-
$this->_eventData = $data;
|
52 |
-
return $this;
|
53 |
-
}
|
54 |
-
|
55 |
-
/**
|
56 |
-
* Event request data getter
|
57 |
-
* @param string $key
|
58 |
-
* @return array|string
|
59 |
-
*/
|
60 |
-
public function getEventData($key = null)
|
61 |
-
{
|
62 |
-
if (null === $key) {
|
63 |
-
return $this->_eventData;
|
64 |
-
}
|
65 |
-
return isset($this->_eventData[$key]) ? $this->_eventData[$key] : null;
|
66 |
-
}
|
67 |
-
|
68 |
-
/**
|
69 |
-
* Get singleton of Checkout Session Model
|
70 |
-
*
|
71 |
-
* @return Mage_Checkout_Model_Session
|
72 |
-
*/
|
73 |
-
protected function _getCheckout()
|
74 |
-
{
|
75 |
-
return Mage::getSingleton('checkout/session');
|
76 |
-
}
|
77 |
-
|
78 |
-
/**
|
79 |
-
* Process status notification from Monebookers server
|
80 |
-
*
|
81 |
-
* @return String
|
82 |
-
*/
|
83 |
-
public function processStatusEvent()
|
84 |
-
{
|
85 |
-
try {
|
86 |
-
$params = $this->_validateEventData();
|
87 |
-
$msg = '';
|
88 |
-
switch($params['status']) {
|
89 |
-
case self::MONEYBOOKERS_STATUS_FAIL: //fail
|
90 |
-
$msg = Mage::helper('moneybookers')->__('Payment failed.');
|
91 |
-
$this->_processCancel($msg);
|
92 |
-
break;
|
93 |
-
case self::MONEYBOOKERS_STATUS_CANCEL: //cancel
|
94 |
-
$msg = Mage::helper('moneybookers')->__('Payment was canceled.');
|
95 |
-
$this->_processCancel($msg);
|
96 |
-
break;
|
97 |
-
case self::MONEYBOOKERS_STATUS_PENDING: //pending
|
98 |
-
$msg = Mage::helper('moneybookers')->__('Pending bank transfer created.');
|
99 |
-
$this->_processSale($params['status'], $msg);
|
100 |
-
break;
|
101 |
-
case self::MONEYBOOKERS_STATUS_SUCCESS: //ok
|
102 |
-
$msg = Mage::helper('moneybookers')->__('The amount has been authorized and captured by Moneybookers.');
|
103 |
-
$this->_processSale($params['status'], $msg);
|
104 |
-
break;
|
105 |
-
}
|
106 |
-
return $msg;
|
107 |
-
} catch (Mage_Core_Exception $e) {
|
108 |
-
return $e->getMessage();
|
109 |
-
} catch(Exception $e) {
|
110 |
-
Mage::logException($e);
|
111 |
-
}
|
112 |
-
return;
|
113 |
-
}
|
114 |
-
|
115 |
-
/**
|
116 |
-
* Process cancelation
|
117 |
-
*/
|
118 |
-
public function cancelEvent() {
|
119 |
-
try {
|
120 |
-
$this->_validateEventData(false);
|
121 |
-
$this->_processCancel('Payment was canceled.');
|
122 |
-
return Mage::helper('moneybookers')->__('The order has been canceled.');
|
123 |
-
} catch (Mage_Core_Exception $e) {
|
124 |
-
return $e->getMessage();
|
125 |
-
} catch(Exception $e) {
|
126 |
-
Mage::logException($e);
|
127 |
-
}
|
128 |
-
return '';
|
129 |
-
}
|
130 |
-
|
131 |
-
/**
|
132 |
-
* Validate request and return QuoteId
|
133 |
-
* Can throw Mage_Core_Exception and Exception
|
134 |
-
*
|
135 |
-
* @return int
|
136 |
-
*/
|
137 |
-
public function successEvent(){
|
138 |
-
$this->_validateEventData(false);
|
139 |
-
return $this->_order->getQuoteId();
|
140 |
-
}
|
141 |
-
|
142 |
-
/**
|
143 |
-
* Processed order cancelation
|
144 |
-
* @param string $msg Order history message
|
145 |
-
*/
|
146 |
-
protected function _processCancel($msg)
|
147 |
-
{
|
148 |
-
$this->_order->cancel();
|
149 |
-
$this->_order->addStatusToHistory(Mage_Sales_Model_Order::STATE_CANCELED, $msg);
|
150 |
-
$this->_order->save();
|
151 |
-
}
|
152 |
-
|
153 |
-
/**
|
154 |
-
* Processes payment confirmation, creates invoice if necessary, updates order status,
|
155 |
-
* sends order confirmation to customer
|
156 |
-
*
|
157 |
-
* @param string $status
|
158 |
-
* @param string $msg Order history message
|
159 |
-
*/
|
160 |
-
protected function _processSale($status, $msg)
|
161 |
-
{
|
162 |
-
switch ($status) {
|
163 |
-
case self::MONEYBOOKERS_STATUS_SUCCESS:
|
164 |
-
$this->_createInvoice();
|
165 |
-
$this->_order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true, $msg);
|
166 |
-
// save transaction ID
|
167 |
-
$this->_order->getPayment()->setLastTransId($this->getEventData('mb_transaction_id'));
|
168 |
-
// send new order email
|
169 |
-
$this->_order->queueNewOrderEmail();
|
170 |
-
$this->_order->setEmailSent(true);
|
171 |
-
break;
|
172 |
-
case self::MONEYBOOKERS_STATUS_PENDING:
|
173 |
-
$this->_order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $msg);
|
174 |
-
// save transaction ID
|
175 |
-
$this->_order->getPayment()->setLastTransId($this->getEventData('mb_transaction_id'));
|
176 |
-
break;
|
177 |
-
}
|
178 |
-
$this->_order->save();
|
179 |
-
}
|
180 |
-
|
181 |
-
/**
|
182 |
-
* Builds invoice for order
|
183 |
-
*/
|
184 |
-
protected function _createInvoice()
|
185 |
-
{
|
186 |
-
if (!$this->_order->canInvoice()) {
|
187 |
-
return;
|
188 |
-
}
|
189 |
-
$invoice = $this->_order->prepareInvoice();
|
190 |
-
$invoice->register()->capture();
|
191 |
-
$this->_order->addRelatedObject($invoice);
|
192 |
-
}
|
193 |
-
|
194 |
-
/**
|
195 |
-
* Checking returned parameters
|
196 |
-
* Thorws Mage_Core_Exception if error
|
197 |
-
* @param bool $fullCheck Whether to make additional validations such as payment status, transaction signature etc.
|
198 |
-
*
|
199 |
-
* @return array $params request params
|
200 |
-
*/
|
201 |
-
protected function _validateEventData($fullCheck = true)
|
202 |
-
{
|
203 |
-
// get request variables
|
204 |
-
$params = $this->_eventData;
|
205 |
-
if (empty($params)) {
|
206 |
-
Mage::throwException('Request does not contain any elements.');
|
207 |
-
}
|
208 |
-
|
209 |
-
// check order ID
|
210 |
-
if (empty($params['transaction_id'])
|
211 |
-
|| ($fullCheck == false && $this->_getCheckout()->getMoneybookersRealOrderId() != $params['transaction_id'])
|
212 |
-
) {
|
213 |
-
Mage::throwException('Missing or invalid order ID.');
|
214 |
-
}
|
215 |
-
// load order for further validation
|
216 |
-
$this->_order = Mage::getModel('sales/order')->loadByIncrementId($params['transaction_id']);
|
217 |
-
if (!$this->_order->getId()) {
|
218 |
-
Mage::throwException('Order not found.');
|
219 |
-
}
|
220 |
-
|
221 |
-
if (0 !== strpos($this->_order->getPayment()->getMethodInstance()->getCode(), 'moneybookers_')) {
|
222 |
-
Mage::throwException('Unknown payment method.');
|
223 |
-
}
|
224 |
-
|
225 |
-
// make additional validation
|
226 |
-
if ($fullCheck) {
|
227 |
-
// check payment status
|
228 |
-
if (empty($params['status'])) {
|
229 |
-
Mage::throwException('Unknown payment status.');
|
230 |
-
}
|
231 |
-
|
232 |
-
// check transaction signature
|
233 |
-
if (empty($params['md5sig'])) {
|
234 |
-
Mage::throwException('Invalid transaction signature.');
|
235 |
-
}
|
236 |
-
|
237 |
-
$checkParams = array('merchant_id', 'transaction_id', 'secret', 'mb_amount', 'mb_currency', 'status');
|
238 |
-
$md5String = '';
|
239 |
-
foreach ($checkParams as $key) {
|
240 |
-
if ($key == 'merchant_id') {
|
241 |
-
$md5String .= Mage::getStoreConfig(Phoenix_Moneybookers_Helper_Data::XML_PATH_CUSTOMER_ID,
|
242 |
-
$this->_order->getStoreId()
|
243 |
-
);
|
244 |
-
} elseif ($key == 'secret') {
|
245 |
-
$secretKey = Mage::getStoreConfig(
|
246 |
-
Phoenix_Moneybookers_Helper_Data::XML_PATH_SECRET_KEY,
|
247 |
-
$this->_order->getStoreId()
|
248 |
-
);
|
249 |
-
|
250 |
-
if (empty($secretKey)) {
|
251 |
-
Mage::throwException('Secret key is empty.');
|
252 |
-
}
|
253 |
-
|
254 |
-
$md5String .= strtoupper(md5($secretKey));
|
255 |
-
} elseif (isset($params[$key])) {
|
256 |
-
$md5String .= $params[$key];
|
257 |
-
}
|
258 |
-
}
|
259 |
-
$md5String = strtoupper(md5($md5String));
|
260 |
-
|
261 |
-
if ($md5String != $params['md5sig']) {
|
262 |
-
Mage::throwException('Hash is not valid.');
|
263 |
-
}
|
264 |
-
|
265 |
-
// check transaction amount if currency matches
|
266 |
-
if ($this->_order->getOrderCurrencyCode() == $params['mb_currency']) {
|
267 |
-
if (round($this->_order->getGrandTotal(), 2) != $params['mb_amount']) {
|
268 |
-
Mage::throwException('Transaction amount does not match.');
|
269 |
-
}
|
270 |
-
}
|
271 |
-
}
|
272 |
-
return $params;
|
273 |
-
}
|
274 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Gcb.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Gcb extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_gcb';
|
26 |
-
protected $_paymentMethod = 'GCB';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Gir.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Gir extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_gir';
|
26 |
-
protected $_paymentMethod = 'GIR';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Idl.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Idl extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_idl';
|
26 |
-
protected $_paymentMethod = 'IDL';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Lsr.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Lsr extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_lsr';
|
26 |
-
protected $_paymentMethod = 'LSR';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Mae.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Mae extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_mae';
|
26 |
-
protected $_paymentMethod = 'MAE';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Npy.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Npy extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_npy';
|
26 |
-
protected $_paymentMethod = 'NPY';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Obt.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Obt extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_obt';
|
26 |
-
protected $_paymentMethod = 'OBT';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Pli.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Pli extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_pli';
|
26 |
-
protected $_paymentMethod = 'PLI';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Psp.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Psp extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_psp';
|
26 |
-
protected $_paymentMethod = 'PSP';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Pwy.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Pwy extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_pwy';
|
26 |
-
protected $_paymentMethod = 'PWY';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Sft.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Sft extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_sft';
|
26 |
-
protected $_paymentMethod = 'SFT';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/So2.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_So2 extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_so2';
|
26 |
-
protected $_paymentMethod = 'SO2';
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/Model/Wlt.php
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_Model_Wlt extends Phoenix_Moneybookers_Model_Abstract
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* unique internal payment method identifier
|
24 |
-
*/
|
25 |
-
protected $_code = 'moneybookers_wlt';
|
26 |
-
protected $_paymentMethod = 'WLT';
|
27 |
-
protected $_hidelogin = '0';
|
28 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/controllers/MoneybookersController.php
DELETED
@@ -1,97 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_MoneybookersController extends Mage_Adminhtml_Controller_Action
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* Retrieve Moneybookers helper
|
24 |
-
*
|
25 |
-
* @return Phoenix_Moneybookers_Helper_Data
|
26 |
-
*/
|
27 |
-
protected function _getHelper()
|
28 |
-
{
|
29 |
-
return Mage::helper('moneybookers');
|
30 |
-
}
|
31 |
-
|
32 |
-
/**
|
33 |
-
* Send activation Email to Moneybookers
|
34 |
-
*/
|
35 |
-
public function activateemailAction()
|
36 |
-
{
|
37 |
-
$this->_getHelper()->activateEmail();
|
38 |
-
}
|
39 |
-
|
40 |
-
/**
|
41 |
-
* Check if email is registered at Moneybookers
|
42 |
-
*/
|
43 |
-
public function checkemailAction()
|
44 |
-
{
|
45 |
-
try {
|
46 |
-
$params = $this->getRequest()->getParams();
|
47 |
-
if (empty($params['email'])) {
|
48 |
-
Mage::throwException('Error: No parameters specified');
|
49 |
-
}
|
50 |
-
$response = $this->_getHelper()->checkEmailRequest($params);
|
51 |
-
if (empty($response)) {
|
52 |
-
Mage::throwException('Error: Connection to moneybookers.com failed');
|
53 |
-
}
|
54 |
-
$this->getResponse()->setBody($response);
|
55 |
-
return;
|
56 |
-
} catch (Mage_Core_Exception $e) {
|
57 |
-
$response = $e->getMessage();
|
58 |
-
} catch (Exception $e) {
|
59 |
-
$response = 'Error: System error during request';
|
60 |
-
}
|
61 |
-
$this->getResponse()->setBody($response);
|
62 |
-
}
|
63 |
-
|
64 |
-
/**
|
65 |
-
* Check if entered secret is valid
|
66 |
-
*/
|
67 |
-
public function checksecretAction()
|
68 |
-
{
|
69 |
-
try {
|
70 |
-
$params = $this->getRequest()->getParams();
|
71 |
-
if (empty($params['email']) || empty($params['secret'])) {
|
72 |
-
Mage::throwException('Error: No parameters specified');
|
73 |
-
}
|
74 |
-
$response = $this->_getHelper()->checkSecretRequest($params);
|
75 |
-
if (empty($response)) {
|
76 |
-
Mage::throwException('Error: Connection to moneybookers.com failed');
|
77 |
-
}
|
78 |
-
$this->getResponse()->setBody($response);
|
79 |
-
return;
|
80 |
-
} catch (Mage_Core_Exception $e) {
|
81 |
-
$response = $e->getMessage();
|
82 |
-
} catch (Exception $e) {
|
83 |
-
$response = 'Error: System error during request';
|
84 |
-
}
|
85 |
-
$this->getResponse()->setBody($response);
|
86 |
-
}
|
87 |
-
|
88 |
-
/**
|
89 |
-
* Check is allowed access to action
|
90 |
-
*
|
91 |
-
* @return bool
|
92 |
-
*/
|
93 |
-
protected function _isAllowed()
|
94 |
-
{
|
95 |
-
return Mage::getSingleton('admin/session')->isAllowed('system/config/moneybookers');
|
96 |
-
}
|
97 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/controllers/ProcessingController.php
DELETED
@@ -1,146 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
class Phoenix_Moneybookers_ProcessingController extends Mage_Core_Controller_Front_Action
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* Get singleton of Checkout Session Model
|
24 |
-
*
|
25 |
-
* @return Mage_Checkout_Model_Session
|
26 |
-
*/
|
27 |
-
protected function _getCheckout()
|
28 |
-
{
|
29 |
-
return Mage::getSingleton('checkout/session');
|
30 |
-
}
|
31 |
-
|
32 |
-
/**
|
33 |
-
* Iframe page which submits the payment data to Moneybookers.
|
34 |
-
*/
|
35 |
-
public function placeformAction()
|
36 |
-
{
|
37 |
-
$this->loadLayout();
|
38 |
-
$this->renderLayout();
|
39 |
-
}
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Show orderPlaceRedirect page which contains the Moneybookers iframe.
|
43 |
-
*/
|
44 |
-
public function paymentAction()
|
45 |
-
{
|
46 |
-
try {
|
47 |
-
$session = $this->_getCheckout();
|
48 |
-
|
49 |
-
$order = Mage::getModel('sales/order');
|
50 |
-
$order->loadByIncrementId($session->getLastRealOrderId());
|
51 |
-
if (!$order->getId()) {
|
52 |
-
Mage::throwException('No order for processing found');
|
53 |
-
}
|
54 |
-
$order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
|
55 |
-
Mage::helper('moneybookers')->__('The customer was redirected to Moneybookers.')
|
56 |
-
);
|
57 |
-
$order->save();
|
58 |
-
|
59 |
-
$session->setMoneybookersQuoteId($session->getQuoteId());
|
60 |
-
$session->setMoneybookersRealOrderId($session->getLastRealOrderId());
|
61 |
-
$session->getQuote()->setIsActive(false)->save();
|
62 |
-
$session->clear();
|
63 |
-
|
64 |
-
$this->loadLayout();
|
65 |
-
$this->renderLayout();
|
66 |
-
} catch (Exception $e){
|
67 |
-
Mage::logException($e);
|
68 |
-
parent::_redirect('checkout/cart');
|
69 |
-
}
|
70 |
-
}
|
71 |
-
|
72 |
-
/**
|
73 |
-
* Action to which the customer will be returned when the payment is made.
|
74 |
-
*/
|
75 |
-
public function successAction()
|
76 |
-
{
|
77 |
-
$event = Mage::getModel('moneybookers/event')
|
78 |
-
->setEventData($this->getRequest()->getParams());
|
79 |
-
try {
|
80 |
-
$quoteId = $event->successEvent();
|
81 |
-
$this->_getCheckout()->setLastSuccessQuoteId($quoteId);
|
82 |
-
$this->_redirect('checkout/onepage/success');
|
83 |
-
return;
|
84 |
-
} catch (Mage_Core_Exception $e) {
|
85 |
-
$this->_getCheckout()->addError($e->getMessage());
|
86 |
-
} catch(Exception $e) {
|
87 |
-
Mage::logException($e);
|
88 |
-
}
|
89 |
-
$this->_redirect('checkout/cart');
|
90 |
-
}
|
91 |
-
|
92 |
-
/**
|
93 |
-
* Action to which the customer will be returned if the payment process is
|
94 |
-
* cancelled.
|
95 |
-
* Cancel order and redirect user to the shopping cart.
|
96 |
-
*/
|
97 |
-
public function cancelAction()
|
98 |
-
{
|
99 |
-
$event = Mage::getModel('moneybookers/event')
|
100 |
-
->setEventData($this->getRequest()->getParams());
|
101 |
-
$message = $event->cancelEvent();
|
102 |
-
|
103 |
-
// set quote to active
|
104 |
-
$session = $this->_getCheckout();
|
105 |
-
if ($quoteId = $session->getMoneybookersQuoteId()) {
|
106 |
-
$quote = Mage::getModel('sales/quote')->load($quoteId);
|
107 |
-
if ($quote->getId()) {
|
108 |
-
$quote->setIsActive(true)->save();
|
109 |
-
$session->setQuoteId($quoteId);
|
110 |
-
}
|
111 |
-
}
|
112 |
-
|
113 |
-
$session->addError($message);
|
114 |
-
$this->_redirect('checkout/cart');
|
115 |
-
}
|
116 |
-
|
117 |
-
/**
|
118 |
-
* Action to which the transaction details will be posted after the payment
|
119 |
-
* process is complete.
|
120 |
-
*/
|
121 |
-
public function statusAction()
|
122 |
-
{
|
123 |
-
$event = Mage::getModel('moneybookers/event')
|
124 |
-
->setEventData($this->getRequest()->getParams());
|
125 |
-
$message = $event->processStatusEvent();
|
126 |
-
$this->getResponse()->setBody($message);
|
127 |
-
}
|
128 |
-
|
129 |
-
/**
|
130 |
-
* Set redirect into responce. This has to be encapsulated in an JavaScript
|
131 |
-
* call to jump out of the iframe.
|
132 |
-
*
|
133 |
-
* @param string $path
|
134 |
-
* @param array $arguments
|
135 |
-
*/
|
136 |
-
protected function _redirect($path, $arguments=array())
|
137 |
-
{
|
138 |
-
$this->getResponse()->setBody(
|
139 |
-
$this->getLayout()
|
140 |
-
->createBlock('moneybookers/redirect')
|
141 |
-
->setRedirectUrl(Mage::getUrl($path, $arguments))
|
142 |
-
->toHtml()
|
143 |
-
);
|
144 |
-
return $this;
|
145 |
-
}
|
146 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/etc/config.xml
DELETED
@@ -1,306 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<!--
|
3 |
-
/**
|
4 |
-
* Magento
|
5 |
-
*
|
6 |
-
* NOTICE OF LICENSE
|
7 |
-
*
|
8 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
-
* that is bundled with this package in the file LICENSE.txt.
|
10 |
-
* It is also available through the world-wide-web at this URL:
|
11 |
-
* http://opensource.org/licenses/osl-3.0.php
|
12 |
-
* If you did not receive a copy of the license and are unable to
|
13 |
-
* obtain it through the world-wide-web, please send an email
|
14 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
-
*
|
16 |
-
* @category Phoenix
|
17 |
-
* @package Phoenix_Moneybookers
|
18 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
19 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
20 |
-
*/
|
21 |
-
-->
|
22 |
-
<config>
|
23 |
-
<modules>
|
24 |
-
<Phoenix_Moneybookers>
|
25 |
-
<version>1.6.0.0</version>
|
26 |
-
</Phoenix_Moneybookers>
|
27 |
-
</modules>
|
28 |
-
<global>
|
29 |
-
<models>
|
30 |
-
<moneybookers>
|
31 |
-
<class>Phoenix_Moneybookers_Model</class>
|
32 |
-
</moneybookers>
|
33 |
-
</models>
|
34 |
-
<helpers>
|
35 |
-
<moneybookers>
|
36 |
-
<class>Phoenix_Moneybookers_Helper</class>
|
37 |
-
</moneybookers>
|
38 |
-
</helpers>
|
39 |
-
<resources>
|
40 |
-
<moneybookers_setup>
|
41 |
-
<setup>
|
42 |
-
<module>Phoenix_Moneybookers</module>
|
43 |
-
</setup>
|
44 |
-
</moneybookers_setup>
|
45 |
-
</resources>
|
46 |
-
<blocks>
|
47 |
-
<moneybookers><class>Phoenix_Moneybookers_Block</class></moneybookers>
|
48 |
-
</blocks>
|
49 |
-
<template>
|
50 |
-
<email>
|
51 |
-
<moneybookers_activateemail>
|
52 |
-
<label>Moneybookers activate email</label>
|
53 |
-
<file>moneybookers_activateemail.html</file>
|
54 |
-
<type>html</type>
|
55 |
-
</moneybookers_activateemail>
|
56 |
-
</email>
|
57 |
-
</template>
|
58 |
-
<payment>
|
59 |
-
<groups>
|
60 |
-
<mbookers>Moneybookers</mbookers>
|
61 |
-
</groups>
|
62 |
-
</payment>
|
63 |
-
</global>
|
64 |
-
<frontend>
|
65 |
-
<secure_url>
|
66 |
-
<moneybookers_processing>/moneybookers/processing</moneybookers_processing>
|
67 |
-
</secure_url>
|
68 |
-
<routers>
|
69 |
-
<moneybookers>
|
70 |
-
<use>standard</use>
|
71 |
-
<args>
|
72 |
-
<module>Phoenix_Moneybookers</module>
|
73 |
-
<frontName>moneybookers</frontName>
|
74 |
-
</args>
|
75 |
-
</moneybookers>
|
76 |
-
</routers>
|
77 |
-
<translate>
|
78 |
-
<modules>
|
79 |
-
<Phoenix_Moneybookers>
|
80 |
-
<files>
|
81 |
-
<default>Phoenix_Moneybookers.csv</default>
|
82 |
-
</files>
|
83 |
-
</Phoenix_Moneybookers>
|
84 |
-
</modules>
|
85 |
-
</translate>
|
86 |
-
<layout>
|
87 |
-
<updates>
|
88 |
-
<moneybookers>
|
89 |
-
<file>moneybookers.xml</file>
|
90 |
-
</moneybookers>
|
91 |
-
</updates>
|
92 |
-
</layout>
|
93 |
-
</frontend>
|
94 |
-
<admin>
|
95 |
-
<routers>
|
96 |
-
<adminhtml>
|
97 |
-
<args>
|
98 |
-
<modules>
|
99 |
-
<moneybookers after="Mage_Adminhtml">Phoenix_Moneybookers</moneybookers>
|
100 |
-
</modules>
|
101 |
-
</args>
|
102 |
-
</adminhtml>
|
103 |
-
</routers>
|
104 |
-
</admin>
|
105 |
-
<adminhtml>
|
106 |
-
<translate>
|
107 |
-
<modules>
|
108 |
-
<Phoenix_Moneybookers>
|
109 |
-
<files>
|
110 |
-
<default>Phoenix_Moneybookers.csv</default>
|
111 |
-
</files>
|
112 |
-
</Phoenix_Moneybookers>
|
113 |
-
</modules>
|
114 |
-
</translate>
|
115 |
-
<layout>
|
116 |
-
<updates>
|
117 |
-
<moneybookers>
|
118 |
-
<file>moneybookers.xml</file>
|
119 |
-
</moneybookers>
|
120 |
-
</updates>
|
121 |
-
</layout>
|
122 |
-
<acl>
|
123 |
-
<resources>
|
124 |
-
<admin>
|
125 |
-
<children>
|
126 |
-
<system>
|
127 |
-
<children>
|
128 |
-
<config>
|
129 |
-
<children>
|
130 |
-
<moneybookers translate="title" module="moneybookers">
|
131 |
-
<title>Moneybookers Settings</title>
|
132 |
-
</moneybookers>
|
133 |
-
</children>
|
134 |
-
</config>
|
135 |
-
</children>
|
136 |
-
</system>
|
137 |
-
</children>
|
138 |
-
</admin>
|
139 |
-
</resources>
|
140 |
-
</acl>
|
141 |
-
</adminhtml>
|
142 |
-
<phoenix>
|
143 |
-
<moneybookers>
|
144 |
-
<verify_url>http://www.phoenix-medien.de/index.php?id=105</verify_url>
|
145 |
-
</moneybookers>
|
146 |
-
</phoenix>
|
147 |
-
<default>
|
148 |
-
<payment>
|
149 |
-
<moneybookers_acc>
|
150 |
-
<group>mbookers</group>
|
151 |
-
<active>0</active>
|
152 |
-
<model>moneybookers/acc</model>
|
153 |
-
<title>Credit Card / Visa, Mastercard, AMEX, JCB, Diners</title>
|
154 |
-
<allowspecific>0</allowspecific>
|
155 |
-
</moneybookers_acc>
|
156 |
-
<moneybookers_csi>
|
157 |
-
<group>mbookers</group>
|
158 |
-
<active>0</active>
|
159 |
-
<model>moneybookers/csi</model>
|
160 |
-
<title>CartaSi</title>
|
161 |
-
<allowspecific>1</allowspecific>
|
162 |
-
<specificcountry>IT</specificcountry>
|
163 |
-
</moneybookers_csi>
|
164 |
-
<moneybookers_did>
|
165 |
-
<group>mbookers</group>
|
166 |
-
<active>0</active>
|
167 |
-
<model>moneybookers/did</model>
|
168 |
-
<title>Lastschrift (ELV)</title>
|
169 |
-
<allowspecific>1</allowspecific>
|
170 |
-
<specificcountry>DE</specificcountry>
|
171 |
-
</moneybookers_did>
|
172 |
-
<moneybookers_dnk>
|
173 |
-
<group>mbookers</group>
|
174 |
-
<active>0</active>
|
175 |
-
<model>moneybookers/dnk</model>
|
176 |
-
<title>Dankort</title>
|
177 |
-
<allowspecific>1</allowspecific>
|
178 |
-
<specificcountry>DK</specificcountry>
|
179 |
-
</moneybookers_dnk>
|
180 |
-
<moneybookers_ebt>
|
181 |
-
<group>mbookers</group>
|
182 |
-
<active>0</active>
|
183 |
-
<model>moneybookers/ebt</model>
|
184 |
-
<title>Nordea Solo</title>
|
185 |
-
<allowspecific>1</allowspecific>
|
186 |
-
<specificcountry>SE</specificcountry>
|
187 |
-
</moneybookers_ebt>
|
188 |
-
<moneybookers_ent>
|
189 |
-
<group>mbookers</group>
|
190 |
-
<active>0</active>
|
191 |
-
<model>moneybookers/ent</model>
|
192 |
-
<title>eNETS</title>
|
193 |
-
<allowspecific>1</allowspecific>
|
194 |
-
<specificcountry>SG</specificcountry>
|
195 |
-
</moneybookers_ent>
|
196 |
-
<moneybookers_gcb>
|
197 |
-
<group>mbookers</group>
|
198 |
-
<active>0</active>
|
199 |
-
<model>moneybookers/gcb</model>
|
200 |
-
<title>Carte Bleue</title>
|
201 |
-
<allowspecific>1</allowspecific>
|
202 |
-
<specificcountry>FR</specificcountry>
|
203 |
-
</moneybookers_gcb>
|
204 |
-
<moneybookers_gir>
|
205 |
-
<group>mbookers</group>
|
206 |
-
<active>0</active>
|
207 |
-
<model>moneybookers/gir</model>
|
208 |
-
<title>Giropay</title>
|
209 |
-
<allowspecific>1</allowspecific>
|
210 |
-
<specificcountry>DE</specificcountry>
|
211 |
-
</moneybookers_gir>
|
212 |
-
<moneybookers_idl>
|
213 |
-
<group>mbookers</group>
|
214 |
-
<active>0</active>
|
215 |
-
<model>moneybookers/idl</model>
|
216 |
-
<title>iDeal</title>
|
217 |
-
<allowspecific>1</allowspecific>
|
218 |
-
<specificcountry>NL</specificcountry>
|
219 |
-
</moneybookers_idl>
|
220 |
-
<moneybookers_lsr>
|
221 |
-
<group>mbookers</group>
|
222 |
-
<active>0</active>
|
223 |
-
<model>moneybookers/lsr</model>
|
224 |
-
<title>Laser</title>
|
225 |
-
<allowspecific>1</allowspecific>
|
226 |
-
<specificcountry>IE</specificcountry>
|
227 |
-
</moneybookers_lsr>
|
228 |
-
<moneybookers_mae>
|
229 |
-
<group>mbookers</group>
|
230 |
-
<active>0</active>
|
231 |
-
<model>moneybookers/mae</model>
|
232 |
-
<title>Maestro</title>
|
233 |
-
<allowspecific>1</allowspecific>
|
234 |
-
<specificcountry>GB,AT,ES</specificcountry>
|
235 |
-
</moneybookers_mae>
|
236 |
-
<moneybookers_npy>
|
237 |
-
<group>mbookers</group>
|
238 |
-
<active>0</active>
|
239 |
-
<model>moneybookers/npy</model>
|
240 |
-
<title>EPS Online-Überweisung</title>
|
241 |
-
<allowspecific>1</allowspecific>
|
242 |
-
<specificcountry>AT</specificcountry>
|
243 |
-
</moneybookers_npy>
|
244 |
-
<moneybookers_pli>
|
245 |
-
<group>mbookers</group>
|
246 |
-
<active>0</active>
|
247 |
-
<model>moneybookers/pli</model>
|
248 |
-
<title>POLi</title>
|
249 |
-
<allowspecific>1</allowspecific>
|
250 |
-
<specificcountry>AU</specificcountry>
|
251 |
-
</moneybookers_pli>
|
252 |
-
<moneybookers_psp>
|
253 |
-
<group>mbookers</group>
|
254 |
-
<active>0</active>
|
255 |
-
<model>moneybookers/psp</model>
|
256 |
-
<title>Postepay</title>
|
257 |
-
<allowspecific>1</allowspecific>
|
258 |
-
<specificcountry>IT</specificcountry>
|
259 |
-
</moneybookers_psp>
|
260 |
-
<moneybookers_pwy>
|
261 |
-
<group>mbookers</group>
|
262 |
-
<active>0</active>
|
263 |
-
<model>moneybookers/pwy</model>
|
264 |
-
<title>All Polish Banks</title>
|
265 |
-
<allowspecific>1</allowspecific>
|
266 |
-
<specificcountry>PL</specificcountry>
|
267 |
-
</moneybookers_pwy>
|
268 |
-
<moneybookers_sft>
|
269 |
-
<group>mbookers</group>
|
270 |
-
<active>0</active>
|
271 |
-
<model>moneybookers/sft</model>
|
272 |
-
<title>Sofortüberweisung</title>
|
273 |
-
<allowspecific>1</allowspecific>
|
274 |
-
<specificcountry>DE</specificcountry>
|
275 |
-
</moneybookers_sft>
|
276 |
-
<moneybookers_so2>
|
277 |
-
<group>mbookers</group>
|
278 |
-
<active>0</active>
|
279 |
-
<model>moneybookers/so2</model>
|
280 |
-
<title>Nordea Solo</title>
|
281 |
-
<allowspecific>1</allowspecific>
|
282 |
-
<specificcountry>FI</specificcountry>
|
283 |
-
</moneybookers_so2>
|
284 |
-
<moneybookers_wlt>
|
285 |
-
<group>mbookers</group>
|
286 |
-
<active>0</active>
|
287 |
-
<model>moneybookers/wlt</model>
|
288 |
-
<title>Moneybookers eWallet</title>
|
289 |
-
<allowspecific>0</allowspecific>
|
290 |
-
</moneybookers_wlt>
|
291 |
-
<moneybookers_obt>
|
292 |
-
<group>mbookers</group>
|
293 |
-
<active>0</active>
|
294 |
-
<model>moneybookers/obt</model>
|
295 |
-
<title>Onlineüberweisung (empfohlen)</title>
|
296 |
-
<allowspecific>1</allowspecific>
|
297 |
-
<specificcountry>GB,DE</specificcountry>
|
298 |
-
</moneybookers_obt>
|
299 |
-
</payment>
|
300 |
-
<moneybookers>
|
301 |
-
<settings>
|
302 |
-
<activationstatus>0</activationstatus>
|
303 |
-
</settings>
|
304 |
-
</moneybookers>
|
305 |
-
</default>
|
306 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/etc/system.xml
DELETED
@@ -1,1201 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<!--
|
3 |
-
/**
|
4 |
-
* Magento
|
5 |
-
*
|
6 |
-
* NOTICE OF LICENSE
|
7 |
-
*
|
8 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
-
* that is bundled with this package in the file LICENSE.txt.
|
10 |
-
* It is also available through the world-wide-web at this URL:
|
11 |
-
* http://opensource.org/licenses/osl-3.0.php
|
12 |
-
* If you did not receive a copy of the license and are unable to
|
13 |
-
* obtain it through the world-wide-web, please send an email
|
14 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
-
*
|
16 |
-
* @category Phoenix
|
17 |
-
* @package Phoenix_Moneybookers
|
18 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
19 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
20 |
-
*/
|
21 |
-
-->
|
22 |
-
<config>
|
23 |
-
<sections>
|
24 |
-
<moneybookers translate="label" module="moneybookers">
|
25 |
-
<label>Moneybookers</label>
|
26 |
-
<tab>sales</tab>
|
27 |
-
<frontend_type>text</frontend_type>
|
28 |
-
<sort_order>990</sort_order>
|
29 |
-
<show_in_default>1</show_in_default>
|
30 |
-
<show_in_website>1</show_in_website>
|
31 |
-
<show_in_store>1</show_in_store>
|
32 |
-
<groups>
|
33 |
-
<settings translate="label">
|
34 |
-
<label>Moneybookers Settings</label>
|
35 |
-
<frontend_type>text</frontend_type>
|
36 |
-
<sort_order>1</sort_order>
|
37 |
-
<show_in_default>1</show_in_default>
|
38 |
-
<show_in_website>1</show_in_website>
|
39 |
-
<show_in_store>1</show_in_store>
|
40 |
-
<fields>
|
41 |
-
<moneybookers_email translate="label,comment">
|
42 |
-
<label>Email Address of Your Moneybookers Account</label>
|
43 |
-
<comment><![CDATA[To have access to the international payment network of Moneybookers please register <a href="http://www.moneybookers.com/partners/magento/" target="_blank">here</a> for a free account if you don’t have one yet.]]></comment>
|
44 |
-
<frontend_type>text</frontend_type>
|
45 |
-
<sort_order>1</sort_order>
|
46 |
-
<show_in_default>1</show_in_default>
|
47 |
-
<show_in_website>1</show_in_website>
|
48 |
-
<show_in_store>1</show_in_store>
|
49 |
-
</moneybookers_email>
|
50 |
-
<customer_id translate="label">
|
51 |
-
<label>Customer ID</label>
|
52 |
-
<frontend_type>text</frontend_type>
|
53 |
-
<sort_order>2</sort_order>
|
54 |
-
<show_in_default>1</show_in_default>
|
55 |
-
<show_in_website>1</show_in_website>
|
56 |
-
<show_in_store>1</show_in_store>
|
57 |
-
</customer_id>
|
58 |
-
<secret_key translate="label,comment">
|
59 |
-
<label>Secret Word</label>
|
60 |
-
<comment>Pre-shared secret key to secure the transaction. After activation Moneybookers will give you access to a new section in your Moneybookers account called "Merchant tools". Please choose a secret word (do not use your password for this) and provide it in your Moneybookers admin area and above.</comment>
|
61 |
-
<frontend_type>text</frontend_type>
|
62 |
-
<sort_order>3</sort_order>
|
63 |
-
<show_in_default>1</show_in_default>
|
64 |
-
<show_in_website>1</show_in_website>
|
65 |
-
<show_in_store>1</show_in_store>
|
66 |
-
</secret_key>
|
67 |
-
<activationstatus>
|
68 |
-
<comment></comment>
|
69 |
-
<frontend_type>text</frontend_type>
|
70 |
-
<sort_order>4</sort_order>
|
71 |
-
<show_in_default>1</show_in_default>
|
72 |
-
<show_in_website>1</show_in_website>
|
73 |
-
<show_in_store>1</show_in_store>
|
74 |
-
</activationstatus>
|
75 |
-
</fields>
|
76 |
-
</settings>
|
77 |
-
<moneybookers_acc translate="label" module="moneybookers">
|
78 |
-
<label>All Credit Cards / Visa, Mastercard, AMEX, JCB, Diners (powered by Moneybookers) - International</label>
|
79 |
-
<frontend_type>text</frontend_type>
|
80 |
-
<sort_order>201</sort_order>
|
81 |
-
<show_in_default>1</show_in_default>
|
82 |
-
<show_in_website>1</show_in_website>
|
83 |
-
<show_in_store>1</show_in_store>
|
84 |
-
<fields>
|
85 |
-
<active translate="label">
|
86 |
-
<label>Enabled</label>
|
87 |
-
<frontend_type>select</frontend_type>
|
88 |
-
<config_path>payment/moneybookers_acc/active</config_path>
|
89 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
90 |
-
<sort_order>1</sort_order>
|
91 |
-
<show_in_default>1</show_in_default>
|
92 |
-
<show_in_website>1</show_in_website>
|
93 |
-
<show_in_store>1</show_in_store>
|
94 |
-
</active>
|
95 |
-
<sort_order translate="label">
|
96 |
-
<label>Sort Order</label>
|
97 |
-
<frontend_type>text</frontend_type>
|
98 |
-
<config_path>payment/moneybookers_acc/sort_order</config_path>
|
99 |
-
<sort_order>3</sort_order>
|
100 |
-
<show_in_default>1</show_in_default>
|
101 |
-
<show_in_website>1</show_in_website>
|
102 |
-
<show_in_store>1</show_in_store>
|
103 |
-
</sort_order>
|
104 |
-
<title translate="label">
|
105 |
-
<label>Title</label>
|
106 |
-
<frontend_type>text</frontend_type>
|
107 |
-
<config_path>payment/moneybookers_acc/title</config_path>
|
108 |
-
<sort_order>5</sort_order>
|
109 |
-
<show_in_default>1</show_in_default>
|
110 |
-
<show_in_website>1</show_in_website>
|
111 |
-
<show_in_store>1</show_in_store>
|
112 |
-
</title>
|
113 |
-
<allowspecific translate="label">
|
114 |
-
<label>Payment from Applicable Countries</label>
|
115 |
-
<frontend_type>allowspecific</frontend_type>
|
116 |
-
<config_path>payment/moneybookers_acc/allowspecific</config_path>
|
117 |
-
<sort_order>6</sort_order>
|
118 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
119 |
-
<show_in_default>1</show_in_default>
|
120 |
-
<show_in_website>1</show_in_website>
|
121 |
-
<show_in_store>1</show_in_store>
|
122 |
-
</allowspecific>
|
123 |
-
<specificcountry translate="label">
|
124 |
-
<label>Payment from Specific Countries</label>
|
125 |
-
<frontend_type>multiselect</frontend_type>
|
126 |
-
<config_path>payment/moneybookers_acc/specificcountry</config_path>
|
127 |
-
<sort_order>7</sort_order>
|
128 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
129 |
-
<show_in_default>1</show_in_default>
|
130 |
-
<show_in_website>1</show_in_website>
|
131 |
-
<show_in_store>1</show_in_store>
|
132 |
-
<can_be_empty>1</can_be_empty>
|
133 |
-
</specificcountry>
|
134 |
-
</fields>
|
135 |
-
</moneybookers_acc>
|
136 |
-
<moneybookers_csi translate="label" module="moneybookers">
|
137 |
-
<label>CartaSi (powered by Moneybookers) - Italy</label>
|
138 |
-
<frontend_type>text</frontend_type>
|
139 |
-
<sort_order>252</sort_order>
|
140 |
-
<show_in_default>1</show_in_default>
|
141 |
-
<show_in_website>1</show_in_website>
|
142 |
-
<show_in_store>1</show_in_store>
|
143 |
-
<fields>
|
144 |
-
<active translate="label">
|
145 |
-
<label>Enabled</label>
|
146 |
-
<frontend_type>select</frontend_type>
|
147 |
-
<config_path>payment/moneybookers_csi/active</config_path>
|
148 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
149 |
-
<sort_order>1</sort_order>
|
150 |
-
<show_in_default>1</show_in_default>
|
151 |
-
<show_in_website>1</show_in_website>
|
152 |
-
<show_in_store>1</show_in_store>
|
153 |
-
</active>
|
154 |
-
<sort_order translate="label">
|
155 |
-
<label>Sort Order</label>
|
156 |
-
<frontend_type>text</frontend_type>
|
157 |
-
<config_path>payment/moneybookers_csi/sort_order</config_path>
|
158 |
-
<sort_order>3</sort_order>
|
159 |
-
<show_in_default>1</show_in_default>
|
160 |
-
<show_in_website>1</show_in_website>
|
161 |
-
<show_in_store>1</show_in_store>
|
162 |
-
</sort_order>
|
163 |
-
<title translate="label">
|
164 |
-
<label>Title</label>
|
165 |
-
<frontend_type>text</frontend_type>
|
166 |
-
<config_path>payment/moneybookers_csi/title</config_path>
|
167 |
-
<sort_order>5</sort_order>
|
168 |
-
<show_in_default>1</show_in_default>
|
169 |
-
<show_in_website>1</show_in_website>
|
170 |
-
<show_in_store>1</show_in_store>
|
171 |
-
</title>
|
172 |
-
<allowspecific translate="label">
|
173 |
-
<label>Payment from Applicable Countries</label>
|
174 |
-
<frontend_type>allowspecific</frontend_type>
|
175 |
-
<config_path>payment/moneybookers_csi/allowspecific</config_path>
|
176 |
-
<sort_order>6</sort_order>
|
177 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
178 |
-
<show_in_default>1</show_in_default>
|
179 |
-
<show_in_website>1</show_in_website>
|
180 |
-
<show_in_store>1</show_in_store>
|
181 |
-
</allowspecific>
|
182 |
-
<specificcountry translate="label">
|
183 |
-
<label>Payment from Specific Countries</label>
|
184 |
-
<frontend_type>multiselect</frontend_type>
|
185 |
-
<config_path>payment/moneybookers_csi/specificcountry</config_path>
|
186 |
-
<sort_order>7</sort_order>
|
187 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
188 |
-
<show_in_default>1</show_in_default>
|
189 |
-
<show_in_website>1</show_in_website>
|
190 |
-
<show_in_store>1</show_in_store>
|
191 |
-
<can_be_empty>1</can_be_empty>
|
192 |
-
</specificcountry>
|
193 |
-
</fields>
|
194 |
-
</moneybookers_csi>
|
195 |
-
<moneybookers_did translate="label" module="moneybookers">
|
196 |
-
<label>Lastschrift (ELV) (powered by Moneybookers) - Germany</label>
|
197 |
-
<frontend_type>text</frontend_type>
|
198 |
-
<sort_order>211</sort_order>
|
199 |
-
<show_in_default>1</show_in_default>
|
200 |
-
<show_in_website>1</show_in_website>
|
201 |
-
<show_in_store>1</show_in_store>
|
202 |
-
<fields>
|
203 |
-
<active translate="label">
|
204 |
-
<label>Enabled</label>
|
205 |
-
<frontend_type>select</frontend_type>
|
206 |
-
<config_path>payment/moneybookers_did/active</config_path>
|
207 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
208 |
-
<sort_order>1</sort_order>
|
209 |
-
<show_in_default>1</show_in_default>
|
210 |
-
<show_in_website>1</show_in_website>
|
211 |
-
<show_in_store>1</show_in_store>
|
212 |
-
</active>
|
213 |
-
<sort_order translate="label">
|
214 |
-
<label>Sort Order</label>
|
215 |
-
<frontend_type>text</frontend_type>
|
216 |
-
<config_path>payment/moneybookers_did/sort_order</config_path>
|
217 |
-
<sort_order>3</sort_order>
|
218 |
-
<show_in_default>1</show_in_default>
|
219 |
-
<show_in_website>1</show_in_website>
|
220 |
-
<show_in_store>1</show_in_store>
|
221 |
-
</sort_order>
|
222 |
-
<title translate="label">
|
223 |
-
<label>Title</label>
|
224 |
-
<frontend_type>text</frontend_type>
|
225 |
-
<config_path>payment/moneybookers_did/title</config_path>
|
226 |
-
<sort_order>5</sort_order>
|
227 |
-
<show_in_default>1</show_in_default>
|
228 |
-
<show_in_website>1</show_in_website>
|
229 |
-
<show_in_store>1</show_in_store>
|
230 |
-
</title>
|
231 |
-
<allowspecific translate="label">
|
232 |
-
<label>Payment from Applicable Countries</label>
|
233 |
-
<frontend_type>allowspecific</frontend_type>
|
234 |
-
<config_path>payment/moneybookers_did/allowspecific</config_path>
|
235 |
-
<sort_order>6</sort_order>
|
236 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
237 |
-
<show_in_default>1</show_in_default>
|
238 |
-
<show_in_website>1</show_in_website>
|
239 |
-
<show_in_store>1</show_in_store>
|
240 |
-
</allowspecific>
|
241 |
-
<specificcountry translate="label">
|
242 |
-
<label>Payment from Specific Countries</label>
|
243 |
-
<frontend_type>multiselect</frontend_type>
|
244 |
-
<config_path>payment/moneybookers_did/specificcountry</config_path>
|
245 |
-
<sort_order>7</sort_order>
|
246 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
247 |
-
<show_in_default>1</show_in_default>
|
248 |
-
<show_in_website>1</show_in_website>
|
249 |
-
<show_in_store>1</show_in_store>
|
250 |
-
<can_be_empty>1</can_be_empty>
|
251 |
-
</specificcountry>
|
252 |
-
</fields>
|
253 |
-
</moneybookers_did>
|
254 |
-
<moneybookers_dnk translate="label" module="moneybookers">
|
255 |
-
<label>Dankort (powered by Moneybookers) - Denmark</label>
|
256 |
-
<frontend_type>text</frontend_type>
|
257 |
-
<sort_order>241</sort_order>
|
258 |
-
<show_in_default>1</show_in_default>
|
259 |
-
<show_in_website>1</show_in_website>
|
260 |
-
<show_in_store>1</show_in_store>
|
261 |
-
<fields>
|
262 |
-
<active translate="label">
|
263 |
-
<label>Enabled</label>
|
264 |
-
<frontend_type>select</frontend_type>
|
265 |
-
<config_path>payment/moneybookers_dnk/active</config_path>
|
266 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
267 |
-
<sort_order>1</sort_order>
|
268 |
-
<show_in_default>1</show_in_default>
|
269 |
-
<show_in_website>1</show_in_website>
|
270 |
-
<show_in_store>1</show_in_store>
|
271 |
-
</active>
|
272 |
-
<sort_order translate="label">
|
273 |
-
<label>Sort Order</label>
|
274 |
-
<frontend_type>text</frontend_type>
|
275 |
-
<config_path>payment/moneybookers_dnk/sort_order</config_path>
|
276 |
-
<sort_order>3</sort_order>
|
277 |
-
<show_in_default>1</show_in_default>
|
278 |
-
<show_in_website>1</show_in_website>
|
279 |
-
<show_in_store>1</show_in_store>
|
280 |
-
</sort_order>
|
281 |
-
<title translate="label">
|
282 |
-
<label>Title</label>
|
283 |
-
<frontend_type>text</frontend_type>
|
284 |
-
<config_path>payment/moneybookers_dnk/title</config_path>
|
285 |
-
<sort_order>5</sort_order>
|
286 |
-
<show_in_default>1</show_in_default>
|
287 |
-
<show_in_website>1</show_in_website>
|
288 |
-
<show_in_store>1</show_in_store>
|
289 |
-
</title>
|
290 |
-
<allowspecific translate="label">
|
291 |
-
<label>Payment from Applicable Countries</label>
|
292 |
-
<frontend_type>allowspecific</frontend_type>
|
293 |
-
<config_path>payment/moneybookers_dnk/allowspecific</config_path>
|
294 |
-
<sort_order>6</sort_order>
|
295 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
296 |
-
<show_in_default>1</show_in_default>
|
297 |
-
<show_in_website>1</show_in_website>
|
298 |
-
<show_in_store>1</show_in_store>
|
299 |
-
</allowspecific>
|
300 |
-
<specificcountry translate="label">
|
301 |
-
<label>Payment from Specific Countries</label>
|
302 |
-
<frontend_type>multiselect</frontend_type>
|
303 |
-
<config_path>payment/moneybookers_dnk/specificcountry</config_path>
|
304 |
-
<sort_order>7</sort_order>
|
305 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
306 |
-
<show_in_default>1</show_in_default>
|
307 |
-
<show_in_website>1</show_in_website>
|
308 |
-
<show_in_store>1</show_in_store>
|
309 |
-
<can_be_empty>1</can_be_empty>
|
310 |
-
</specificcountry>
|
311 |
-
</fields>
|
312 |
-
</moneybookers_dnk>
|
313 |
-
<moneybookers_ebt translate="label" module="moneybookers">
|
314 |
-
<label>Nordea Solo (powered by Moneybookers) - Sweden</label>
|
315 |
-
<frontend_type>text</frontend_type>
|
316 |
-
<sort_order>271</sort_order>
|
317 |
-
<show_in_default>1</show_in_default>
|
318 |
-
<show_in_website>1</show_in_website>
|
319 |
-
<show_in_store>1</show_in_store>
|
320 |
-
<fields>
|
321 |
-
<active translate="label">
|
322 |
-
<label>Enabled</label>
|
323 |
-
<frontend_type>select</frontend_type>
|
324 |
-
<config_path>payment/moneybookers_ebt/active</config_path>
|
325 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
326 |
-
<sort_order>1</sort_order>
|
327 |
-
<show_in_default>1</show_in_default>
|
328 |
-
<show_in_website>1</show_in_website>
|
329 |
-
<show_in_store>1</show_in_store>
|
330 |
-
</active>
|
331 |
-
<sort_order translate="label">
|
332 |
-
<label>Sort Order</label>
|
333 |
-
<frontend_type>text</frontend_type>
|
334 |
-
<config_path>payment/moneybookers_ebt/sort_order</config_path>
|
335 |
-
<sort_order>3</sort_order>
|
336 |
-
<show_in_default>1</show_in_default>
|
337 |
-
<show_in_website>1</show_in_website>
|
338 |
-
<show_in_store>1</show_in_store>
|
339 |
-
</sort_order>
|
340 |
-
<title translate="label">
|
341 |
-
<label>Title</label>
|
342 |
-
<frontend_type>text</frontend_type>
|
343 |
-
<config_path>payment/moneybookers_ebt/title</config_path>
|
344 |
-
<sort_order>5</sort_order>
|
345 |
-
<show_in_default>1</show_in_default>
|
346 |
-
<show_in_website>1</show_in_website>
|
347 |
-
<show_in_store>1</show_in_store>
|
348 |
-
</title>
|
349 |
-
<allowspecific translate="label">
|
350 |
-
<label>Payment from Applicable Countries</label>
|
351 |
-
<config_path>payment/moneybookers_ebt/allowspecific</config_path>
|
352 |
-
<frontend_type>allowspecific</frontend_type>
|
353 |
-
<sort_order>6</sort_order>
|
354 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
355 |
-
<show_in_default>1</show_in_default>
|
356 |
-
<show_in_website>1</show_in_website>
|
357 |
-
<show_in_store>1</show_in_store>
|
358 |
-
</allowspecific>
|
359 |
-
<specificcountry translate="label">
|
360 |
-
<label>Payment from Specific Countries</label>
|
361 |
-
<frontend_type>multiselect</frontend_type>
|
362 |
-
<config_path>payment/moneybookers_ebt/specificcountry</config_path>
|
363 |
-
<sort_order>7</sort_order>
|
364 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
365 |
-
<show_in_default>1</show_in_default>
|
366 |
-
<show_in_website>1</show_in_website>
|
367 |
-
<show_in_store>1</show_in_store>
|
368 |
-
<can_be_empty>1</can_be_empty>
|
369 |
-
</specificcountry>
|
370 |
-
</fields>
|
371 |
-
</moneybookers_ebt>
|
372 |
-
<moneybookers_ent translate="label" module="moneybookers">
|
373 |
-
<label>eNETS (powered by Moneybookers) - Singapore</label>
|
374 |
-
<frontend_type>text</frontend_type>
|
375 |
-
<sort_order>261</sort_order>
|
376 |
-
<show_in_default>1</show_in_default>
|
377 |
-
<show_in_website>1</show_in_website>
|
378 |
-
<show_in_store>1</show_in_store>
|
379 |
-
<fields>
|
380 |
-
<active translate="label">
|
381 |
-
<label>Enabled</label>
|
382 |
-
<frontend_type>select</frontend_type>
|
383 |
-
<config_path>payment/moneybookers_ent/active</config_path>
|
384 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
385 |
-
<sort_order>1</sort_order>
|
386 |
-
<show_in_default>1</show_in_default>
|
387 |
-
<show_in_website>1</show_in_website>
|
388 |
-
<show_in_store>1</show_in_store>
|
389 |
-
</active>
|
390 |
-
<sort_order translate="label">
|
391 |
-
<label>Sort Order</label>
|
392 |
-
<frontend_type>text</frontend_type>
|
393 |
-
<config_path>payment/moneybookers_ent/sort_order</config_path>
|
394 |
-
<sort_order>3</sort_order>
|
395 |
-
<show_in_default>1</show_in_default>
|
396 |
-
<show_in_website>1</show_in_website>
|
397 |
-
<show_in_store>1</show_in_store>
|
398 |
-
</sort_order>
|
399 |
-
<title translate="label">
|
400 |
-
<label>Title</label>
|
401 |
-
<frontend_type>text</frontend_type>
|
402 |
-
<config_path>payment/moneybookers_ent/title</config_path>
|
403 |
-
<sort_order>5</sort_order>
|
404 |
-
<show_in_default>1</show_in_default>
|
405 |
-
<show_in_website>1</show_in_website>
|
406 |
-
<show_in_store>1</show_in_store>
|
407 |
-
</title>
|
408 |
-
<allowspecific translate="label">
|
409 |
-
<label>Payment from Applicable Countries</label>
|
410 |
-
<frontend_type>allowspecific</frontend_type>
|
411 |
-
<config_path>payment/moneybookers_ent/allowspecific</config_path>
|
412 |
-
<sort_order>6</sort_order>
|
413 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
414 |
-
<show_in_default>1</show_in_default>
|
415 |
-
<show_in_website>1</show_in_website>
|
416 |
-
<show_in_store>1</show_in_store>
|
417 |
-
</allowspecific>
|
418 |
-
<specificcountry translate="label">
|
419 |
-
<label>Payment from Specific Countries</label>
|
420 |
-
<frontend_type>multiselect</frontend_type>
|
421 |
-
<config_path>payment/moneybookers_ent/specificcountry</config_path>
|
422 |
-
<sort_order>7</sort_order>
|
423 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
424 |
-
<show_in_default>1</show_in_default>
|
425 |
-
<show_in_website>1</show_in_website>
|
426 |
-
<show_in_store>1</show_in_store>
|
427 |
-
<can_be_empty>1</can_be_empty>
|
428 |
-
</specificcountry>
|
429 |
-
</fields>
|
430 |
-
</moneybookers_ent>
|
431 |
-
<moneybookers_gcb translate="label" module="moneybookers">
|
432 |
-
<label>Carte Bleue (powered by Moneybookers) - France</label>
|
433 |
-
<frontend_type>text</frontend_type>
|
434 |
-
<sort_order>231</sort_order>
|
435 |
-
<show_in_default>1</show_in_default>
|
436 |
-
<show_in_website>1</show_in_website>
|
437 |
-
<show_in_store>1</show_in_store>
|
438 |
-
<fields>
|
439 |
-
<active translate="label">
|
440 |
-
<label>Enabled</label>
|
441 |
-
<frontend_type>select</frontend_type>
|
442 |
-
<config_path>payment/moneybookers_gcb/active</config_path>
|
443 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
444 |
-
<sort_order>1</sort_order>
|
445 |
-
<show_in_default>1</show_in_default>
|
446 |
-
<show_in_website>1</show_in_website>
|
447 |
-
<show_in_store>1</show_in_store>
|
448 |
-
</active>
|
449 |
-
<sort_order translate="label">
|
450 |
-
<label>Sort Order</label>
|
451 |
-
<frontend_type>text</frontend_type>
|
452 |
-
<config_path>payment/moneybookers_gcb/sort_order</config_path>
|
453 |
-
<sort_order>3</sort_order>
|
454 |
-
<show_in_default>1</show_in_default>
|
455 |
-
<show_in_website>1</show_in_website>
|
456 |
-
<show_in_store>1</show_in_store>
|
457 |
-
</sort_order>
|
458 |
-
<title translate="label">
|
459 |
-
<label>Title</label>
|
460 |
-
<frontend_type>text</frontend_type>
|
461 |
-
<config_path>payment/moneybookers_gcb/title</config_path>
|
462 |
-
<sort_order>5</sort_order>
|
463 |
-
<show_in_default>1</show_in_default>
|
464 |
-
<show_in_website>1</show_in_website>
|
465 |
-
<show_in_store>1</show_in_store>
|
466 |
-
</title>
|
467 |
-
<allowspecific translate="label">
|
468 |
-
<label>Payment from Applicable Countries</label>
|
469 |
-
<frontend_type>allowspecific</frontend_type>
|
470 |
-
<config_path>payment/moneybookers_gcb/allowspecific</config_path>
|
471 |
-
<sort_order>6</sort_order>
|
472 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
473 |
-
<show_in_default>1</show_in_default>
|
474 |
-
<show_in_website>1</show_in_website>
|
475 |
-
<show_in_store>1</show_in_store>
|
476 |
-
</allowspecific>
|
477 |
-
<specificcountry translate="label">
|
478 |
-
<label>Payment from Specific Countries</label>
|
479 |
-
<frontend_type>multiselect</frontend_type>
|
480 |
-
<config_path>payment/moneybookers_gcb/specificcountry</config_path>
|
481 |
-
<sort_order>7</sort_order>
|
482 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
483 |
-
<show_in_default>1</show_in_default>
|
484 |
-
<show_in_website>1</show_in_website>
|
485 |
-
<show_in_store>1</show_in_store>
|
486 |
-
<can_be_empty>1</can_be_empty>
|
487 |
-
</specificcountry>
|
488 |
-
</fields>
|
489 |
-
</moneybookers_gcb>
|
490 |
-
<moneybookers_gir translate="label" module="moneybookers">
|
491 |
-
<label>Giropay (powered by Moneybookers) - Germany</label>
|
492 |
-
<frontend_type>text</frontend_type>
|
493 |
-
<sort_order>212</sort_order>
|
494 |
-
<show_in_default>1</show_in_default>
|
495 |
-
<show_in_website>1</show_in_website>
|
496 |
-
<show_in_store>1</show_in_store>
|
497 |
-
<fields>
|
498 |
-
<active translate="label">
|
499 |
-
<label>Enabled</label>
|
500 |
-
<frontend_type>select</frontend_type>
|
501 |
-
<config_path>payment/moneybookers_gir/active</config_path>
|
502 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
503 |
-
<sort_order>1</sort_order>
|
504 |
-
<show_in_default>1</show_in_default>
|
505 |
-
<show_in_website>1</show_in_website>
|
506 |
-
<show_in_store>1</show_in_store>
|
507 |
-
</active>
|
508 |
-
<sort_order translate="label">
|
509 |
-
<label>Sort Order</label>
|
510 |
-
<frontend_type>text</frontend_type>
|
511 |
-
<config_path>payment/moneybookers_gir/sort_order</config_path>
|
512 |
-
<sort_order>3</sort_order>
|
513 |
-
<show_in_default>1</show_in_default>
|
514 |
-
<show_in_website>1</show_in_website>
|
515 |
-
<show_in_store>1</show_in_store>
|
516 |
-
</sort_order>
|
517 |
-
<title translate="label">
|
518 |
-
<label>Title</label>
|
519 |
-
<frontend_type>text</frontend_type>
|
520 |
-
<config_path>payment/moneybookers_gir/title</config_path>
|
521 |
-
<sort_order>5</sort_order>
|
522 |
-
<show_in_default>1</show_in_default>
|
523 |
-
<show_in_website>1</show_in_website>
|
524 |
-
<show_in_store>1</show_in_store>
|
525 |
-
</title>
|
526 |
-
<allowspecific translate="label">
|
527 |
-
<label>Payment from Applicable Countries</label>
|
528 |
-
<frontend_type>allowspecific</frontend_type>
|
529 |
-
<config_path>payment/moneybookers_gir/allowspecific</config_path>
|
530 |
-
<sort_order>6</sort_order>
|
531 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
532 |
-
<show_in_default>1</show_in_default>
|
533 |
-
<show_in_website>1</show_in_website>
|
534 |
-
<show_in_store>1</show_in_store>
|
535 |
-
</allowspecific>
|
536 |
-
<specificcountry translate="label">
|
537 |
-
<label>Payment from Specific Countries</label>
|
538 |
-
<frontend_type>multiselect</frontend_type>
|
539 |
-
<config_path>payment/moneybookers_gir/specificcountry</config_path>
|
540 |
-
<sort_order>7</sort_order>
|
541 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
542 |
-
<show_in_default>1</show_in_default>
|
543 |
-
<show_in_website>1</show_in_website>
|
544 |
-
<show_in_store>1</show_in_store>
|
545 |
-
<can_be_empty>1</can_be_empty>
|
546 |
-
</specificcountry>
|
547 |
-
</fields>
|
548 |
-
</moneybookers_gir>
|
549 |
-
<moneybookers_idl translate="label" module="moneybookers">
|
550 |
-
<label>iDeal (powered by Moneybookers) - Netherlands</label>
|
551 |
-
<frontend_type>text</frontend_type>
|
552 |
-
<sort_order>291</sort_order>
|
553 |
-
<show_in_default>1</show_in_default>
|
554 |
-
<show_in_website>1</show_in_website>
|
555 |
-
<show_in_store>1</show_in_store>
|
556 |
-
<fields>
|
557 |
-
<active translate="label">
|
558 |
-
<label>Enabled</label>
|
559 |
-
<frontend_type>select</frontend_type>
|
560 |
-
<config_path>payment/moneybookers_idl/active</config_path>
|
561 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
562 |
-
<sort_order>1</sort_order>
|
563 |
-
<show_in_default>1</show_in_default>
|
564 |
-
<show_in_website>1</show_in_website>
|
565 |
-
<show_in_store>1</show_in_store>
|
566 |
-
</active>
|
567 |
-
<sort_order translate="label">
|
568 |
-
<label>Sort Order</label>
|
569 |
-
<frontend_type>text</frontend_type>
|
570 |
-
<config_path>payment/moneybookers_idl/sort_order</config_path>
|
571 |
-
<sort_order>3</sort_order>
|
572 |
-
<show_in_default>1</show_in_default>
|
573 |
-
<show_in_website>1</show_in_website>
|
574 |
-
<show_in_store>1</show_in_store>
|
575 |
-
</sort_order>
|
576 |
-
<title translate="label">
|
577 |
-
<label>Title</label>
|
578 |
-
<frontend_type>text</frontend_type>
|
579 |
-
<config_path>payment/moneybookers_idl/title</config_path>
|
580 |
-
<sort_order>5</sort_order>
|
581 |
-
<show_in_default>1</show_in_default>
|
582 |
-
<show_in_website>1</show_in_website>
|
583 |
-
<show_in_store>1</show_in_store>
|
584 |
-
</title>
|
585 |
-
<allowspecific translate="label">
|
586 |
-
<label>Payment from Applicable Countries</label>
|
587 |
-
<frontend_type>allowspecific</frontend_type>
|
588 |
-
<config_path>payment/moneybookers_idl/allowspecific</config_path>
|
589 |
-
<sort_order>6</sort_order>
|
590 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
591 |
-
<show_in_default>1</show_in_default>
|
592 |
-
<show_in_website>1</show_in_website>
|
593 |
-
<show_in_store>1</show_in_store>
|
594 |
-
</allowspecific>
|
595 |
-
<specificcountry translate="label">
|
596 |
-
<label>Payment from Specific Countries</label>
|
597 |
-
<frontend_type>multiselect</frontend_type>
|
598 |
-
<config_path>payment/moneybookers_idl/specificcountry</config_path>
|
599 |
-
<sort_order>7</sort_order>
|
600 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
601 |
-
<show_in_default>1</show_in_default>
|
602 |
-
<show_in_website>1</show_in_website>
|
603 |
-
<show_in_store>1</show_in_store>
|
604 |
-
<can_be_empty>1</can_be_empty>
|
605 |
-
</specificcountry>
|
606 |
-
</fields>
|
607 |
-
</moneybookers_idl>
|
608 |
-
<moneybookers_lsr translate="label" module="moneybookers">
|
609 |
-
<label>Laser (powered by Moneybookers) - Ireland</label>
|
610 |
-
<frontend_type>text</frontend_type>
|
611 |
-
<sort_order>221</sort_order>
|
612 |
-
<show_in_default>1</show_in_default>
|
613 |
-
<show_in_website>1</show_in_website>
|
614 |
-
<show_in_store>1</show_in_store>
|
615 |
-
<fields>
|
616 |
-
<active translate="label">
|
617 |
-
<label>Enabled</label>
|
618 |
-
<frontend_type>select</frontend_type>
|
619 |
-
<config_path>payment/moneybookers_lsr/active</config_path>
|
620 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
621 |
-
<sort_order>1</sort_order>
|
622 |
-
<show_in_default>1</show_in_default>
|
623 |
-
<show_in_website>1</show_in_website>
|
624 |
-
<show_in_store>1</show_in_store>
|
625 |
-
</active>
|
626 |
-
<sort_order translate="label">
|
627 |
-
<label>Sort Order</label>
|
628 |
-
<frontend_type>text</frontend_type>
|
629 |
-
<config_path>payment/moneybookers_lsr/sort_order</config_path>
|
630 |
-
<sort_order>3</sort_order>
|
631 |
-
<show_in_default>1</show_in_default>
|
632 |
-
<show_in_website>1</show_in_website>
|
633 |
-
<show_in_store>1</show_in_store>
|
634 |
-
</sort_order>
|
635 |
-
<title translate="label">
|
636 |
-
<label>Title</label>
|
637 |
-
<frontend_type>text</frontend_type>
|
638 |
-
<config_path>payment/moneybookers_lsr/title</config_path>
|
639 |
-
<sort_order>5</sort_order>
|
640 |
-
<show_in_default>1</show_in_default>
|
641 |
-
<show_in_website>1</show_in_website>
|
642 |
-
<show_in_store>1</show_in_store>
|
643 |
-
</title>
|
644 |
-
<allowspecific translate="label">
|
645 |
-
<label>Payment from Applicable Countries</label>
|
646 |
-
<frontend_type>allowspecific</frontend_type>
|
647 |
-
<config_path>payment/moneybookers_lsr/allowspecific</config_path>
|
648 |
-
<sort_order>6</sort_order>
|
649 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
650 |
-
<show_in_default>1</show_in_default>
|
651 |
-
<show_in_website>1</show_in_website>
|
652 |
-
<show_in_store>1</show_in_store>
|
653 |
-
</allowspecific>
|
654 |
-
<specificcountry translate="label">
|
655 |
-
<label>Payment from Specific Countries</label>
|
656 |
-
<frontend_type>multiselect</frontend_type>
|
657 |
-
<config_path>payment/moneybookers_lsr/specificcountry</config_path>
|
658 |
-
<sort_order>7</sort_order>
|
659 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
660 |
-
<show_in_default>1</show_in_default>
|
661 |
-
<show_in_website>1</show_in_website>
|
662 |
-
<show_in_store>1</show_in_store>
|
663 |
-
<can_be_empty>1</can_be_empty>
|
664 |
-
</specificcountry>
|
665 |
-
</fields>
|
666 |
-
</moneybookers_lsr>
|
667 |
-
<moneybookers_mae translate="label" module="moneybookers">
|
668 |
-
<label>Maestro (powered by Moneybookers) - United Kingdom, Austria, Spain</label>
|
669 |
-
<frontend_type>text</frontend_type>
|
670 |
-
<sort_order>231</sort_order>
|
671 |
-
<show_in_default>1</show_in_default>
|
672 |
-
<show_in_website>1</show_in_website>
|
673 |
-
<show_in_store>1</show_in_store>
|
674 |
-
<fields>
|
675 |
-
<active translate="label">
|
676 |
-
<label>Enabled</label>
|
677 |
-
<frontend_type>select</frontend_type>
|
678 |
-
<config_path>payment/moneybookers_mae/active</config_path>
|
679 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
680 |
-
<sort_order>1</sort_order>
|
681 |
-
<show_in_default>1</show_in_default>
|
682 |
-
<show_in_website>1</show_in_website>
|
683 |
-
<show_in_store>1</show_in_store>
|
684 |
-
</active>
|
685 |
-
<sort_order translate="label">
|
686 |
-
<label>Sort Order</label>
|
687 |
-
<frontend_type>text</frontend_type>
|
688 |
-
<config_path>payment/moneybookers_mae/sort_order</config_path>
|
689 |
-
<sort_order>3</sort_order>
|
690 |
-
<show_in_default>1</show_in_default>
|
691 |
-
<show_in_website>1</show_in_website>
|
692 |
-
<show_in_store>1</show_in_store>
|
693 |
-
</sort_order>
|
694 |
-
<title translate="label">
|
695 |
-
<label>Title</label>
|
696 |
-
<frontend_type>text</frontend_type>
|
697 |
-
<config_path>payment/moneybookers_mae/title</config_path>
|
698 |
-
<sort_order>5</sort_order>
|
699 |
-
<show_in_default>1</show_in_default>
|
700 |
-
<show_in_website>1</show_in_website>
|
701 |
-
<show_in_store>1</show_in_store>
|
702 |
-
</title>
|
703 |
-
<allowspecific translate="label">
|
704 |
-
<label>Payment from Applicable Countries</label>
|
705 |
-
<frontend_type>allowspecific</frontend_type>
|
706 |
-
<config_path>payment/moneybookers_mae/allowspecific</config_path>
|
707 |
-
<sort_order>6</sort_order>
|
708 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
709 |
-
<show_in_default>1</show_in_default>
|
710 |
-
<show_in_website>1</show_in_website>
|
711 |
-
<show_in_store>1</show_in_store>
|
712 |
-
</allowspecific>
|
713 |
-
<specificcountry translate="label">
|
714 |
-
<label>Payment from Specific Countries</label>
|
715 |
-
<frontend_type>multiselect</frontend_type>
|
716 |
-
<config_path>payment/moneybookers_mae/specificcountry</config_path>
|
717 |
-
<sort_order>7</sort_order>
|
718 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
719 |
-
<show_in_default>1</show_in_default>
|
720 |
-
<show_in_website>1</show_in_website>
|
721 |
-
<show_in_store>1</show_in_store>
|
722 |
-
<can_be_empty>1</can_be_empty>
|
723 |
-
</specificcountry>
|
724 |
-
</fields>
|
725 |
-
</moneybookers_mae>
|
726 |
-
<moneybookers_npy translate="label" module="moneybookers">
|
727 |
-
<label>EPS Online-Überweisung (powered by Moneybookers) - Austria</label>
|
728 |
-
<frontend_type>text</frontend_type>
|
729 |
-
<sort_order>301</sort_order>
|
730 |
-
<show_in_default>1</show_in_default>
|
731 |
-
<show_in_website>1</show_in_website>
|
732 |
-
<show_in_store>1</show_in_store>
|
733 |
-
<fields>
|
734 |
-
<active translate="label">
|
735 |
-
<label>Enabled</label>
|
736 |
-
<frontend_type>select</frontend_type>
|
737 |
-
<config_path>payment/moneybookers_npy/active</config_path>
|
738 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
739 |
-
<sort_order>1</sort_order>
|
740 |
-
<show_in_default>1</show_in_default>
|
741 |
-
<show_in_website>1</show_in_website>
|
742 |
-
<show_in_store>1</show_in_store>
|
743 |
-
</active>
|
744 |
-
<sort_order translate="label">
|
745 |
-
<label>Sort Order</label>
|
746 |
-
<frontend_type>text</frontend_type>
|
747 |
-
<config_path>payment/moneybookers_npy/sort_order</config_path>
|
748 |
-
<sort_order>3</sort_order>
|
749 |
-
<show_in_default>1</show_in_default>
|
750 |
-
<show_in_website>1</show_in_website>
|
751 |
-
<show_in_store>1</show_in_store>
|
752 |
-
</sort_order>
|
753 |
-
<title translate="label">
|
754 |
-
<label>Title</label>
|
755 |
-
<frontend_type>text</frontend_type>
|
756 |
-
<config_path>payment/moneybookers_npy/title</config_path>
|
757 |
-
<sort_order>5</sort_order>
|
758 |
-
<show_in_default>1</show_in_default>
|
759 |
-
<show_in_website>1</show_in_website>
|
760 |
-
<show_in_store>1</show_in_store>
|
761 |
-
</title>
|
762 |
-
<allowspecific translate="label">
|
763 |
-
<label>Payment from Applicable Countries</label>
|
764 |
-
<frontend_type>allowspecific</frontend_type>
|
765 |
-
<config_path>payment/moneybookers_npy/allowspecific</config_path>
|
766 |
-
<sort_order>6</sort_order>
|
767 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
768 |
-
<show_in_default>1</show_in_default>
|
769 |
-
<show_in_website>1</show_in_website>
|
770 |
-
<show_in_store>1</show_in_store>
|
771 |
-
</allowspecific>
|
772 |
-
<specificcountry translate="label">
|
773 |
-
<label>Payment from Specific Countries</label>
|
774 |
-
<frontend_type>multiselect</frontend_type>
|
775 |
-
<config_path>payment/moneybookers_npy/specificcountry</config_path>
|
776 |
-
<sort_order>7</sort_order>
|
777 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
778 |
-
<show_in_default>1</show_in_default>
|
779 |
-
<show_in_website>1</show_in_website>
|
780 |
-
<show_in_store>1</show_in_store>
|
781 |
-
<can_be_empty>1</can_be_empty>
|
782 |
-
</specificcountry>
|
783 |
-
</fields>
|
784 |
-
</moneybookers_npy>
|
785 |
-
<moneybookers_pli translate="label" module="moneybookers">
|
786 |
-
<label>POLi (powered by Moneybookers) - Australia</label>
|
787 |
-
<frontend_type>text</frontend_type>
|
788 |
-
<sort_order>311</sort_order>
|
789 |
-
<show_in_default>1</show_in_default>
|
790 |
-
<show_in_website>1</show_in_website>
|
791 |
-
<show_in_store>1</show_in_store>
|
792 |
-
<fields>
|
793 |
-
<active translate="label">
|
794 |
-
<label>Enabled</label>
|
795 |
-
<frontend_type>select</frontend_type>
|
796 |
-
<config_path>payment/moneybookers_pli/active</config_path>
|
797 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
798 |
-
<sort_order>1</sort_order>
|
799 |
-
<show_in_default>1</show_in_default>
|
800 |
-
<show_in_website>1</show_in_website>
|
801 |
-
<show_in_store>1</show_in_store>
|
802 |
-
</active>
|
803 |
-
<sort_order translate="label">
|
804 |
-
<label>Sort Order</label>
|
805 |
-
<frontend_type>text</frontend_type>
|
806 |
-
<config_path>payment/moneybookers_pli/sort_order</config_path>
|
807 |
-
<sort_order>3</sort_order>
|
808 |
-
<show_in_default>1</show_in_default>
|
809 |
-
<show_in_website>1</show_in_website>
|
810 |
-
<show_in_store>1</show_in_store>
|
811 |
-
</sort_order>
|
812 |
-
<title translate="label">
|
813 |
-
<label>Title</label>
|
814 |
-
<frontend_type>text</frontend_type>
|
815 |
-
<config_path>payment/moneybookers_pli/title</config_path>
|
816 |
-
<sort_order>5</sort_order>
|
817 |
-
<show_in_default>1</show_in_default>
|
818 |
-
<show_in_website>1</show_in_website>
|
819 |
-
<show_in_store>1</show_in_store>
|
820 |
-
</title>
|
821 |
-
<allowspecific translate="label">
|
822 |
-
<label>Payment from Applicable Countries</label>
|
823 |
-
<frontend_type>allowspecific</frontend_type>
|
824 |
-
<config_path>payment/moneybookers_pli/allowspecific</config_path>
|
825 |
-
<sort_order>6</sort_order>
|
826 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
827 |
-
<show_in_default>1</show_in_default>
|
828 |
-
<show_in_website>1</show_in_website>
|
829 |
-
<show_in_store>1</show_in_store>
|
830 |
-
</allowspecific>
|
831 |
-
<specificcountry translate="label">
|
832 |
-
<label>Payment from Specific Countries</label>
|
833 |
-
<frontend_type>multiselect</frontend_type>
|
834 |
-
<config_path>payment/moneybookers_pli/specificcountry</config_path>
|
835 |
-
<sort_order>7</sort_order>
|
836 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
837 |
-
<show_in_default>1</show_in_default>
|
838 |
-
<show_in_website>1</show_in_website>
|
839 |
-
<show_in_store>1</show_in_store>
|
840 |
-
<can_be_empty>1</can_be_empty>
|
841 |
-
</specificcountry>
|
842 |
-
</fields>
|
843 |
-
</moneybookers_pli>
|
844 |
-
<moneybookers_psp translate="label" module="moneybookers">
|
845 |
-
<label>Postepay (powered by Moneybookers) - Italy</label>
|
846 |
-
<frontend_type>text</frontend_type>
|
847 |
-
<sort_order>251</sort_order>
|
848 |
-
<show_in_default>1</show_in_default>
|
849 |
-
<show_in_website>1</show_in_website>
|
850 |
-
<show_in_store>1</show_in_store>
|
851 |
-
<fields>
|
852 |
-
<active translate="label">
|
853 |
-
<label>Enabled</label>
|
854 |
-
<frontend_type>select</frontend_type>
|
855 |
-
<config_path>payment/moneybookers_psp/active</config_path>
|
856 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
857 |
-
<sort_order>1</sort_order>
|
858 |
-
<show_in_default>1</show_in_default>
|
859 |
-
<show_in_website>1</show_in_website>
|
860 |
-
<show_in_store>1</show_in_store>
|
861 |
-
</active>
|
862 |
-
<sort_order translate="label">
|
863 |
-
<label>Sort Order</label>
|
864 |
-
<frontend_type>text</frontend_type>
|
865 |
-
<config_path>payment/moneybookers_psp/sort_order</config_path>
|
866 |
-
<sort_order>3</sort_order>
|
867 |
-
<show_in_default>1</show_in_default>
|
868 |
-
<show_in_website>1</show_in_website>
|
869 |
-
<show_in_store>1</show_in_store>
|
870 |
-
</sort_order>
|
871 |
-
<title translate="label">
|
872 |
-
<label>Title</label>
|
873 |
-
<frontend_type>text</frontend_type>
|
874 |
-
<config_path>payment/moneybookers_psp/title</config_path>
|
875 |
-
<sort_order>5</sort_order>
|
876 |
-
<show_in_default>1</show_in_default>
|
877 |
-
<show_in_website>1</show_in_website>
|
878 |
-
<show_in_store>1</show_in_store>
|
879 |
-
</title>
|
880 |
-
<allowspecific translate="label">
|
881 |
-
<label>Payment from Applicable Countries</label>
|
882 |
-
<frontend_type>allowspecific</frontend_type>
|
883 |
-
<config_path>payment/moneybookers_psp/allowspecific</config_path>
|
884 |
-
<sort_order>6</sort_order>
|
885 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
886 |
-
<show_in_default>1</show_in_default>
|
887 |
-
<show_in_website>1</show_in_website>
|
888 |
-
<show_in_store>1</show_in_store>
|
889 |
-
</allowspecific>
|
890 |
-
<specificcountry translate="label">
|
891 |
-
<label>Payment from Specific Countries</label>
|
892 |
-
<frontend_type>multiselect</frontend_type>
|
893 |
-
<config_path>payment/moneybookers_psp/specificcountry</config_path>
|
894 |
-
<sort_order>7</sort_order>
|
895 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
896 |
-
<show_in_default>1</show_in_default>
|
897 |
-
<show_in_website>1</show_in_website>
|
898 |
-
<show_in_store>1</show_in_store>
|
899 |
-
<can_be_empty>1</can_be_empty>
|
900 |
-
</specificcountry>
|
901 |
-
</fields>
|
902 |
-
</moneybookers_psp>
|
903 |
-
<moneybookers_pwy translate="label" module="moneybookers">
|
904 |
-
<label>Przelewy24 (powered by Moneybookers) - Poland</label>
|
905 |
-
<frontend_type>text</frontend_type>
|
906 |
-
<sort_order>321</sort_order>
|
907 |
-
<show_in_default>1</show_in_default>
|
908 |
-
<show_in_website>1</show_in_website>
|
909 |
-
<show_in_store>1</show_in_store>
|
910 |
-
<fields>
|
911 |
-
<active translate="label">
|
912 |
-
<label>Enabled</label>
|
913 |
-
<frontend_type>select</frontend_type>
|
914 |
-
<config_path>payment/moneybookers_pwy/active</config_path>
|
915 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
916 |
-
<sort_order>1</sort_order>
|
917 |
-
<show_in_default>1</show_in_default>
|
918 |
-
<show_in_website>1</show_in_website>
|
919 |
-
<show_in_store>1</show_in_store>
|
920 |
-
</active>
|
921 |
-
<sort_order translate="label">
|
922 |
-
<label>Sort Order</label>
|
923 |
-
<frontend_type>text</frontend_type>
|
924 |
-
<config_path>payment/moneybookers_pwy/sort_order</config_path>
|
925 |
-
<sort_order>3</sort_order>
|
926 |
-
<show_in_default>1</show_in_default>
|
927 |
-
<show_in_website>1</show_in_website>
|
928 |
-
<show_in_store>1</show_in_store>
|
929 |
-
</sort_order>
|
930 |
-
<title translate="label">
|
931 |
-
<label>Title</label>
|
932 |
-
<frontend_type>text</frontend_type>
|
933 |
-
<config_path>payment/moneybookers_pwy/title</config_path>
|
934 |
-
<sort_order>5</sort_order>
|
935 |
-
<show_in_default>1</show_in_default>
|
936 |
-
<show_in_website>1</show_in_website>
|
937 |
-
<show_in_store>1</show_in_store>
|
938 |
-
</title>
|
939 |
-
<allowspecific translate="label">
|
940 |
-
<label>Payment from Applicable Countries</label>
|
941 |
-
<frontend_type>allowspecific</frontend_type>
|
942 |
-
<config_path>payment/moneybookers_pwy/allowspecific</config_path>
|
943 |
-
<sort_order>6</sort_order>
|
944 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
945 |
-
<show_in_default>1</show_in_default>
|
946 |
-
<show_in_website>1</show_in_website>
|
947 |
-
<show_in_store>1</show_in_store>
|
948 |
-
</allowspecific>
|
949 |
-
<specificcountry translate="label">
|
950 |
-
<label>Payment from Specific Countries</label>
|
951 |
-
<frontend_type>multiselect</frontend_type>
|
952 |
-
<config_path>payment/moneybookers_pwy/specificcountry</config_path>
|
953 |
-
<sort_order>7</sort_order>
|
954 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
955 |
-
<show_in_default>1</show_in_default>
|
956 |
-
<show_in_website>1</show_in_website>
|
957 |
-
<show_in_store>1</show_in_store>
|
958 |
-
<can_be_empty>1</can_be_empty>
|
959 |
-
</specificcountry>
|
960 |
-
</fields>
|
961 |
-
</moneybookers_pwy>
|
962 |
-
<moneybookers_sft translate="label" module="moneybookers">
|
963 |
-
<label>Sofortüberweisung (powered by Moneybookers) - Germany</label>
|
964 |
-
<frontend_type>text</frontend_type>
|
965 |
-
<sort_order>213</sort_order>
|
966 |
-
<show_in_default>1</show_in_default>
|
967 |
-
<show_in_website>1</show_in_website>
|
968 |
-
<show_in_store>1</show_in_store>
|
969 |
-
<fields>
|
970 |
-
<active translate="label">
|
971 |
-
<label>Enabled</label>
|
972 |
-
<frontend_type>select</frontend_type>
|
973 |
-
<config_path>payment/moneybookers_sft/active</config_path>
|
974 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
975 |
-
<sort_order>1</sort_order>
|
976 |
-
<show_in_default>1</show_in_default>
|
977 |
-
<show_in_website>1</show_in_website>
|
978 |
-
<show_in_store>1</show_in_store>
|
979 |
-
</active>
|
980 |
-
<sort_order translate="label">
|
981 |
-
<label>Sort Order</label>
|
982 |
-
<frontend_type>text</frontend_type>
|
983 |
-
<config_path>payment/moneybookers_sft/sort_order</config_path>
|
984 |
-
<sort_order>3</sort_order>
|
985 |
-
<show_in_default>1</show_in_default>
|
986 |
-
<show_in_website>1</show_in_website>
|
987 |
-
<show_in_store>1</show_in_store>
|
988 |
-
</sort_order>
|
989 |
-
<title translate="label">
|
990 |
-
<label>Title</label>
|
991 |
-
<frontend_type>text</frontend_type>
|
992 |
-
<config_path>payment/moneybookers_sft/title</config_path>
|
993 |
-
<sort_order>5</sort_order>
|
994 |
-
<show_in_default>1</show_in_default>
|
995 |
-
<show_in_website>1</show_in_website>
|
996 |
-
<show_in_store>1</show_in_store>
|
997 |
-
</title>
|
998 |
-
<allowspecific translate="label">
|
999 |
-
<label>Payment from Applicable Countries</label>
|
1000 |
-
<frontend_type>allowspecific</frontend_type>
|
1001 |
-
<config_path>payment/moneybookers_sft/allowspecific</config_path>
|
1002 |
-
<sort_order>6</sort_order>
|
1003 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1004 |
-
<show_in_default>1</show_in_default>
|
1005 |
-
<show_in_website>1</show_in_website>
|
1006 |
-
<show_in_store>1</show_in_store>
|
1007 |
-
</allowspecific>
|
1008 |
-
<specificcountry translate="label">
|
1009 |
-
<label>Payment from Specific Countries</label>
|
1010 |
-
<frontend_type>multiselect</frontend_type>
|
1011 |
-
<config_path>payment/moneybookers_sft/specificcountry</config_path>
|
1012 |
-
<sort_order>7</sort_order>
|
1013 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
1014 |
-
<show_in_default>1</show_in_default>
|
1015 |
-
<show_in_website>1</show_in_website>
|
1016 |
-
<show_in_store>1</show_in_store>
|
1017 |
-
<can_be_empty>1</can_be_empty>
|
1018 |
-
</specificcountry>
|
1019 |
-
</fields>
|
1020 |
-
</moneybookers_sft>
|
1021 |
-
<moneybookers_so2 translate="label" module="moneybookers">
|
1022 |
-
<label>Nordea Solo (powered by Moneybookers) - Finland</label>
|
1023 |
-
<frontend_type>text</frontend_type>
|
1024 |
-
<sort_order>281</sort_order>
|
1025 |
-
<show_in_default>1</show_in_default>
|
1026 |
-
<show_in_website>1</show_in_website>
|
1027 |
-
<show_in_store>1</show_in_store>
|
1028 |
-
<fields>
|
1029 |
-
<active translate="label">
|
1030 |
-
<label>Enabled</label>
|
1031 |
-
<frontend_type>select</frontend_type>
|
1032 |
-
<config_path>payment/moneybookers_so2/active</config_path>
|
1033 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1034 |
-
<sort_order>1</sort_order>
|
1035 |
-
<show_in_default>1</show_in_default>
|
1036 |
-
<show_in_website>1</show_in_website>
|
1037 |
-
<show_in_store>1</show_in_store>
|
1038 |
-
</active>
|
1039 |
-
<sort_order translate="label">
|
1040 |
-
<label>Sort Order</label>
|
1041 |
-
<frontend_type>text</frontend_type>
|
1042 |
-
<config_path>payment/moneybookers_so2/sort_order</config_path>
|
1043 |
-
<sort_order>3</sort_order>
|
1044 |
-
<show_in_default>1</show_in_default>
|
1045 |
-
<show_in_website>1</show_in_website>
|
1046 |
-
<show_in_store>1</show_in_store>
|
1047 |
-
</sort_order>
|
1048 |
-
<title translate="label">
|
1049 |
-
<label>Title</label>
|
1050 |
-
<frontend_type>text</frontend_type>
|
1051 |
-
<config_path>payment/moneybookers_so2/title</config_path>
|
1052 |
-
<sort_order>5</sort_order>
|
1053 |
-
<show_in_default>1</show_in_default>
|
1054 |
-
<show_in_website>1</show_in_website>
|
1055 |
-
<show_in_store>1</show_in_store>
|
1056 |
-
</title>
|
1057 |
-
<allowspecific translate="label">
|
1058 |
-
<label>Payment from Applicable Countries</label>
|
1059 |
-
<frontend_type>allowspecific</frontend_type>
|
1060 |
-
<config_path>payment/moneybookers_so2/allowspecific</config_path>
|
1061 |
-
<sort_order>6</sort_order>
|
1062 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1063 |
-
<show_in_default>1</show_in_default>
|
1064 |
-
<show_in_website>1</show_in_website>
|
1065 |
-
<show_in_store>1</show_in_store>
|
1066 |
-
</allowspecific>
|
1067 |
-
<specificcountry translate="label">
|
1068 |
-
<label>Payment from Specific Countries</label>
|
1069 |
-
<frontend_type>multiselect</frontend_type>
|
1070 |
-
<config_path>payment/moneybookers_so2/specificcountry</config_path>
|
1071 |
-
<sort_order>7</sort_order>
|
1072 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
1073 |
-
<show_in_default>1</show_in_default>
|
1074 |
-
<show_in_website>1</show_in_website>
|
1075 |
-
<show_in_store>1</show_in_store>
|
1076 |
-
<can_be_empty>1</can_be_empty>
|
1077 |
-
</specificcountry>
|
1078 |
-
</fields>
|
1079 |
-
</moneybookers_so2>
|
1080 |
-
<moneybookers_wlt translate="label" module="moneybookers">
|
1081 |
-
<label>Moneybookers eWallet</label>
|
1082 |
-
<frontend_type>text</frontend_type>
|
1083 |
-
<sort_order>331</sort_order>
|
1084 |
-
<show_in_default>1</show_in_default>
|
1085 |
-
<show_in_website>1</show_in_website>
|
1086 |
-
<show_in_store>1</show_in_store>
|
1087 |
-
<fields>
|
1088 |
-
<active translate="label">
|
1089 |
-
<label>Enabled</label>
|
1090 |
-
<frontend_type>select</frontend_type>
|
1091 |
-
<config_path>payment/moneybookers_wlt/active</config_path>
|
1092 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1093 |
-
<sort_order>1</sort_order>
|
1094 |
-
<show_in_default>1</show_in_default>
|
1095 |
-
<show_in_website>1</show_in_website>
|
1096 |
-
<show_in_store>1</show_in_store>
|
1097 |
-
</active>
|
1098 |
-
<sort_order translate="label">
|
1099 |
-
<label>Sort Order</label>
|
1100 |
-
<frontend_type>text</frontend_type>
|
1101 |
-
<config_path>payment/moneybookers_wlt/sort_order</config_path>
|
1102 |
-
<sort_order>3</sort_order>
|
1103 |
-
<show_in_default>1</show_in_default>
|
1104 |
-
<show_in_website>1</show_in_website>
|
1105 |
-
<show_in_store>1</show_in_store>
|
1106 |
-
</sort_order>
|
1107 |
-
<title translate="label">
|
1108 |
-
<label>Title</label>
|
1109 |
-
<frontend_type>text</frontend_type>
|
1110 |
-
<config_path>payment/moneybookers_wlt/title</config_path>
|
1111 |
-
<sort_order>5</sort_order>
|
1112 |
-
<show_in_default>1</show_in_default>
|
1113 |
-
<show_in_website>1</show_in_website>
|
1114 |
-
<show_in_store>1</show_in_store>
|
1115 |
-
</title>
|
1116 |
-
<allowspecific translate="label">
|
1117 |
-
<label>Payment from Applicable Countries</label>
|
1118 |
-
<frontend_type>allowspecific</frontend_type>
|
1119 |
-
<config_path>payment/moneybookers_wlt/allowspecific</config_path>
|
1120 |
-
<sort_order>6</sort_order>
|
1121 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1122 |
-
<show_in_default>1</show_in_default>
|
1123 |
-
<show_in_website>1</show_in_website>
|
1124 |
-
<show_in_store>1</show_in_store>
|
1125 |
-
</allowspecific>
|
1126 |
-
<specificcountry translate="label">
|
1127 |
-
<label>Payment from Specific Countries</label>
|
1128 |
-
<frontend_type>multiselect</frontend_type>
|
1129 |
-
<config_path>payment/moneybookers_wlt/specificcountry</config_path>
|
1130 |
-
<sort_order>7</sort_order>
|
1131 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
1132 |
-
<show_in_default>1</show_in_default>
|
1133 |
-
<show_in_website>1</show_in_website>
|
1134 |
-
<show_in_store>1</show_in_store>
|
1135 |
-
<can_be_empty>1</can_be_empty>
|
1136 |
-
</specificcountry>
|
1137 |
-
</fields>
|
1138 |
-
</moneybookers_wlt>
|
1139 |
-
<moneybookers_obt translate="label" module="moneybookers">
|
1140 |
-
<label>Online Bank Transfer (powered by Moneybookers)</label>
|
1141 |
-
<frontend_type>text</frontend_type>
|
1142 |
-
<sort_order>381</sort_order>
|
1143 |
-
<show_in_default>1</show_in_default>
|
1144 |
-
<show_in_website>1</show_in_website>
|
1145 |
-
<show_in_store>1</show_in_store>
|
1146 |
-
<fields>
|
1147 |
-
<active translate="label">
|
1148 |
-
<label>Enabled</label>
|
1149 |
-
<frontend_type>select</frontend_type>
|
1150 |
-
<config_path>payment/moneybookers_obt/active</config_path>
|
1151 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1152 |
-
<sort_order>1</sort_order>
|
1153 |
-
<show_in_default>1</show_in_default>
|
1154 |
-
<show_in_website>1</show_in_website>
|
1155 |
-
<show_in_store>1</show_in_store>
|
1156 |
-
</active>
|
1157 |
-
<sort_order translate="label">
|
1158 |
-
<label>Sort Order</label>
|
1159 |
-
<frontend_type>text</frontend_type>
|
1160 |
-
<config_path>payment/moneybookers_obt/sort_order</config_path>
|
1161 |
-
<sort_order>3</sort_order>
|
1162 |
-
<show_in_default>1</show_in_default>
|
1163 |
-
<show_in_website>1</show_in_website>
|
1164 |
-
<show_in_store>1</show_in_store>
|
1165 |
-
</sort_order>
|
1166 |
-
<title translate="label">
|
1167 |
-
<label>Title</label>
|
1168 |
-
<frontend_type>text</frontend_type>
|
1169 |
-
<config_path>payment/moneybookers_obt/title</config_path>
|
1170 |
-
<sort_order>5</sort_order>
|
1171 |
-
<show_in_default>1</show_in_default>
|
1172 |
-
<show_in_website>1</show_in_website>
|
1173 |
-
<show_in_store>1</show_in_store>
|
1174 |
-
</title>
|
1175 |
-
<allowspecific translate="label">
|
1176 |
-
<label>Payment from Applicable Countries</label>
|
1177 |
-
<frontend_type>allowspecific</frontend_type>
|
1178 |
-
<config_path>payment/moneybookers_obt/allowspecific</config_path>
|
1179 |
-
<sort_order>6</sort_order>
|
1180 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1181 |
-
<show_in_default>1</show_in_default>
|
1182 |
-
<show_in_website>1</show_in_website>
|
1183 |
-
<show_in_store>1</show_in_store>
|
1184 |
-
</allowspecific>
|
1185 |
-
<specificcountry translate="label">
|
1186 |
-
<label>Payment from Specific Countries</label>
|
1187 |
-
<frontend_type>multiselect</frontend_type>
|
1188 |
-
<config_path>payment/moneybookers_obt/specificcountry</config_path>
|
1189 |
-
<sort_order>7</sort_order>
|
1190 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
1191 |
-
<show_in_default>1</show_in_default>
|
1192 |
-
<show_in_website>1</show_in_website>
|
1193 |
-
<show_in_store>1</show_in_store>
|
1194 |
-
<can_be_empty>1</can_be_empty>
|
1195 |
-
</specificcountry>
|
1196 |
-
</fields>
|
1197 |
-
</moneybookers_obt>
|
1198 |
-
</groups>
|
1199 |
-
</moneybookers>
|
1200 |
-
</sections>
|
1201 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/sql/moneybookers_setup/install-1.6.0.0.php
DELETED
@@ -1,22 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
|
21 |
-
$installer = $this;
|
22 |
-
/* @var $installer Mage_Core_Model_Resource_Setup */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Phoenix/Moneybookers/sql/moneybookers_setup/mysql4-upgrade-1.2-1.2.0.1.php
DELETED
@@ -1,41 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/osl-3.0.php
|
11 |
-
* If you did not receive a copy of the license and are unable to
|
12 |
-
* obtain it through the world-wide-web, please send an email
|
13 |
-
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
-
*
|
15 |
-
* @category Phoenix
|
16 |
-
* @package Phoenix_Moneybookers
|
17 |
-
* @copyright Copyright (c) 2015 Phoenix Medien GmbH & Co. KG (http://www.phoenix-medien.de)
|
18 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
19 |
-
*/
|
20 |
-
|
21 |
-
/* @var $installer Mage_Core_Model_Resource_Setup */
|
22 |
-
$installer = $this;
|
23 |
-
|
24 |
-
$installer->startSetup();
|
25 |
-
$conn = $installer->getConnection();
|
26 |
-
|
27 |
-
$select = $conn
|
28 |
-
->select()
|
29 |
-
->from($this->getTable('core/config_data'), array('scope', 'scope_id', 'path', 'value'))
|
30 |
-
->where(new Zend_Db_Expr("path LIKE 'moneybookers/moneybookers%'"));
|
31 |
-
$data = $conn->fetchAll($select);
|
32 |
-
|
33 |
-
if (!empty($data)) {
|
34 |
-
foreach ($data as $key => $value) {
|
35 |
-
$data[$key]['path'] = preg_replace('/^moneybookers\/moneybookers/', 'payment/moneybookers', $value['path']);
|
36 |
-
}
|
37 |
-
$conn->insertOnDuplicate($this->getTable('core/config_data'), $data, array('path'));
|
38 |
-
$conn->delete($this->getTable('core/config_data'), new Zend_Db_Expr("path LIKE 'moneybookers/moneybookers%'"));
|
39 |
-
}
|
40 |
-
|
41 |
-
$installer->endSetup();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/adminhtml/default/default/layout/payitsimple_notification.xml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout>
|
3 |
+
<default>
|
4 |
+
<reference name="notifications">
|
5 |
+
<block type="pis_payment/adminhtml_system_config_notification" name="notification_sip" as="notification_sip"
|
6 |
+
template="payitsimple/system/config/notification.phtml"/>
|
7 |
+
</reference>
|
8 |
+
</default>
|
9 |
+
</layout>
|
app/design/adminhtml/default/default/template/payitsimple/system/config/button.phtml
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script type="text/javascript">
|
2 |
+
//<![CDATA[
|
3 |
+
function checkSip() {
|
4 |
+
new Ajax.Request('<?php echo $this->getAjaxCheckUrl() ?>', {
|
5 |
+
method: 'get',
|
6 |
+
onSuccess: function(transport){
|
7 |
+
alert(transport.responseText)
|
8 |
+
}
|
9 |
+
});
|
10 |
+
}
|
11 |
+
//]]>
|
12 |
+
</script>
|
13 |
+
|
14 |
+
<?php echo $this->getButtonHtml() ?>
|
app/design/adminhtml/default/default/template/payitsimple/system/config/notification.phtml
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if (!$this->isConfigured()): ?>
|
2 |
+
<div class="notification-global notification-global-notice">
|
3 |
+
Thank you for installing Splitit, you need to be registered on our website in order to accept payments. Please <a href="<?php echo $this->getUrl('adminhtml/system_config/edit', array('section'=>'payment'))?>#payment_pis_cc-head">configure</a> our exstension.
|
4 |
+
</div>
|
5 |
+
<?php endif; ?>
|
app/design/frontend/base/default/layout/pis_payment.xml
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<payitsimple_payment_help>
|
4 |
+
<reference name="root">
|
5 |
+
<action method="setTemplate">
|
6 |
+
<template>page/empty.phtml</template>
|
7 |
+
</action>
|
8 |
+
<action method="setIsHandle">
|
9 |
+
<applied>1</applied>
|
10 |
+
</action>
|
11 |
+
</reference>
|
12 |
+
<reference name="content">
|
13 |
+
<block type="core/template" name="payitsimple.help" template="payitsimple/help.phtml" />
|
14 |
+
</reference>
|
15 |
+
</payitsimple_payment_help>
|
16 |
+
<payitsimple_payment_terms>
|
17 |
+
<reference name="root">
|
18 |
+
<action method="setTemplate">
|
19 |
+
<template>page/empty.phtml</template>
|
20 |
+
</action>
|
21 |
+
<action method="setIsHandle">
|
22 |
+
<applied>1</applied>
|
23 |
+
</action>
|
24 |
+
</reference>
|
25 |
+
<reference name="content">
|
26 |
+
<block type="core/template" name="payitsimple.terms" template="payitsimple/terms.phtml" />
|
27 |
+
</reference>
|
28 |
+
</payitsimple_payment_terms>
|
29 |
+
</layout>
|
app/design/frontend/base/default/template/payitsimple/form/method_faq.phtml
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ($this->getPaymentInfoEnabled()):?>
|
2 |
+
<a style="float: none;" href="#" onclick="popWin('<?php echo $this->getUrl('payitsimple/payment/help')?>', 'Tell me more', 'width=503,height=700,left=0,top=0,location=no,status=no,scrollbars=no,resizable=no'); return false;"><?php echo $this->getPaymentInfoTitle() ?></a>
|
3 |
+
<?php endif; ?>
|
4 |
+
<img src="data:image/gif;base64,R0lGODlhdAAjAMQAAPv59jFPjqKfp05nnvssG/iRkfOFAsrGxqiwyvimKPFVVv7ao/lfBf20RpdQYdLU2/zDw/+gCP7q2YV+gv7IdneJsriBT6QZLrzC1eTm7hAze/edExk6gPsPDP+ZAP///yH5BAAAAAAALAAAAAB0ACMAAAX/4CSOZGmeaJo+X+u+cCtBRQ1BQKy3gLT8C0lu95oAjsikcslsOpmHA/EFoCkInayWUJMQfY2IZ0xOUILTyXTNbsce0jVEoa3bswXvS9Ig+/8eERRDMWoZA4iJiouMjY6PiBU5cFMSdHeYWwUyYYCeZBsUOmoPHBqnqKmqq6ytrhoBk3E6EFiZt3gLfZ+8Yw16LoYcw8TFxsfIycqmsR+UtLjRHQSBvdYJhB/Cy9zd3bCyOgW20pkMBgbW1r/BHxne8PHF4M6zLhDl+QzqvQ3t7xrkCeRG79mLS/nuEFjIcB+/TwtakDL1qqJFi80MtiiQEBO1CCBDinkICJu2DwAQ/6hcybKly5cwY6rE0ELjB3IdtzDYyfMcSU8R1bhxkyHb0Jr28OXM9xOQP6E6HlSYWiGDCwQVBGCYisCdgADDAlRg0ULA1AcqjbrQiHDptJ5w0zX1swBqDAAYUJEFiPVUhQ8DTg071fVD3lMCEKlF6kJCFi4F6CiogdPcyDGXx4T6sWsdBTN2dQTmYBVA4AGAA6L1WxRtjgwBAmpAkMHqDoNKBWy84ALLwjpYLtzw/ZthBwYJgC0IdDlzBANdGzQIDQNAbA4sBKgGGOCQ3xgIApr6OwV3hwuFC1hoMUcIgHEKhEgw8mFcgR50CtDQ6kyAgDM5SJBAcpwtAIAALAxIHf8Mo9EUW1faaYBaBbJJstYwFYy3hkEcXcDCe3EUMAFaVuFg2AG6VQHBBwdYpYBtNEmwAToWPIABCwvo5oxVtgEQQQILvtAghbFYFxBN3pkywIeBjaXkhrNw5AAAD6BV5QcKXGABfw8AkIEDF2xSgAMfQOBAV7QBMEFXFGBmwJZdofiBWR8ssOUHEngA5BqjZagBTaXQ485oEhoGDkADLLZWlB2QmdYDuk32ggClKdCVAgrAgEAPHejWWQOECNDVnRQYoNtye05BIQexkRdeoS6kZAp2gYk1ADOKMrZRp9pAqJsUY7p4gW4ZsEAAmQI4MIED6+Fz6hgWFHUngh9YQFP/qVK0mSoRq8JiG4UaCICXbbDBsmoA6BJj222z4NOVAzQ50CULkR2BqRFe1qfGHPfW14FQFFAgLgANSDGwA7pJMMgHfUy3RreFAUSadmJVEJsGFs+GxGhksXtPBxgAgB4AU2ZAXgs3usDfB2e6IGeHJ1dQ2BGbLmAAaSj10AAFDqt6Cmpl/TynKgEgUCshgc1W3iwAHAumA1lCfYGyDlSt7AR0KEvH1CJM7QAWDFxtgQXKkj32BAl4YEDZE1iwwc5BrqXSumjRVpN/ouagUsfOzL30Cxy59RhcPMmFjuG8yIXZfDw0QcURj1dHSBKxOl7PHpXlpPhcvIiihoADhi765eikl2766Qm8Hc5Bgm9hBwGbz+XF5xvUbvvtuOeu++68126STUq1rhDnZVhFe+/IJ6/87/bs2jrsZMTeVAIoqomn8thnf/uPq1PR1lLn+ER8IBFJdL326CdvAfM6APC9Ww4RX775MqZvf+4RWMCBBd1X935HG8hMU+ZHP9QZ8IAHtMAEQHU5IoxjKQRYEQUEyI8EENB8OXuCBjfIQV0RoRYduU9jOqOOCDCwEEdJoQrd0bz2zSEaXFhRDBZAgQ30wgzAKATedsjDHvrwh0AMIrXcIIHIYOqIkzFRJWgonSbuzEBrCAEAOw==" style="float: right; margin-left: 10px;"/>
|
app/design/frontend/base/default/template/payitsimple/form/pis.phtml
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php $_code=$this->getMethodCode() ?>
|
2 |
+
<ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
|
3 |
+
<li>
|
4 |
+
<label for="<?php echo $_code ?>_cc_type" class="required"><em>*</em><?php echo $this->__('Credit Card Type') ?></label>
|
5 |
+
<div class="input-box">
|
6 |
+
<select id="<?php echo $_code ?>_cc_type" name="payment[cc_type]" class="required-entry validate-cc-type-select">
|
7 |
+
<option value=""><?php echo $this->__('--Please Select--')?></option>
|
8 |
+
<?php $_ccType = $this->getInfoData('cc_type') ?>
|
9 |
+
<?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
|
10 |
+
<option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
|
11 |
+
<?php endforeach ?>
|
12 |
+
</select>
|
13 |
+
</div>
|
14 |
+
</li>
|
15 |
+
<!--li class="centinel-logos" id="<?php echo $this->getCode() ?>_centinel_logo">
|
16 |
+
<label><?php echo $this->__('To ensure the security of your transactions') ?></label>
|
17 |
+
<div class="input-box">
|
18 |
+
<a href="#" title="<?php echo $this->__('Verified by Visa') ?> " onclick="popWin('<?php echo $this->helper('centinel')->getVisaLearnMorePageUrl()?>', 'verifiedByVisa', 'width=815,height=600,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes'); return false;"><img src="<?php echo $this->getSkinUrl('images/centinel/vbv_ltbg_71x57.png'); ?>" alt="<?php echo $this->__('Verified by Visa') ?>" /></a>
|
19 |
+
<a href="#" title="<?php echo $this->__('MasterCard SecureCode'); ?>" onclick="popWin('<?php echo $this->helper('centinel')->getMastercardLearnMorePageUrl()?>', 'secureCode', 'width=600,height=403,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes'); return false;"><img src="<?php echo $this->getSkinUrl('images/centinel/sc_learn_62x34.png'); ?>" alt="<?php echo $this->__('MasterCard SecureCode') ?>" /></a>
|
20 |
+
</div>
|
21 |
+
</li-->
|
22 |
+
<li>
|
23 |
+
<label for="<?php echo $_code ?>_cc_number" class="required"><em>*</em><?php echo $this->__('Credit Card Number') ?></label>
|
24 |
+
<div class="input-box">
|
25 |
+
<input type="text" id="<?php echo $_code ?>_cc_number" name="payment[cc_number]" title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
|
26 |
+
</div>
|
27 |
+
</li>
|
28 |
+
<li id="<?php echo $_code ?>_cc_type_exp_div">
|
29 |
+
<label for="<?php echo $_code ?>_expiration" class="required"><em>*</em><?php echo $this->__('Expiration Date') ?></label>
|
30 |
+
<div class="input-box">
|
31 |
+
<div class="v-fix">
|
32 |
+
<select id="<?php echo $_code ?>_expiration" name="payment[cc_exp_month]" class="month validate-cc-exp required-entry">
|
33 |
+
<?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
|
34 |
+
<?php foreach ($this->getCcMonths() as $k=>$v): ?>
|
35 |
+
<option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
|
36 |
+
<?php endforeach ?>
|
37 |
+
</select>
|
38 |
+
</div>
|
39 |
+
<div class="v-fix">
|
40 |
+
<?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
|
41 |
+
<select id="<?php echo $_code ?>_expiration_yr" name="payment[cc_exp_year]" class="year required-entry">
|
42 |
+
<?php foreach ($this->getCcYears() as $k=>$v): ?>
|
43 |
+
<option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
|
44 |
+
<?php endforeach ?>
|
45 |
+
</select>
|
46 |
+
</div>
|
47 |
+
</div>
|
48 |
+
</li>
|
49 |
+
<?php echo $this->getChildHtml() ?>
|
50 |
+
<?php if($this->hasVerification()): ?>
|
51 |
+
<li id="<?php echo $_code ?>_cc_type_cvv_div">
|
52 |
+
<label for="<?php echo $_code ?>_cc_cid" class="required"><em>*</em><?php echo $this->__('Card Verification Number') ?></label>
|
53 |
+
<div class="input-box">
|
54 |
+
<div class="v-fix">
|
55 |
+
<input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="input-text cvv required-entry validate-cc-cvn" id="<?php echo $_code ?>_cc_cid" name="payment[cc_cid]" value="" />
|
56 |
+
</div>
|
57 |
+
<a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
|
58 |
+
</div>
|
59 |
+
</li>
|
60 |
+
<?php endif; ?>
|
61 |
+
<li>
|
62 |
+
<label for="<?php echo $_code ?>_installments_no" class="required"><em>*</em><?php echo $this->__('Number of Installments ') ?></label>
|
63 |
+
<div class="input-box">
|
64 |
+
<select id="<?php echo $_code ?>_installments_no" name="payment[installments_no]" class="required-entry">
|
65 |
+
<option value=""><?php echo $this->__('--Please Select--')?></option>
|
66 |
+
<?php $_iNo = $this->getInfoData('installments_no') ?>
|
67 |
+
<?php foreach ($this->getAvailableInstallments() as $_num => $_typeName): ?>
|
68 |
+
<option value="<?php echo $_num ?>"<?php if($_num==$_iNo): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
|
69 |
+
<?php endforeach ?>
|
70 |
+
</select>
|
71 |
+
</div>
|
72 |
+
</li>
|
73 |
+
<li>
|
74 |
+
<input style="float: left; margin-right: 5px; margin-top: 2px;" type="checkbox" id="<?php echo $_code ?>_terms" name="payment[terms]" class="required-entry" value="1" />
|
75 |
+
<label for="<?php echo $_code ?>_terms" class="required">
|
76 |
+
<em>*</em><?php echo $this->__('I acknowledge that I have read and agree to the %s terms and conditions %s','<a href="#" style="float:none; margin-left:0px;" onclick="popWin(\'' . 'http://www.splitit.com/legal/customers-terms-and-conditions/' . "', 'terms and conditions', 'width=750,height=607,left=0,top=0,location=no,status=no,scrollbars=yes,resizable=no'); return false;\">",'</a>') ?>
|
77 |
+
</label>
|
78 |
+
</li>
|
79 |
+
<li>
|
80 |
+
<div align="center">
|
81 |
+
<img src="data:image/png;base64,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"/>
|
82 |
+
</div>
|
83 |
+
</li>
|
84 |
+
</ul>
|
app/design/frontend/base/default/template/payitsimple/help.phtml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<img src="data:image/png;base64,
|
2 |
+
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x58q5jJjmi/3XHI+nQ+le9SzOL0qI/TcFxrBxUMZT+a/yPD/AIOfFS20f4YeG7GX4ieG9Ilt7RImsdRhLzwYGNjsZ13EeuBVDXP2H5xKx0bxVsiJyE1C03svtujZc/lWUnhas3NysefiJZLjq0q7r8rfRx/4B2mt/GOybRrxB8UfCMxeFwI4bX52JU8Li5PJ7cVxmg/sQSidG1rxX5kQPzRafaeWW9tzs2Pyqf8AZYO/Nc5lTyWhNVPbuVu0V/kfNHhHwtqvi/VbHR9HspLy/mCqkI6IOAWdv4VXux/UkA/ov8PfhV4c+Gdg1tomnpbtJjzZ2JeaYju7nk/ToK2q5mkrUkexjONYxh7PB0/m/wDJDPhF8ObX4W+CrLQ7dhNMgMlzcYx50zcu/wBM8AdgAK7YDFeDUqyqy5pM/McTi62MqOrXldsWisjkCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAAgHrRQAAYooACM0UAAGKKACigAooAKKACigAooAKKACigAooAKKAP/0v1SooAKKACigAooAKazEZoAG9q8n+Ln7RPh34VsbKQvqmtlQy6dakbkB6NIx4QfXk9ga6aeHqVPhR6mFyzF4z+BTbXe2n3nq9fDGvftjePNSuC2nQ6Vo8Of9WYGuGx/vll/9BruWW1nvZH0dPhDM5q7il6v/I+5818NaD+2P4702cHUoNK1iDPMYha2bH++Gbn/AIDSlltaO1mFThDM4K6Sfoz7mFeVfCX9obw78VT9jhLabrSrubTrojewHVo2HDj6cjuBXDUw9Wl8UT5vFZbi8H/Hptfl956vSKc1znmC0UAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFAH//T/VKigAooAKKACigDy39oL4qf8Ks8Bz3luUOrXj/ZbFG5HmEElyO4RQWI74x3rwP9t/VpZ/G/h7Ttx+z29jJNs7b3kAz+SY/G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8OjS9Yjg1fREnhjubi0MsM0MzBpI3jDqeqxkFXBBQdQSD6JQBwPh34YnRtd0vV7jUvtt/bi/kuZDAEE8108LMygH92qiEKF5OCMsTknvqdwOFsfhu1jaaTB/aJf7Br93re7yceZ5z3L+V14x9pxu5zs6DPHdUXA8y1P4SXF1qaXkOp2koGpXV81nqVgbm2cTCMcxiRcyJ5fyuTgB2+XnI9NouB5r4S+FV54Nfws1lrMMo0nT30y6WWy4uYmkWTKbXHlMCo/vDBPHSvSqLgeZ6X8LNV8LpZy6F4ggtb9NPXTbmS8sDPFNGkkskTqgkUo6NNJ/EQQ3I4GPTKLgec2Hwhh0uz1S0tdRkMV7oEWhhpYwzqUa4YzMQQCWNyTtAAG3jrx6NRcCnpdl/ZumWlpu3+RCkW/GM7VAzj8KuUgCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigD//V/VKigAooAKKACigBpGSadkUAcl47+Gnh74j6aLLXdMivFXmOU5WWI+qOOVP0NdYfrWkKk4O8XY6qOJrYeXNRm4vyZ8sa3+w9ZyXDvpPie5toSciG8tlm2j0DKVJ/HNfU24etdix2IX2j3YcR5rTVlWb9bHy1of7DtlFcK+r+J7q6hByYbO3WDcPQsSxH4Yr6lyO1J46u/tCqcSZpUVnWa9LL9DlfAfw28P8Aw40z7FoWmxWUbYMkgBaSUju7nlj9a6wD3rklUlN3kzw62JrYiXNWm5PzYgGKWszlCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooA//W/VKigAooAKKACgnFAFa4uIrWJpZXWONQWZnOAAOpJr5S/bG+K0y3UfgXTZjHAYln1RkOC4P+rg/3SAWYdxtHQmvSw2CniNdkfV5Pw/XzZ8/ww7v9DY+Jn7ZNjpFzLYeELOPV5UO1tQuGK2+f9gD5pPrwD2JryL9nf4KWHxhvNbOqXtzbWlgsQCWu0NIz7jyWB4AUdPWvUnh8NhUv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"/>
|
3 |
+
<style type="text/css">
|
4 |
+
body {
|
5 |
+
padding: 0 !important;
|
6 |
+
margin: 0 !important;
|
7 |
+
}
|
8 |
+
</style>
|
app/design/frontend/base/default/template/payitsimple/terms.phtml
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="post-content">
|
2 |
+
<div class="fusion-title title" style="padding-left: 20px;"><h1 class="title-heading-left">Customer’s Terms and Conditions</h1>
|
3 |
+
|
4 |
+
<div class="title-sep-container">
|
5 |
+
<div class="title-sep sep-double sep-solid"></div>
|
6 |
+
</div>
|
7 |
+
</div>
|
8 |
+
<ol style="list-style: outside inside; padding-left: 40px;">
|
9 |
+
<li>Buyer who’s name appears below (“Buyer”, “You”, or “Your) promises to pay the full amount of the Total
|
10 |
+
Authorized Purchase Price in the number of installment payments set forth in the Recurring Installment
|
11 |
+
Payment Authorization (“Authorization”) to Seller (“Seller”, “We” or “Us”) by authorizing Seller to charge
|
12 |
+
Buyer’s credit card in equal monthly installments as set forth in the Authorization (each an “Installment”)
|
13 |
+
each month until paid in full. Buyer further agrees that Seller will receive authorization for the
|
14 |
+
full amount of the purchase on Buyer’s credit card at the time of sale, and will authorize the remaining
|
15 |
+
balance each month thereafter until paid in full. Buyer understands that this authorization will
|
16 |
+
remain in effect until Buyer cancels it in writing.
|
17 |
+
</li>
|
18 |
+
<li> Buyer agrees to notify Seller in writing via Buyer’s user account at <a
|
19 |
+
href="https://consumer.splitit.com/">consumer.splitit.com</a> of any changes to Buyer’s
|
20 |
+
credit card account information or termination of this authorization. We will update such information and
|
21 |
+
process such requests within 30 days after our receipt of such request. Buyer understands that the
|
22 |
+
Installment payments may be authorized and charged on the next business day. Buyer further understands
|
23 |
+
that because these are electronic transactions, any authorizations and charges may be posted to Your account
|
24 |
+
as soon as the Installment payment dates.
|
25 |
+
</li>
|
26 |
+
<li>Any Installment amounts due under this contract that have been charged to Buyer’s credit card and not paid
|
27 |
+
when due, pursuant to Your agreement with Your credit card issuer (“Issuer”), will be charged interest at
|
28 |
+
the Annual Percentage Rate stated in Your Issuer’s Federal Truth-in-Lending Disclosure statement until the
|
29 |
+
Installments are fully paid. So long as You timely pay each Installment to Your Issuer when due,
|
30 |
+
Issuer will not charge Buyer interest on such Installment. Issuer may charge Buyer interest on any
|
31 |
+
other balance You may have on Your credit card in excess of the Installment amount.
|
32 |
+
</li>
|
33 |
+
<li>In the case of an authorization being rejected for any reason, Buyer understands that Seller may, in its
|
34 |
+
discretion, attempt to process the charge again within five (5) days.
|
35 |
+
</li>
|
36 |
+
<li>In the event that Buyer’s Issuer fails to pay an Installment for any reason, Seller, at its discretion, may
|
37 |
+
charge Buyer’s credit card at any time for the full outstanding amount due.
|
38 |
+
</li>
|
39 |
+
<li>In consideration for services provided by Pay It Simple USA, Inc. (“Splitit”) to Seller, Buyer agrees
|
40 |
+
that Splitit will have the right to communicate with and solicit Buyer via e-mail (or other means).
|
41 |
+
This provision is operational for not less than five (5) years from the date of the initial authorization.
|
42 |
+
</li>
|
43 |
+
<li>Buyer understands that Splitit is not a party to this Agreement, which is solely between Buyer and
|
44 |
+
Seller.
|
45 |
+
</li>
|
46 |
+
<li>Buyer understands and agrees that Splitit is not responsible for the delivery and quality of goods
|
47 |
+
purchased in this transaction.
|
48 |
+
</li>
|
49 |
+
<li>Buyer acknowledges that the origination of any authorized transactions to the Buyer’s account must comply
|
50 |
+
with the provisions of U.S. law. Buyer certifies that Buyer is an authorized user of the credit
|
51 |
+
card utilized for this transaction and the Installments and will not dispute these transactions with Buyer’s
|
52 |
+
credit card company, so long as the authorizations correspond to the terms indicated in the authorization
|
53 |
+
form.
|
54 |
+
</li>
|
55 |
+
<li>Buyer agrees that if delivery of the goods or services are not made at the time of execution of this
|
56 |
+
contract, the description of the goods or services and the due date of the first Installment may be inserted
|
57 |
+
by Seller in Seller’s counterpart of the contract after it has been signed by Buyer.
|
58 |
+
</li>
|
59 |
+
<li>If any provision of this contract is determined to be invalid, it shall not affect the remaining provisions
|
60 |
+
hereof.
|
61 |
+
</li>
|
62 |
+
<li>PRIVACY POLICY. Buyer’s privacy is important to us. You may obtain a copy of Splitit’s
|
63 |
+
Privacy Policy by visiting their website at consumer.splitit.com. As permitted by law, We and
|
64 |
+
Splitit may share information about our transactions and experiences with Buyer with other affiliated
|
65 |
+
companies and unaffiliated third parties, including consumer reporting agencies and other creditors.
|
66 |
+
However, except as permitted by law, neither We nor Splitit may share information which was obtained
|
67 |
+
from credit applications, consumer reports, and any third parties with companies affiliated with us if Buyer
|
68 |
+
instructs us not to share this information. If Buyer does not want us to share this information, Buyer
|
69 |
+
shall notify us in writing via Buyer’s user account at <a href="https://consumer.splitit.com/">consumer.splitit.com</a> using
|
70 |
+
the password Buyer was provided with for such notification and for accessing information on Splitit’s
|
71 |
+
website. Buyer shall include Buyer’s name, address, account number and the last four digits of Buyer’s
|
72 |
+
credit card number used in this transaction so such request can be honored. We may report about Your account
|
73 |
+
to consumer reporting agencies. Late payments, missed payments, or other defaults on Your credit card
|
74 |
+
account may be reflected by Your Issuer in Your credit report.
|
75 |
+
</li>
|
76 |
+
<li>ARBITRATION. Any claim, dispute or controversy (“Claim”) arising from or connected with this Agreement,
|
77 |
+
including the enforceability, validity or scope of this arbitration clause or this Agreement, shall be
|
78 |
+
governed by this provision. Upon the election of Buyer or Seller by written notice to the other party, any
|
79 |
+
Claim shall be resolved by arbitration before a single arbitrator, on an individual basis, without resort to
|
80 |
+
any form of class action (“Class Action Waiver”), pursuant to this arbitration provision and the applicable
|
81 |
+
rules of the American Arbitration Association (“AAA”) in effect at the time the Claim is filed. Any
|
82 |
+
arbitration hearing shall take place within the State of New York, County of New York. At the written
|
83 |
+
request of Buyer, any filing and administrative fees charged or assessed by the AAA which are required to be
|
84 |
+
paid by Buyer and that are in excess of any filing fee Buyer would have been required to pay to file a Claim
|
85 |
+
in state court in New York shall be advanced and paid for by Seller. The arbitrator may not award
|
86 |
+
punitive or exemplary damages against any party. IF ANY PARTY COMMENCES ARBITRATION WITH RESPECT TO A
|
87 |
+
CLAIM, NEITHER BUYER OR SELLER WILL HAVE THE RIGHT TO LITIGATE THAT CLAIM IN COURT OR HAVE A JURY TRIAL ON
|
88 |
+
THAT CLAIM, OR TO ENGAGE IN PRE-ARBITRATION DISCOVERY, EXCEPT AS PROVIDED FOR IN THE APPLICABLE ARBITRATION
|
89 |
+
RULES. FURTHER, BUYER WILL NOT HAVE THE RIGHT TO PARTICIPATE AS A REPRESENTATIVE OR MEMBER OF ANY
|
90 |
+
CLASS OF CLAIMANTS PERTAINING TO THAT CLAIM, AND BUYER WILL HAVE ONLY THOSE RIGHTS THAT ARE AVAILABLE IN AN
|
91 |
+
INDIVIDUAL ARBITRATION. THE ARBITRATOR’S DECISION WILL BE FINAL AND BINDING ON ALL PARTIES, EXCEPT AS
|
92 |
+
PROVIDED IN THE FEDERAL ARBITRATION ACT (“the FAA”). This Arbitration Provision shall be governed by
|
93 |
+
the FAA, and, if and where applicable, the internal laws of the State of New York. If any portion of this
|
94 |
+
Arbitration provision is deemed invalid or unenforceable, it shall not invalidate the remaining portions of
|
95 |
+
this Arbitration provision or the Agreement, provided however, if the Class Action Waiver is deemed invalid
|
96 |
+
or unenforceable, then this entire Arbitration provision shall be null and void and of no force or effect,
|
97 |
+
but the remaining terms of this Agreement shall remain in full force and effect. Any appropriate court
|
98 |
+
having jurisdiction may enter judgment on any award.
|
99 |
+
</li>
|
100 |
+
</ol>
|
101 |
+
|
102 |
+
</div>
|
app/etc/modules/PayItSimple_Payment.xml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<PayItSimple_Payment>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
</PayItSimple_Payment>
|
8 |
+
</modules>
|
9 |
+
</config>
|
package.xml
CHANGED
@@ -1,20 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>payitsimplepayment</name>
|
4 |
-
<version>2.0.
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Offer your customers interest-free credit card installment payments, Support multi-currency. Official extension.</summary>
|
10 |
-
<description>This extension allows ecommerce merchants to add an additional payment method to your checkout process. A Splitit button is added to your website for fast and easy checkout
|
11 |
-
It was carefully designed to meet all Magento best development practices and is compatible with all other extensions. This extension is free of charge.
|
12 |
-
<h3>Signup for FREE</h3> <a href="http://payitsimple.com/register/">Signup with Splitit for FREE and start offering your customers interest-free installment payments on their existing credit cards.</a> <br /><br /></description>
|
13 |
<notes>Support multi-currency</notes>
|
14 |
<authors><author><name>Eric Benayoun</name><user>ericbena</user><email>ericb@splitit.com</email></author></authors>
|
15 |
-
<date>2016-11-
|
16 |
-
<time>
|
17 |
-
<contents><target name="magecommunity"><dir
|
18 |
<compatible/>
|
19 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
20 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>payitsimplepayment</name>
|
4 |
+
<version>2.0.3</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Offer your customers interest-free credit card installment payments, Support multi-currency. Official extension.</summary>
|
10 |
+
<description>This extension allows ecommerce merchants to add an additional payment method to your checkout process. A Splitit button is added to your website for fast and easy checkout. It was carefully designed to meet all Magento best development practices and is compatible with all other extensions. This extension is free of charge. <h3>Signup for FREE</h3> <a href="http://payitsimple.com/register/">Signup with Splitit for FREE and start offering your customers interest-free installment payments on their existing credit cards.</a> <br /><br /></description>
|
|
|
|
|
11 |
<notes>Support multi-currency</notes>
|
12 |
<authors><author><name>Eric Benayoun</name><user>ericbena</user><email>ericb@splitit.com</email></author></authors>
|
13 |
+
<date>2016-11-23</date>
|
14 |
+
<time>16:03:50</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="PayItSimple"><dir name="Payment"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Form"><file name="Button.php" hash="4f726bf958620400bac66c0757717411"/></dir><file name="Notification.php" hash="27ac86d84fe3927c28abc6da018736cd"/></dir></dir></dir><dir name="Form"><file name="Pis.php" hash="1b7804b11f2119ddd64a464ddd882a41"/></dir><dir name="Info"><file name="Pis.php" hash="42cb4edb5ff208a1a3ee7612579a6165"/></dir></dir><dir name="Helper"><file name="Data.php" hash="1fba2ce41eb4f554e365d82424323ccd"/></dir><dir name="Model"><file name="Api.php" hash="2e4e60c330e7d1aed40bff6e2e7b7b30"/><file name="PisMethod.php" hash="2c2e7ed0301976bb3b3f8e2918c90156"/><dir name="Source"><file name="Action.php" hash="1390fb3dce78cf8eff1118df2ee5b997"/><file name="Cctype.php" hash="7f77a0c6729d0896c8ec250bb7f4fd49"/><file name="Installments.php" hash="65b727e639308cba4241662a2040d6f3"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="PayitsimpleController.php" hash="4e7a1a3d4dfca38656aa32da9ef70df8"/></dir><file name="PaymentController.php" hash="598f81b5afec4b73d2d14bf4a309e848"/></dir><dir name="etc"><file name="config.xml" hash="e9240bd026d0e9260e26ce962bad77cb"/><file name="system.xml" hash="8acdcf4ba599f791b44e949c769ce47b"/></dir><dir name="sql"><dir name="pis_payment_setup"><file name="mysql4-install-1.0.0.php" hash="f2687e3adaa4654942a882287a0bf532"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="PayItSimple_Payment.xml" hash="608e164d747a215efa2cf4d062693236"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="payitsimple_notification.xml" hash="13bdcf50121ad5a009bf34793501fe76"/></dir><dir name="template"><dir name="payitsimple"><dir name="system"><dir name="config"><file name="button.phtml" hash="99d600397e180a6f91510109c26ad03b"/><file name="notification.phtml" hash="86940d0b8a6695c54daaf6b7918633dc"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="pis_payment.xml" hash="9f0521aea108f9e3f9b9c777c6aefee3"/></dir><dir name="template"><dir name="payitsimple"><dir name="form"><file name="method_faq.phtml" hash="82adc787e203202bbeb56051d9714f5d"/><file name="pis.phtml" hash="aba55dc0f0a5db797f9b30b9ed99015a"/></dir><file name="help.phtml" hash="a68dd09ca9db72591cf602c0a5345e77"/><file name="terms.phtml" hash="f5a8ea332b4179622810fa759291e424"/></dir></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|