Version Notes
1.2.0
API protocol update
FIX: remove SID from callback_url
1.1.1
Use billing address if shipping address not present (downloadable products)
1.1.0
Converted to stand-alone community extension
1.0.6
Description and contact info
1.0.5
API protocol update: separated fail/cancelled transaction status
1.0.4
API protocol update
1.0.3
add account id
1.0.2
FIX: return url
FIX: return verification
new gateway url
1.0.1
FIX: redirect template
1.0.0
Stable release
Download this release
Release Info
| Developer | Multon |
| Extension | multon_everypay |
| Version | 1.2.0 |
| Comparing to | |
| See all releases | |
Code changes from version 1.1.0 to 1.2.0
app/code/community/Multon/Everypay/Block/Everypay.php
CHANGED
|
@@ -4,21 +4,22 @@ class Multon_Everypay_Block_Everypay extends Mage_Payment_Block_Form
|
|
| 4 |
{
|
| 5 |
protected $_code = 'multon_everypay';
|
| 6 |
protected $_gateway = 'everypay';
|
|
|
|
| 7 |
|
| 8 |
protected function getReturnUrl()
|
| 9 |
{
|
| 10 |
-
return Mage::getUrl('everypay/everypay/return');
|
| 11 |
}
|
| 12 |
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
|
| 23 |
/**
|
| 24 |
* Returns payment method logo URL
|
|
@@ -30,44 +31,43 @@ class Multon_Everypay_Block_Everypay extends Mage_Payment_Block_Form
|
|
| 30 |
return $this->getSkinUrl('images/multon/everypay/mastercard_visa_acceptance.jpg');
|
| 31 |
}
|
| 32 |
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
if (Mage::getStoreConfig('payment/' . $this->_code . '/hide_logo'))
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
title="%2$s"
|
| 46 |
alt="%2$s"
|
| 47 |
-
class="payment-method-logo"/>',
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
if (Mage::getStoreConfig('payment/' . $this->_code . '/quick_redirect'))
|
| 64 |
{
|
| 65 |
-
|
| 66 |
if($("GatewayForm")){$("GatewayForm").submit();}
|
| 67 |
//--></script>';
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
|
| 72 |
/**
|
| 73 |
* Populates and returns array of fields to be submitted
|
|
@@ -95,6 +95,9 @@ class Multon_Everypay_Block_Everypay extends Mage_Payment_Block_Form
|
|
| 95 |
|
| 96 |
$billing = $order->getBillingAddress();
|
| 97 |
$shipping = $order->getShippingAddress();
|
|
|
|
|
|
|
|
|
|
| 98 |
|
| 99 |
$fields = array(
|
| 100 |
'account_id' => Mage::getStoreConfig('payment/' . $this->_code . '/account_id'),
|
|
@@ -111,6 +114,8 @@ class Multon_Everypay_Block_Everypay extends Mage_Payment_Block_Form
|
|
| 111 |
'delivery_country' => $shipping->getCountry(),
|
| 112 |
'delivery_postcode' => $shipping->getPostcode(),
|
| 113 |
'email' => $billing->getEmail(),
|
|
|
|
|
|
|
| 114 |
'nonce' => $this->getNonce(),
|
| 115 |
'order_reference' => $order->getIncrementId(),
|
| 116 |
'timestamp' => time(),
|
| 4 |
{
|
| 5 |
protected $_code = 'multon_everypay';
|
| 6 |
protected $_gateway = 'everypay';
|
| 7 |
+
protected $logFile = 'everypay.log';
|
| 8 |
|
| 9 |
protected function getReturnUrl()
|
| 10 |
{
|
| 11 |
+
return Mage::getUrl('everypay/everypay/return', array('_nosid' => true));
|
| 12 |
}
|
| 13 |
|
| 14 |
+
/**
|
| 15 |
+
* Returns payment gateway URL
|
| 16 |
+
*
|
| 17 |
+
* @return string Gateway URL
|
| 18 |
+
*/
|
| 19 |
+
public function getGatewayUrl()
|
| 20 |
+
{
|
| 21 |
+
return Mage::getStoreConfig('payment/' . $this->_code . '/gateway_url');
|
| 22 |
+
}
|
| 23 |
|
| 24 |
/**
|
| 25 |
* Returns payment method logo URL
|
| 31 |
return $this->getSkinUrl('images/multon/everypay/mastercard_visa_acceptance.jpg');
|
| 32 |
}
|
| 33 |
|
| 34 |
+
/**
|
| 35 |
+
* Adds payment mehtod logotypes after method name
|
| 36 |
+
*
|
| 37 |
+
* @return string
|
| 38 |
+
*/
|
| 39 |
+
public function getMethodLabelAfterHtml()
|
| 40 |
+
{
|
| 41 |
if (Mage::getStoreConfig('payment/' . $this->_code . '/hide_logo'))
|
| 42 |
+
return '';
|
| 43 |
+
|
| 44 |
+
$blockHtml = sprintf(
|
| 45 |
+
'<img src="%1$s"
|
| 46 |
title="%2$s"
|
| 47 |
alt="%2$s"
|
| 48 |
+
class="payment-method-logo"/>', $this->getMethodLogoUrl(), ucfirst($this->_gateway)
|
| 49 |
+
);
|
| 50 |
+
return $blockHtml;
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
/**
|
| 54 |
+
* Checks if quick redirect is enabled and
|
| 55 |
+
* returns javascript block that redirects user
|
| 56 |
+
* to bank without intermediate page
|
| 57 |
+
*
|
| 58 |
+
* @return outstr Javascript block
|
| 59 |
+
*/
|
| 60 |
+
public function getQuickRedirectScript()
|
| 61 |
+
{
|
| 62 |
+
$outstr = '';
|
| 63 |
+
if (Mage::getStoreConfig('payment/' . $this->_code . '/quick_redirect'))
|
|
|
|
| 64 |
{
|
| 65 |
+
$outstr = '<script type="text/javascript"><!--
|
| 66 |
if($("GatewayForm")){$("GatewayForm").submit();}
|
| 67 |
//--></script>';
|
| 68 |
+
}
|
| 69 |
+
return $outstr;
|
| 70 |
+
}
|
| 71 |
|
| 72 |
/**
|
| 73 |
* Populates and returns array of fields to be submitted
|
| 95 |
|
| 96 |
$billing = $order->getBillingAddress();
|
| 97 |
$shipping = $order->getShippingAddress();
|
| 98 |
+
// downloadable products only orders don't have shipping address
|
| 99 |
+
if (!$shipping)
|
| 100 |
+
$shipping = $billing;
|
| 101 |
|
| 102 |
$fields = array(
|
| 103 |
'account_id' => Mage::getStoreConfig('payment/' . $this->_code . '/account_id'),
|
| 114 |
'delivery_country' => $shipping->getCountry(),
|
| 115 |
'delivery_postcode' => $shipping->getPostcode(),
|
| 116 |
'email' => $billing->getEmail(),
|
| 117 |
+
'hmac_fields' => 'account_id,amount,api_username,billing_address,billing_city,billing_country,billing_postcode,callback_url,customer_url,delivery_address,delivery_city,' .
|
| 118 |
+
'delivery_country,delivery_postcode,email,hmac_fields,nonce,order_reference,timestamp,transaction_type,user_ip',
|
| 119 |
'nonce' => $this->getNonce(),
|
| 120 |
'order_reference' => $order->getIncrementId(),
|
| 121 |
'timestamp' => time(),
|
app/code/community/Multon/Everypay/Model/Everypay.php
CHANGED
|
@@ -2,21 +2,15 @@
|
|
| 2 |
|
| 3 |
class Multon_Everypay_Model_Everypay extends Mage_Payment_Model_Method_Abstract
|
| 4 |
{
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
|
| 9 |
protected $_canAuthorize = true;
|
| 10 |
protected $_isGateway = true;
|
| 11 |
protected $_canUseCheckout = true;
|
| 12 |
protected $logFile = 'everypay.log';
|
| 13 |
|
| 14 |
-
/**
|
| 15 |
-
* Order Id to create invoice for
|
| 16 |
-
* @var string
|
| 17 |
-
*/
|
| 18 |
-
protected $_orderId;
|
| 19 |
-
|
| 20 |
protected $_code = 'multon_everypay';
|
| 21 |
protected $_formBlockType = 'everypay/everypay';
|
| 22 |
private $statuses = array(
|
|
@@ -39,6 +33,24 @@ class Multon_Everypay_Model_Everypay extends Mage_Payment_Model_Method_Abstract
|
|
| 39 |
*/
|
| 40 |
public function verify(array $params = array())
|
| 41 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
// only in automatic callback message
|
| 43 |
if (isset($params['processing_errors']))
|
| 44 |
{
|
|
@@ -46,12 +58,12 @@ class Multon_Everypay_Model_Everypay extends Mage_Payment_Model_Method_Abstract
|
|
| 46 |
if (!empty($errors))
|
| 47 |
$this->log('(Everypay) Errors: ' . print_r($errors, 1), __METHOD__, __LINE__);
|
| 48 |
}
|
| 49 |
-
if (isset($params['processing_warnings']))
|
| 50 |
-
{
|
| 51 |
-
$warnings = json_decode($params['processing_warnings']);
|
| 52 |
-
if (!empty($warnings))
|
| 53 |
-
$this->log('(Everypay) Warnings: ' . print_r($warnings, 1), __METHOD__, __LINE__);
|
| 54 |
-
}
|
| 55 |
|
| 56 |
if (!isset($params['api_username']) || ($params['api_username'] !== Mage::getStoreConfig('payment/' . $this->_code . '/api_username')))
|
| 57 |
{
|
|
@@ -68,14 +80,16 @@ class Multon_Everypay_Model_Everypay extends Mage_Payment_Model_Method_Abstract
|
|
| 68 |
return self::_VERIFY_CORRUPT;
|
| 69 |
}
|
| 70 |
|
| 71 |
-
|
|
|
|
|
|
|
| 72 |
// Reference number doesn't match.
|
| 73 |
-
if ($session->getLastRealOrderId() != $params['order_reference'])
|
| 74 |
-
{
|
| 75 |
-
$this->log('(Everypay): Order number doesn\'t match (potential tampering attempt).', __METHOD__, __LINE__);
|
| 76 |
-
Mage::getSingleton('checkout/session')->addError('Order number error.');
|
| 77 |
-
return self::_VERIFY_CORRUPT;
|
| 78 |
-
}
|
| 79 |
|
| 80 |
if (!$this->verifyNonce($params['nonce']))
|
| 81 |
{
|
|
@@ -84,51 +98,25 @@ class Multon_Everypay_Model_Everypay extends Mage_Payment_Model_Method_Abstract
|
|
| 84 |
return self::_VERIFY_CORRUPT;
|
| 85 |
}
|
| 86 |
|
| 87 |
-
$
|
| 88 |
-
switch ($params['transaction_result'])
|
| 89 |
{
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
{
|
| 94 |
-
$this->log('(Everypay) Invalid account ID', __METHOD__, __LINE__);
|
| 95 |
-
Mage::getSingleton('checkout/session')->addError('Invalid account.');
|
| 96 |
-
return self::_VERIFY_CORRUPT;
|
| 97 |
-
}
|
| 98 |
-
|
| 99 |
-
$data = 'account_id=' . $params['account_id'] . '&' .
|
| 100 |
-
'amount=' . $params['amount'] . '&' .
|
| 101 |
-
'api_username=' . $params['api_username'] . '&' .
|
| 102 |
-
'nonce=' . $params['nonce'] . '&' .
|
| 103 |
-
'order_reference=' . $params['order_reference'] . '&' .
|
| 104 |
-
'payment_reference=' . $params['payment_reference'] . '&' .
|
| 105 |
-
'payment_state=' . $params['payment_state'] . '&';
|
| 106 |
-
if (isset($params['processing_errors']))
|
| 107 |
-
{
|
| 108 |
-
$data .= 'processing_errors=' . $params['processing_errors'] . '&' .
|
| 109 |
-
'processing_warnings=' . $params['processing_warnings'] . '&';
|
| 110 |
-
}
|
| 111 |
-
$data .= 'timestamp=' . $params['timestamp'] . '&' .
|
| 112 |
-
'transaction_result=' . $params['transaction_result'];
|
| 113 |
-
break;
|
| 114 |
-
case 'cancelled':
|
| 115 |
-
$data = 'api_username=' . $params['api_username'] . '&' .
|
| 116 |
-
'nonce=' . $params['nonce'] . '&' .
|
| 117 |
-
'order_reference=' . $params['order_reference'] . '&' .
|
| 118 |
-
'payment_state=' . $params['payment_state'] . '&' .
|
| 119 |
-
'timestamp=' . $params['timestamp'] . '&' .
|
| 120 |
-
'transaction_result=' . $params['transaction_result'];
|
| 121 |
-
break;
|
| 122 |
}
|
| 123 |
-
|
| 124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 125 |
{
|
| 126 |
-
$this->log('(Everypay)
|
| 127 |
-
Mage::getSingleton('checkout/session')->addError('
|
| 128 |
return self::_VERIFY_CORRUPT;
|
| 129 |
}
|
| 130 |
|
| 131 |
-
return $
|
| 132 |
}
|
| 133 |
|
| 134 |
protected function verifyNonce($nonce)
|
| 2 |
|
| 3 |
class Multon_Everypay_Model_Everypay extends Mage_Payment_Model_Method_Abstract
|
| 4 |
{
|
| 5 |
+
const _VERIFY_SUCCESS = 1; // payment successful
|
| 6 |
+
const _VERIFY_CANCEL = 2; // payment unsuccessful
|
| 7 |
+
const _VERIFY_CORRUPT = 3; // wrong or corrupt response
|
| 8 |
|
| 9 |
protected $_canAuthorize = true;
|
| 10 |
protected $_isGateway = true;
|
| 11 |
protected $_canUseCheckout = true;
|
| 12 |
protected $logFile = 'everypay.log';
|
| 13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
protected $_code = 'multon_everypay';
|
| 15 |
protected $_formBlockType = 'everypay/everypay';
|
| 16 |
private $statuses = array(
|
| 33 |
*/
|
| 34 |
public function verify(array $params = array())
|
| 35 |
{
|
| 36 |
+
// check for integrity first
|
| 37 |
+
$fields = explode(',', $params['hmac_fields']);
|
| 38 |
+
sort($fields);
|
| 39 |
+
|
| 40 |
+
$data = '';
|
| 41 |
+
foreach ($fields as $field)
|
| 42 |
+
$data .= $field . '=' . $params[$field] . '&';
|
| 43 |
+
|
| 44 |
+
// $this->log($data, __METHOD__, __LINE__);
|
| 45 |
+
|
| 46 |
+
$hmac = hash_hmac('sha1', substr($data, 0, -1), Mage::getStoreConfig('payment/' . $this->_code . '/api_secret'));
|
| 47 |
+
if ($params['hmac'] != $hmac)
|
| 48 |
+
{
|
| 49 |
+
$this->log('(Everypay) Invalid HMAC (Expected: ' . $hmac . ')', __METHOD__, __LINE__);
|
| 50 |
+
Mage::getSingleton('checkout/session')->addError('Invalid HMAC.');
|
| 51 |
+
return self::_VERIFY_CORRUPT;
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
// only in automatic callback message
|
| 55 |
if (isset($params['processing_errors']))
|
| 56 |
{
|
| 58 |
if (!empty($errors))
|
| 59 |
$this->log('(Everypay) Errors: ' . print_r($errors, 1), __METHOD__, __LINE__);
|
| 60 |
}
|
| 61 |
+
// if (isset($params['processing_warnings']))
|
| 62 |
+
// {
|
| 63 |
+
// $warnings = json_decode($params['processing_warnings']);
|
| 64 |
+
// if (!empty($warnings))
|
| 65 |
+
// $this->log('(Everypay) Warnings: ' . print_r($warnings, 1), __METHOD__, __LINE__);
|
| 66 |
+
// }
|
| 67 |
|
| 68 |
if (!isset($params['api_username']) || ($params['api_username'] !== Mage::getStoreConfig('payment/' . $this->_code . '/api_username')))
|
| 69 |
{
|
| 80 |
return self::_VERIFY_CORRUPT;
|
| 81 |
}
|
| 82 |
|
| 83 |
+
// !! background return message does not have session !!
|
| 84 |
+
// $session = Mage::getSingleton('checkout/session');
|
| 85 |
+
/* @var $session Mage_Checkout_Model_Session */
|
| 86 |
// Reference number doesn't match.
|
| 87 |
+
// if ($session->getLastRealOrderId() != $params['order_reference'])
|
| 88 |
+
// {
|
| 89 |
+
// $this->log('(Everypay): Order number doesn\'t match (potential tampering attempt). Expecting: ' . $session->getLastRealOrderId(), __METHOD__, __LINE__);
|
| 90 |
+
// Mage::getSingleton('checkout/session')->addError('Order number error.');
|
| 91 |
+
// return self::_VERIFY_CORRUPT;
|
| 92 |
+
// }
|
| 93 |
|
| 94 |
if (!$this->verifyNonce($params['nonce']))
|
| 95 |
{
|
| 98 |
return self::_VERIFY_CORRUPT;
|
| 99 |
}
|
| 100 |
|
| 101 |
+
if (isset($params['account_id']) && ($params['account_id'] !== Mage::getStoreConfig('payment/' . $this->_code . '/account_id')))
|
|
|
|
| 102 |
{
|
| 103 |
+
$this->log('(Everypay) Invalid account ID', __METHOD__, __LINE__);
|
| 104 |
+
Mage::getSingleton('checkout/session')->addError('Invalid account.');
|
| 105 |
+
return self::_VERIFY_CORRUPT;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 106 |
}
|
| 107 |
+
|
| 108 |
+
// return data is all checked and valid, now check order
|
| 109 |
+
$order = Mage::getModel('sales/order')->loadByIncrementId($params['order_reference']);
|
| 110 |
+
/* @var $order Mage_Sales_Model_Order */
|
| 111 |
+
$orderMethod = $order->getPayment()->getMethod();
|
| 112 |
+
if ($orderMethod != $this->_code)
|
| 113 |
{
|
| 114 |
+
$this->log('(Everypay): Wrong payment method. Order has: '.$orderMethod, __METHOD__, __LINE__);
|
| 115 |
+
Mage::getSingleton('checkout/session')->addError('Wrong payment method.');
|
| 116 |
return self::_VERIFY_CORRUPT;
|
| 117 |
}
|
| 118 |
|
| 119 |
+
return $this->statuses[$params['transaction_result']];
|
| 120 |
}
|
| 121 |
|
| 122 |
protected function verifyNonce($nonce)
|
app/code/community/Multon/Everypay/etc/config.xml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Multon_Everypay>
|
| 5 |
-
<version>1.
|
| 6 |
</Multon_Everypay>
|
| 7 |
</modules>
|
| 8 |
<global>
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Multon_Everypay>
|
| 5 |
+
<version>1.2.0</version>
|
| 6 |
</Multon_Everypay>
|
| 7 |
</modules>
|
| 8 |
<global>
|
package.xml
CHANGED
|
@@ -1,14 +1,21 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>multon_everypay</name>
|
| 4 |
-
<version>1.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license>OSL</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Multon Everypay</summary>
|
| 10 |
<description>Multon Everypay</description>
|
| 11 |
-
<notes>1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
Converted to stand-alone community extension
|
| 13 |

|
| 14 |
1.0.6
|
|
@@ -34,9 +41,9 @@ FIX: redirect template
|
|
| 34 |
1.0.0
|
| 35 |
Stable release</notes>
|
| 36 |
<authors><author><name>Multon</name><user>eepohs</user><email>magento@multon.ee</email></author><author><name>Jaanus Vapper</name><user>hullkuri</user><email>hullkuri@gmail.com</email></author><author><name>Tanel Raja</name><user>Pronto</user><email>tanel.raja@gmail.com</email></author></authors>
|
| 37 |
-
<date>2015-
|
| 38 |
-
<time>
|
| 39 |
-
<contents><target name="magecommunity"><dir name="Multon"><dir name="Everypay"><dir name="Block"><dir name="Adminhtml"><file name="Fieldset.php" hash="324c82a14594133019deef5c98e8ec78"/><dir name="System"><dir name="Config"><file name="Intro.php" hash="25a5c87ee274de259ede0decc040f643"/><file name="Outro.php" hash="21e9865c5f85cc0c8a601cc171d3f5d0"/><file name="Version.php" hash="63d888085e44f1b99e77aec70f12f62a"/></dir></dir></dir><file name="Everypay.php" hash="
|
| 40 |
<compatible/>
|
| 41 |
-
<dependencies><required><php><min>5.
|
| 42 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>multon_everypay</name>
|
| 4 |
+
<version>1.2.0</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license>OSL</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Multon Everypay</summary>
|
| 10 |
<description>Multon Everypay</description>
|
| 11 |
+
<notes>1.2.0
|
| 12 |
+
API protocol update
|
| 13 |
+
FIX: remove SID from callback_url
|
| 14 |
+

|
| 15 |
+
1.1.1
|
| 16 |
+
Use billing address if shipping address not present (downloadable products)
|
| 17 |
+

|
| 18 |
+
1.1.0
|
| 19 |
Converted to stand-alone community extension
|
| 20 |

|
| 21 |
1.0.6
|
| 41 |
1.0.0
|
| 42 |
Stable release</notes>
|
| 43 |
<authors><author><name>Multon</name><user>eepohs</user><email>magento@multon.ee</email></author><author><name>Jaanus Vapper</name><user>hullkuri</user><email>hullkuri@gmail.com</email></author><author><name>Tanel Raja</name><user>Pronto</user><email>tanel.raja@gmail.com</email></author></authors>
|
| 44 |
+
<date>2015-08-26</date>
|
| 45 |
+
<time>09:13:49</time>
|
| 46 |
+
<contents><target name="magecommunity"><dir name="Multon"><dir name="Everypay"><dir name="Block"><dir name="Adminhtml"><file name="Fieldset.php" hash="324c82a14594133019deef5c98e8ec78"/><dir name="System"><dir name="Config"><file name="Intro.php" hash="25a5c87ee274de259ede0decc040f643"/><file name="Outro.php" hash="21e9865c5f85cc0c8a601cc171d3f5d0"/><file name="Version.php" hash="63d888085e44f1b99e77aec70f12f62a"/></dir></dir></dir><file name="Everypay.php" hash="1cfdfa0e4bbf6ce982eef838109bb5ce"/><file name="Info.php" hash="4755af2b544c9f5de39098046e6da0fb"/></dir><dir name="Model"><file name="Everypay.php" hash="13b66cd6daa91592992d0a9be5b67382"/><dir name="Source"><file name="PaymentAction.php" hash="27787205d1886997aeccecb4028d488f"/></dir></dir><dir name="controllers"><file name="EverypayController.php" hash="4d70fc06e227af4e6fcf920be2e89ec1"/></dir><dir name="etc"><file name="config.xml" hash="3b9ed7ae94be4ecea5d1ca5305fe1b57"/><file name="system.xml" hash="c337dd813b2f7bc4a162ac624e0499c2"/></dir><dir name="sql"><dir name="everypay_setup"><file name="install-1.0.0.php" hash="201924647c609f33835712ab2c81e4d4"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Multon_Everypay.xml" hash="99a2dd0a396a3a1b937d767e48ce237f"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="multon"><file name="everypay.xml" hash="d85234989ed7853a5f29e10e82945056"/></dir></dir><dir name="template"><dir name="multon"><dir name="everypay"><file name="everypay.phtml" hash="1e168f001770918f4d4fa934767854d8"/><file name="info.phtml" hash="91eb9c88527bc6b0076f382df0f6809c"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="multon"><dir name="everypay"><file name="everypay_logo_220x44.png" hash="be48db5df549b24058f4e5c889791f6b"/><file name="mastercard_visa_acceptance.jpg" hash="2e7bf5940eeab9863caf8d641ac6f1e9"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><file name="everypay-logo.jpg" hash="909c46f5e89be9de1d0d2ad7fdfb8bc6"/></dir></dir></dir></dir></target></contents>
|
| 47 |
<compatible/>
|
| 48 |
+
<dependencies><required><php><min>5.4.0</min><max>6.0.0</max></php></required></dependencies>
|
| 49 |
</package>
|
