BluePay_Echeck - Version 1.5.1.7

Version Notes

Fixed compatibility with Credit Card module

Download this release

Release Info

Developer Justin Slingerland
Extension BluePay_Echeck
Version 1.5.1.7
Comparing to
See all releases


Code changes from version 1.5.1.6 to 1.5.1.7

app/code/local/BluePay/Echeck/Block/Form.php ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+ class BluePay_Echeck_Block_Form extends Mage_Payment_Block_Form
28
+ {
29
+ protected function _construct()
30
+ {
31
+ parent::_construct();
32
+ if (Mage::app()->getStore()->isAdmin()) {
33
+ $this->setTemplate('bluepay/echeck.phtml');
34
+ return;
35
+ }
36
+ if (Mage::getStoreConfig('payment/echeckpayment/use_iframe') == 1) {
37
+ $this->setTemplate('bluepay/echeck_iframe.phtml');
38
+ } else {
39
+ $this->setTemplate('bluepay/echeck.phtml');
40
+ }
41
+ }
42
+
43
+ public function setMethodInfo()
44
+ {
45
+ $payment = Mage::getSingleton('checkout/type_onepage')
46
+ ->getQuote()
47
+ ->getPayment();
48
+ $this->setMethod($payment->getMethodInstance());
49
+
50
+ return $this;
51
+ }
52
+
53
+ public function getMethod()
54
+ {
55
+ $method = $this->getData('method');
56
+ if (!($method instanceof Mage_Payment_Model_Method_Abstract)) {
57
+ Mage::throwException($this->__('Cannot retrieve the payment method model object.'));
58
+ }
59
+ return $method;
60
+ }
61
+
62
+ /**
63
+ * Retrieve payment method code
64
+ *
65
+ * @return string
66
+ */
67
+ public function getMethodCode()
68
+ {
69
+ return $this->getMethod()->getCode();
70
+ }
71
+
72
+ /**
73
+ * Retrieve field value data from payment info object
74
+ *
75
+ * @param string $field
76
+ * @return mixed
77
+ */
78
+ public function getInfoData($field)
79
+ {
80
+ return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
81
+ }
82
+
83
+ /**
84
+ * Retrieve payment configuration object
85
+ *
86
+ * @return Mage_Payment_Model_Config
87
+ */
88
+ protected function _getConfig()
89
+ {
90
+ return Mage::getSingleton('echeck/config');
91
+ }
92
+
93
+ /**
94
+ * Retrieve availables credit card types
95
+ *
96
+ * @return array
97
+ */
98
+ public function getCcAvailableTypes()
99
+ {
100
+ $types = $this->_getConfig()->getCcTypes();
101
+ if ($method = $this->getMethod()) {
102
+ $availableTypes = $method->getConfigData('cctypes');
103
+ if ($availableTypes) {
104
+ $availableTypes = explode(',', $availableTypes);
105
+ foreach ($types as $code=>$name) {
106
+ if (!in_array($code, $availableTypes)) {
107
+ unset($types[$code]);
108
+ }
109
+ }
110
+ }
111
+ }
112
+ return $types;
113
+ }
114
+
115
+ public function getAccountAvailableTypes()
116
+ {
117
+ $types = $this->_getConfig()->getAccountTypes();
118
+ if ($method = $this->getMethod()) {
119
+ $availableTypes = $method->getConfigData('accounttypes');
120
+ if ($availableTypes) {
121
+ $availableTypes = explode(',', $availableTypes);
122
+ foreach ($types as $code=>$name) {
123
+ if (!in_array($code, $availableTypes)) {
124
+ unset($types[$code]);
125
+ }
126
+ }
127
+ }
128
+ }
129
+ return $types;
130
+ }
131
+
132
+
133
+ /**
134
+ * Retrieve credit card expire months
135
+ *
136
+ * @return array
137
+ */
138
+ public function getCcMonths()
139
+ {
140
+ $months = $this->getData('cc_months');
141
+ if (is_null($months)) {
142
+ $months[0] = $this->__('Month');
143
+ $months = array_merge($months, $this->_getConfig()->getMonths());
144
+ $this->setData('cc_months', $months);
145
+ }
146
+ return $months;
147
+ }
148
+
149
+ /**
150
+ * Retrieve credit card expire years
151
+ *
152
+ * @return array
153
+ */
154
+ public function getCcYears()
155
+ {
156
+ $years = $this->getData('cc_years');
157
+ if (is_null($years)) {
158
+ $years = $this->_getConfig()->getYears();
159
+ $years = array(0=>$this->__('Year'))+$years;
160
+ $this->setData('cc_years', $years);
161
+ }
162
+ return $years;
163
+ }
164
+
165
+ /**
166
+ * Retrive has verification configuration
167
+ *
168
+ * @return boolean
169
+ */
170
+ public function hasVerification()
171
+ {
172
+ if ($this->getMethod()) {
173
+ $configData = $this->getMethod()->getConfigData('useccv');
174
+ if(is_null($configData)){
175
+ return true;
176
+ }
177
+ return (bool) $configData;
178
+ }
179
+ return true;
180
+ }
181
+
182
+ /**
183
+ * Render block HTML
184
+ *
185
+ * @return string
186
+ */
187
+ protected function _toHtml()
188
+ {
189
+ Mage::dispatchEvent('payment_form_block_to_html_before', array(
190
+ 'block' => $this
191
+ ));
192
+ return parent::_toHtml();
193
+ }
194
+
195
+
196
+ }
197
+
198
+ ?>
app/code/local/BluePay/Echeck/Block/Form/Echeck.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Block_Form_Echeck extends Mage_Payment_Block_Form
29
+ {
30
+ protected function _construct()
31
+ {
32
+ parent::_construct();
33
+ //$this->setTemplate('payment/form/echeck.phtml');
34
+ }
35
+
36
+ protected function _getConfig()
37
+ {
38
+ return Mage::getSingleton('echeck/config');
39
+ }
40
+
41
+ public function getAccountAvailableTypes()
42
+ {
43
+ $types = $this->_getConfig()->getAccountTypes();
44
+ if ($method = $this->getMethod()) {
45
+ $availableTypes = $method->getConfigData('accounttypes');
46
+ if ($availableTypes) {
47
+ $availableTypes = explode(',', $availableTypes);
48
+ foreach ($types as $code=>$name) {
49
+ if (!in_array($code, $availableTypes)) {
50
+ unset($types[$code]);
51
+ }
52
+ }
53
+ }
54
+ }
55
+ return $types;
56
+ }
57
+ }
app/code/local/BluePay/Echeck/Block/Info.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Block_Info extends Mage_Core_Block_Template
29
+ {
30
+ protected function _construct()
31
+ {
32
+ parent::_construct();
33
+ $this->setTemplate('payment/info/default.phtml');
34
+ }
35
+
36
+ public function getInfo()
37
+ {
38
+ $info = $this->getData('info');
39
+ if (!($info instanceof BluePay_Echeck_Model_Info)) {
40
+ Mage::throwException($this->__('Can not retrieve payment info model object.'));
41
+ }
42
+ return $info;
43
+ }
44
+
45
+ public function getMethod()
46
+ {
47
+ return $this->getInfo()->getMethodInstance();
48
+ }
49
+
50
+ public function toPdf()
51
+ {
52
+ $this->setTemplate('payment/info/pdf/default.phtml');
53
+ return $this->toHtml();
54
+ }
55
+ }
app/code/local/BluePay/Echeck/Block/Info/Echeck.php ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+
29
+ class BluePay_Echeck_Block_Info_Echeck extends Mage_Payment_Block_Info
30
+ {
31
+
32
+ protected function _construct()
33
+ {
34
+ parent::_construct();
35
+
36
+ //$this->setTemplate('payment/info/echeck.phtml');
37
+ $this->setTemplate('payment/info/default.phtml');
38
+ }
39
+
40
+ public function getAccountTypeName()
41
+ {
42
+ $types = Mage::getSingleton('echeck/config')->getAccountTypes();
43
+ if (isset($types[$this->getInfo()->getAccountType()])) {
44
+ return $types[$this->getInfo()->getAccountType()];
45
+ }
46
+ return $this->getInfo()->getAccountType();
47
+ }
48
+
49
+ public function toPdf()
50
+ {
51
+
52
+ $this->setTemplate('payment/info/pdf/echeck.phtml');
53
+ return $this->toHtml();
54
+ }
55
+
56
+ public function getInfo()
57
+ {
58
+ $info = Mage::getSingleton('checkout/session')->getQuote()->getPayment();
59
+ $this->unmapData($info);
60
+
61
+ if (!strlen($info->getMethod())) {
62
+ $this->unmapData($this->getData('info'));
63
+ return $this->getData('info');
64
+ }
65
+ return $info;
66
+ }
67
+
68
+ public function unmapData($info)
69
+ {
70
+ $info->setEcheckRoutingNumber($info->getCcLast4())
71
+ ->setEcheckBankName($info->getCcNumberEnc())
72
+ ->setEcheckAccountType($info->getCcType())
73
+ ->setEcheckAccountName($info->getCcOwner())
74
+ ->setEcheckBankAcctNum($info->getCcSsIssue())
75
+ ->setEcheckBankAcctNum4($info->getCcSsOwner());
76
+ if(strlen($info->getEcheckBankAcctNum()))
77
+ {
78
+ $info->setEcheckBankAcctNum4(substr($info->getEcheckBankAcctNum(), -4));
79
+ }
80
+ }
81
+ }
app/code/local/BluePay/Echeck/Helper/Data.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Helper_Data extends Mage_Core_Helper_Abstract
29
+ {
30
+
31
+ }
app/code/local/BluePay/Echeck/Model/Config.php ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Model_Config
29
+ {
30
+ protected static $_methods;
31
+
32
+ public function getActiveMethods($store=null)
33
+ {
34
+ $methods = array();
35
+ $config = Mage::getStoreConfig('echeck', $store);
36
+ foreach ($config as $code => $methodConfig) {
37
+ if (Mage::getStoreConfigFlag('echeck/'.$code.'/active', $store)) {
38
+ $methods[$code] = $this->_getMethod($code, $methodConfig);
39
+ }
40
+ }
41
+ return $methods;
42
+ }
43
+
44
+ public function getAllMethods($store=null)
45
+ {
46
+ $methods = array();
47
+ $config = Mage::getStoreConfig('payment', $store);
48
+ foreach ($config as $code => $methodConfig) {
49
+ $methods[$code] = $this->_getMethod($code, $methodConfig);
50
+ }
51
+ return $methods;
52
+ }
53
+
54
+ protected function _getMethod($code, $config, $store=null)
55
+ {
56
+ if (isset(self::$_methods[$code])) {
57
+ return self::$_methods[$code];
58
+ }
59
+ $modelName = $config['model'];
60
+ $method = Mage::getModel($modelName);
61
+ $method->setId($code)->setStore($store);
62
+ self::$_methods[$code] = $method;
63
+ return self::$_methods[$code];
64
+ }
65
+
66
+ public function getAccountTypes()
67
+ {
68
+ $types = array('CHECKING' => 'Checking', 'BUSINESSCHECKING' => 'Business checking', 'SAVINGS' => 'Savings');
69
+ return $types;
70
+ }
71
+ }
app/code/local/BluePay/Echeck/Model/EcheckPayment.php ADDED
@@ -0,0 +1,482 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Model_EcheckPayment extends Mage_Paygate_Model_Authorizenet
29
+ {
30
+
31
+ const CGI_URL = 'https://secure.bluepay.com/interfaces/bp10emu';
32
+ const CURRENT_VERSION = '1.5.1.0';
33
+
34
+
35
+ const REQUEST_METHOD_CC = 'CREDIT';
36
+ const REQUEST_METHOD_ECHECK = 'ACH';
37
+
38
+ const REQUEST_TYPE_AUTH_CAPTURE = 'SALE';
39
+ const REQUEST_TYPE_AUTH_ONLY = 'AUTH';
40
+ const REQUEST_TYPE_CAPTURE_ONLY = 'CAPTURE';
41
+ const REQUEST_TYPE_CREDIT = 'CREDIT';
42
+ const REQUEST_TYPE_VOID = 'VOID';
43
+ const REQUEST_TYPE_PRIOR_AUTH_CAPTURE = 'PRIOR_AUTH_CAPTURE';
44
+
45
+ const ECHECK_ACCT_TYPE_CHECKING = 'CHECKING';
46
+ const ECHECK_ACCT_TYPE_BUSINESS = 'BUSINESSCHECKING';
47
+ const ECHECK_ACCT_TYPE_SAVINGS = 'SAVINGS';
48
+
49
+ const ECHECK_TRANS_TYPE_CCD = 'CCD';
50
+ const ECHECK_TRANS_TYPE_PPD = 'PPD';
51
+ const ECHECK_TRANS_TYPE_TEL = 'TEL';
52
+ const ECHECK_TRANS_TYPE_WEB = 'WEB';
53
+
54
+ const RESPONSE_DELIM_CHAR = ',';
55
+
56
+ const RESPONSE_CODE_APPROVED = 'APPROVED';
57
+ const RESPONSE_CODE_DECLINED = 'DECLINED';
58
+ const RESPONSE_CODE_ERROR = 'ERROR';
59
+ const RESPONSE_CODE_HELD = 4;
60
+
61
+ const INVOICE_ID = 0;
62
+ const BANK_NAME = 1;
63
+ const PAYMENT_ACCOUNT = 2;
64
+ const AUTH_CODE = 3;
65
+ const CARD_TYPE = 4;
66
+ const AMOUNT = 5;
67
+ const REBID = 6;
68
+ const AVS = 7;
69
+ const ORDER_ID = 8;
70
+ const CARD_EXPIRE = 9;
71
+ const Result = 10;
72
+ const RRNO = 11;
73
+ const CVV2 = 12;
74
+ const PAYMENT_TYPE = 13;
75
+ const MESSAGE = 14;
76
+
77
+ protected $responseHeaders;
78
+
79
+ protected $_code = 'echeckpayment';
80
+ protected $_formBlockType = 'echeck/form';
81
+ protected $_infoBlockType = 'echeck/info_echeck';
82
+ /**
83
+ * Availability options
84
+ */
85
+ protected $_isGateway = true;
86
+ protected $_canAuthorize = true;
87
+ protected $_canCapture = true;
88
+ protected $_canCapturePartial = true;
89
+ protected $_canRefund = true;
90
+ protected $_canVoid = true;
91
+ protected $_canUseInternal = true;
92
+ protected $_canUseCheckout = true;
93
+ protected $_canUseForMultishipping = true;
94
+ protected $_canSaveCc = false;
95
+
96
+ public function authorize(Varien_Object $payment, $amount)
97
+ {
98
+ Mage::throwException(Mage::helper('echeck')->__('Error:'));
99
+ if ($amount <= 0) {
100
+ Mage::throwException(Mage::helper('paygate')->__('Invalid amount for authorization.'));
101
+ }
102
+ $payment->setTransactionType(self::REQUEST_TYPE_AUTH_CAPTURE);
103
+ $payment->setAmount($amount);
104
+
105
+ $request= $this->_buildRequest($payment);
106
+ $result = $this->_postRequest($request);
107
+
108
+ $payment->setCcApproval($result->getAuthCode())
109
+ ->setLastTransId($result->getRrno())
110
+ ->setTransactionId($result->getRrno())
111
+ ->setIsTransactionClosed(0)
112
+ ->setCcTransId($result->getRrno())
113
+ ->setCcAvsStatus($result->getAvs())
114
+ ->setCcCidStatus($result->getCvv2());
115
+ switch ($result->getResult()) {
116
+ case self::RESPONSE_CODE_APPROVED:
117
+ $payment->setStatus(self::STATUS_APPROVED);
118
+ Mage::throwException(Mage::helper('echeck')->__('Error: ' . $result->getMessage()));
119
+ return $this;
120
+ case self::RESPONSE_CODE_DECLINED:
121
+ Mage::throwException(Mage::helper('echeck')->__('The transaction has been declined'));
122
+ case self::RESPONSE_CODE_ERROR:
123
+ Mage::throwException(Mage::helper('echeck')->__('Error: ' . $result->getMessage()));
124
+ default:
125
+ Mage::throwException(Mage::helper('echeck')->__('Error!'));
126
+ }
127
+ }
128
+
129
+
130
+ public function capture(Varien_Object $payment, $amount)
131
+ {
132
+ $error = false;
133
+ $payment->setTransactionType(self::REQUEST_TYPE_AUTH_CAPTURE);
134
+ $payment->setAmount($amount);
135
+
136
+ $request= $this->_buildRequest($payment);
137
+ $result = $this->_postRequest($request);
138
+ if ($result->getResult() == self::RESPONSE_CODE_APPROVED) {
139
+ $payment->setStatus(self::STATUS_APPROVED);
140
+ $payment->setLastTransId($result->getRrno())
141
+ ->setTransactionId($result->getRrno());
142
+ return $this;
143
+ }
144
+ if ($result->getMessage()) {
145
+ Mage::throwException($this->_wrapGatewayError($result->getMessage()));
146
+ }
147
+ Mage::throwException(Mage::helper('echeck')->__('Error in capturing the payment.'));
148
+ if ($error !== false) {
149
+ Mage::throwException($error);
150
+ }
151
+ }
152
+
153
+ public function void(Varien_Object $payment)
154
+ {
155
+ $error = false;
156
+ if($payment->getParentTransactionId()){
157
+ $payment->setTransactionType(self::REQUEST_TYPE_CREDIT);
158
+ $request = $this->_buildRequest($payment);
159
+ $result = $this->_postRequest($request);
160
+ if($result->getResult()==self::RESPONSE_CODE_APPROVED){
161
+ $payment->setStatus(self::STATUS_SUCCESS );
162
+ $order->setState(Mage_Sales_Model_Order::STATE_CANCELED, true)->save();
163
+ return $this;
164
+ }
165
+ $payment->setStatus(self::STATUS_ERROR);
166
+ Mage::throwException($this->_wrapGatewayError($result->getMessage()));
167
+ }
168
+ $payment->setStatus(self::STATUS_ERROR);
169
+ Mage::throwException(Mage::helper('echeck')->__('Invalid transaction ID.'));
170
+ }
171
+
172
+ public function refund(Varien_Object $payment, $amount)
173
+ {
174
+ if ($payment->getRefundTransactionId() && $amount > 0) {
175
+ $payment->setTransactionType(self::REQUEST_TYPE_CREDIT);
176
+ $payment->setRrno($payment->getRefundTransactionId());
177
+ $payment->setAmount($amount);
178
+ $request = $this->_buildRequest($payment);
179
+ $request->setRrno($payment->getRefundTransactionId());
180
+ $result = $this->_postRequest($request);
181
+ if ($result->getResult()==self::RESPONSE_CODE_APPROVED) {
182
+ $payment->setStatus(self::STATUS_SUCCESS);
183
+ return $this;
184
+ }
185
+ if ($result->getResult()==self::RESPONSE_CODE_DECLINED) {
186
+ Mage::throwException($this->_wrapGatewayError('DECLINED'));
187
+ }
188
+ if ($result->getResult()==self::RESPONSE_CODE_ERROR) {
189
+ Mage::throwException($this->_wrapGatewayError('ERROR'));
190
+ }
191
+ Mage::throwException($this->_wrapGatewayError($result->getRrno()));
192
+ }
193
+ Mage::throwException(Mage::helper('echeck')->__('Error in refunding the payment.'));
194
+ }
195
+
196
+ protected function _buildRequest(Varien_Object $payment)
197
+ {
198
+ $order = $payment->getOrder();
199
+
200
+ $this->setStore($order->getStoreId());
201
+
202
+ if (!$payment->getPaymentType()) {
203
+ $payment->setPaymentType(self::REQUEST_METHOD_ECHECK);
204
+ }
205
+ $payment->setPaymentType(self::REQUEST_METHOD_ECHECK);
206
+ $request = Mage::getModel('echeck/EcheckPayment_request');
207
+
208
+ if ($order && $order->getIncrementId()) {
209
+ $request->setInvoiceID($order->getIncrementId());
210
+ }
211
+
212
+ $request->setMode(($this->getConfigData('test_mode') == 'TEST') ? 'TEST' : 'LIVE');
213
+ $request->setMerchant($this->getConfigData('login'))
214
+ ->setTransactionType($payment->getTransactionType())
215
+ ->setPaymentType($payment->getPaymentType())
216
+ ->setTamperProofSeal($this->calcTPS($payment));
217
+ if($payment->getAmount()){
218
+ $request->setAmount($payment->getAmount(),2);
219
+ }
220
+ switch ($payment->getTransactionType()) {
221
+ case self::REQUEST_TYPE_CREDIT:
222
+ case self::REQUEST_TYPE_VOID:
223
+ case self::REQUEST_TYPE_CAPTURE_ONLY:
224
+ $request->setRrno($payment->getCcTransId());
225
+ break;
226
+ }
227
+ $cart = Mage::helper('checkout/cart')->getCart()->getItemsCount();
228
+ $cartSummary = Mage::helper('checkout/cart')->getCart()->getSummaryQty();
229
+ Mage::getSingleton('core/session', array('name'=>'frontend'));
230
+ $session = Mage::getSingleton('checkout/session');
231
+
232
+ $comment = "";
233
+
234
+ foreach ($session->getQuote()->getAllItems() as $item) {
235
+
236
+ $comment .= $item->getQty() . ' ';
237
+ $comment .= '[' . $item->getSku() . ']' . ' ';
238
+ $comment .= $item->getName() . ' ';
239
+ $comment .= $item->getDescription() . ' ';
240
+ $comment .= $item->getBaseCalculationPrice . ' ';
241
+ }
242
+
243
+
244
+ if (!empty($order)) {
245
+ $billing = $order->getBillingAddress();
246
+ if (!empty($billing)) {
247
+ $request->setName1($billing->getFirstname())
248
+ ->setName2($billing->getLastname())
249
+ ->setCompany($billing->getCompany())
250
+ ->setAddr1($billing->getStreet(1))
251
+ ->setCity($billing->getCity())
252
+ ->setState($billing->getRegion())
253
+ ->setZipcode($billing->getPostcode())
254
+ ->setCountry($billing->getCountry())
255
+ ->setPhone($billing->getTelephone())
256
+ ->setFax($billing->getFax())
257
+ ->setCustomId($billing->getCustomerId())
258
+ ->setComment($comment)
259
+ ->setEmail($order->getCustomerEmail());
260
+ }
261
+ }
262
+
263
+ switch ($payment->getPaymentType()) {
264
+ case self::REQUEST_METHOD_ECHECK:
265
+ if ($payment->getEcheckAccountType() == "BUSINESSCHECKING")
266
+ $payment->setEcheckAccountType('C');
267
+ $request->setAchRouting($payment->getEcheckRoutingNumber())
268
+ ->setAchAccount($payment->getEcheckBankAcctNum())
269
+ ->setAchAccountType($payment->getEcheckAccountType())
270
+ ->setName($payment->getEcheckAccountName())
271
+ ->setDocType(self::ECHECK_TRANS_TYPE_CCD);
272
+ break;
273
+ }
274
+ return $request;
275
+ }
276
+
277
+ protected function _postRequest(Varien_Object $request)
278
+ {
279
+ $debugData = array('request' => $request->getData());
280
+
281
+ $result = Mage::getModel('echeck/EcheckPayment_result');
282
+ if (isset($_POST["?Result"])) {
283
+ $_POST["Result"] = $_POST["?Result"];
284
+ unset($_POST["?Result"]);
285
+ }
286
+ if (!isset($_POST["Result"])) {
287
+ $client = new Varien_Http_Client();
288
+
289
+ $uri = $this->getConfigData('cgi_url');
290
+ $client->setUri(self::CGI_URL);
291
+ $client->setConfig(array(
292
+ 'maxredirects'=>0,
293
+ 'timeout'=>30,
294
+ 'useragent' => 'BluePay Magento ACH Plugin/' . self::CURRENT_VERSION,
295
+ ));
296
+ $client->setParameterPost($request->getData());
297
+ $client->setMethod(Zend_Http_Client::POST);
298
+
299
+ try {
300
+ $response = $client->request();
301
+ }
302
+ catch (Exception $e) {
303
+ $debugData['result'] = $result->getData();
304
+ $this->_debug($debugData);
305
+ Mage::throwException($this->_wrapGatewayError($e->getMessage()));
306
+ }
307
+ $r = $response->getHeader('location');
308
+ if ($r) {
309
+ $result->setResult($this->parseHeader($r, 'value', self::Result))
310
+ ->setInvoiceId($this->parseHeader($r, 'value', self::INVOICE_ID))
311
+ ->setMessage($this->parseHeader($r, 'value', self::MESSAGE))
312
+ ->setAuthCode($this->parseHeader($r, 'value', self::AUTH_CODE))
313
+ ->setAvs($this->parseHeader($r, 'value', self::AVS))
314
+ ->setRrno($this->parseHeader($r, 'value', self::RRNO))
315
+ ->setAmount($this->parseHeader($r, 'value', self::AMOUNT))
316
+ ->setPaymentType($this->parseHeader($r, 'value', self::PAYMENT_TYPE))
317
+ ->setOrderId($this->parseHeader($r, 'value', self::ORDER_ID))
318
+ ->setCvv2($this->parseHeader($r, 'value', self::CVV2));
319
+ if($this->parseHeader($r, 'value', 0) == "ERROR") {
320
+ Mage::throwException($this->_wrapGatewayError($this->parseHeader($r, 'value', 1)));
321
+ }
322
+ } else {
323
+ Mage::throwException(
324
+ Mage::helper('echeck')->__('Error in payment gateway.')
325
+ );
326
+ }
327
+ $debugData['result'] = $result->getData();
328
+ $this->_debug($debugData);
329
+ } else {
330
+ $result->setResult($_POST["Result"]);
331
+ $result->setMessage($_POST["MESSAGE"]);
332
+ }
333
+ return $result;
334
+ }
335
+
336
+ public function validateRoutingNumber($routingNumber) {
337
+ $routingNumber = preg_replace('[\D]', '', $routingNumber); //only digits
338
+ if(strlen($routingNumber) != 9) {
339
+ return false;
340
+ }
341
+
342
+ $checkSum = 0;
343
+ for ($i = 0, $j = strlen($routingNumber); $i < $j; $i+= 3 ) {
344
+ //loop through routingNumber character by character
345
+ $checkSum += ($routingNumber[$i] * 3);
346
+ $checkSum += ($routingNumber[$i+1] * 7);
347
+ $checkSum += ($routingNumber[$i+2]);
348
+ }
349
+
350
+ if($checkSum != 0 and ($checkSum % 10) == 0) {
351
+ return true;
352
+ } else {
353
+ return false;
354
+ }
355
+ }
356
+
357
+
358
+ public function validate()
359
+ {
360
+ $paymentInfo = $this->getInfoInstance();
361
+ if(strlen($paymentInfo->getCcType()))
362
+ {
363
+ $paymentInfo = $this->unmapData($paymentInfo);
364
+ }
365
+
366
+ if ($paymentInfo instanceof Mage_Sales_Model_Order_Payment) {
367
+ $billingCountry = $paymentInfo->getOrder()->getBillingAddress()->getCountryId();
368
+ } else {
369
+ $billingCountry = $paymentInfo->getQuote()->getBillingAddress()->getCountryId();
370
+ }
371
+ if (!$this->canUseForCountry($billingCountry)) {
372
+ Mage::throwException($this->_getHelper()->__('Selected payment type is not allowed for billing country.'));
373
+ }
374
+
375
+ $info = $this->getInfoInstance();
376
+ $errorMsg = false;
377
+ $availableTypes = explode(',',$this->getConfigData('accounttypes'));
378
+
379
+ $accountType = '';
380
+
381
+ if (!in_array($info->getEcheckAccountType(), $availableTypes))
382
+ {
383
+ $errorCode = 'echeck_account_type';
384
+ $errorMsg = $this->_getHelper()->__('Account type is not allowed for this payment method '. $info->getAccountType());
385
+ }
386
+ $errorMsg = (!$this->validateRoutingNumber($info->getEcheckRoutingNumber())) ? 'Invalid Routing Number entered.' : $errorMsg;
387
+ $errorMsg = (!is_numeric($info->getEcheckBankAcctNum())) ? 'Invalid Account Number entered.' : $errorMsg;
388
+ if($errorMsg && $this->getConfigData('use_iframe') == '0')
389
+ {
390
+ Mage::throwException($errorMsg);
391
+ }
392
+ return $this;
393
+ }
394
+
395
+ public function getInfoInstance()
396
+ {
397
+ $instance = $this->getData('info_instance');
398
+ return $instance;
399
+ }
400
+
401
+ public function assignData($data)
402
+ {
403
+ if (!($data instanceof Varien_Object)) {
404
+ $data = new Varien_Object($data);
405
+ }
406
+ $data->setEcheckBankAcctNum4(substr($data->getEcheckBankAcctNum(), -4));
407
+ $info = $this->getInfoInstance();
408
+ $info->setEcheckRoutingNumber($data->getEcheckRoutingNumber())
409
+ ->setEcheckBankName($data->getEcheckBankName())
410
+ ->setData('echeck_account_type', $data->getEcheckAccountType())
411
+ ->setEcheckAccountName($data->getEcheckAccountName())
412
+ ->setEcheckBankAcctNum($data->getEcheckBankAcctNum())
413
+ ->setEcheckBankAcctNum4($data->getEcheckBankAcctNum4());
414
+
415
+ $this->mapData($data);
416
+ return $this;
417
+ }
418
+
419
+ public function mapData($data)
420
+ {
421
+ if (!($data instanceof Varien_Object)) {
422
+ $data = new Varien_Object($data);
423
+ }
424
+ $info = $this->getInfoInstance();
425
+ $info->setCcLast4($data->getEcheckRoutingNumber())
426
+ ->setCcNumberEnc($data->getEcheckBankName())
427
+ ->setCcType($data->getEcheckAccountType())
428
+ ->setCcOwner($data->getEcheckAccountName())
429
+ ->setCcSsIssue($data->getEcheckBankAcctNum())
430
+ ->setCcSsOwner($data->getEcheckBankAcctNum4());
431
+ }
432
+
433
+ public function unmapData($info)
434
+ {
435
+ $info->setEcheckRoutingNumber($info->getCcLast4())
436
+ ->setEcheckBankName($info->getCcNumberEnc())
437
+ ->setEcheckAccountType($info->getCcType())
438
+ ->setEcheckAccountName($info->getCcOwner())
439
+ ->setEcheckBankAcctNum($info->getCcSsIssue())
440
+ ->setEcheckBankAcctNum4($info->getCcSsOwner());
441
+ return $info;
442
+ }
443
+
444
+ public function prepareSave()
445
+ {
446
+ $info = $this->getInfoInstance();
447
+ $info->setCcSsIssue(null);
448
+ return $this;
449
+ }
450
+
451
+ public function isAvailable($quote = null){
452
+ $checkResult = new StdClass;
453
+ $checkResult->isAvailable = (bool)(int)$this->getConfigData('active', ($quote ? $quote->getStoreId() : null));
454
+ Mage::dispatchEvent('payment_method_is_active', array(
455
+ 'result' => $checkResult,
456
+ 'method_instance' => $this,
457
+ 'quote' => $quote,
458
+ ));
459
+ return $checkResult->isAvailable;
460
+ }
461
+
462
+ protected final function calcTPS(Varien_Object $payment) {
463
+
464
+ $order = $payment->getOrder();
465
+ $billing = $order->getBillingAddress();
466
+
467
+ $hashstr = $this->getConfigData('trans_key') . $this->getConfigData('login') .
468
+ $payment->getTransactionType() . $payment->getAmount() . $payment->getRrno() .
469
+ $this->getConfigData('test_mode');
470
+
471
+ return bin2hex( md5($hashstr, true) );
472
+ }
473
+
474
+ protected function parseHeader($header, $nameVal, $pos) {
475
+ $nameVal = ($nameVal == 'name') ? '0' : '1';
476
+ $s = explode("?", $header);
477
+ $t = explode("&", $s[1]);
478
+ $value = explode("=", $t[$pos]);
479
+ return $value[$nameVal];
480
+ }
481
+
482
+ }
app/code/local/BluePay/Echeck/Model/EcheckPayment/Debug.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Model_EcheckPayment_Debug extends Mage_Core_Model_Abstract
29
+ {
30
+ protected function _construct()
31
+ {
32
+ $this->_init('echeck/EcheckPayment_debug');
33
+ }
34
+ }
app/code/local/BluePay/Echeck/Model/EcheckPayment/Request.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Model_EcheckPayment_Request extends Varien_Object
29
+ {
30
+
31
+ }
app/code/local/BluePay/Echeck/Model/EcheckPayment/Result.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Model_EcheckPayment_Result extends Varien_Object
29
+ {
30
+
31
+ }
app/code/local/BluePay/Echeck/Model/EcheckPayment/Source/Accounttypes.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Model_EcheckPayment_Source_Accounttypes
29
+ {
30
+ public function getAllowedTypes()
31
+ {
32
+ return array('CHECKING', 'BUSINESSCHECKING', 'SAVINGS');
33
+ }
34
+
35
+ public function toOptionArray()
36
+ {
37
+ $allowed = $this->getAllowedTypes();
38
+ $options = array();
39
+
40
+ foreach (Mage::getSingleton('echeck/config')->getAccountTypes() as $code => $name) {
41
+ if (in_array($code, $allowed) || !count($allowed)) {
42
+ $options[] = array(
43
+ 'value' => $code,
44
+ 'label' => $name
45
+ );
46
+ }
47
+ }
48
+
49
+ return $options;
50
+ }
51
+ }
app/code/local/BluePay/Echeck/Model/EcheckPayment/Source/PaymentAction.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Model_EcheckPayment_Source_PaymentAction
29
+ {
30
+ public function toOptionArray()
31
+ {
32
+ return array(
33
+ array(
34
+ 'value' => BluePay_Echeck_Model_EcheckPayment::ACTION_AUTHORIZE_CAPTURE,
35
+ 'label' => 'SALE'
36
+ ),
37
+ );
38
+ }
39
+ }
app/code/local/BluePay/Echeck/Model/Mysql4/ECheckPayment/Debug.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Model_Mysql4_ECheckPayment_Debug extends Mage_Core_Model_Mysql4_Abstract
29
+ {
30
+ protected function _construct()
31
+ {
32
+ $this->_init('echeck/ECheckPayment_debug', 'debug_id');
33
+ }
34
+ }
app/code/local/BluePay/Echeck/Model/Mysql4/ECheckPayment/Debug/Collection.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ class BluePay_Echeck_Model_Mysql4_ECheckPayment_Debug_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
29
+ {
30
+ protected function _construct()
31
+ {
32
+ $this->_init('echeck/ECheckPayment_debug');
33
+ }
34
+ }
app/code/local/BluePay/Echeck/etc/config.xml ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC. (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <config>
29
+ <modules>
30
+ <BluePay_Echeck>
31
+ <version>0.1.0</version>
32
+ </BluePay_Echeck>
33
+ </modules>
34
+ <global>
35
+ <blocks>
36
+ <echeck>
37
+ <class>BluePay_Echeck_Block</class>
38
+ </echeck>
39
+ </blocks>
40
+ <helpers>
41
+ <echeck>
42
+ <class>BluePay_Echeck_Helper</class>
43
+ </echeck>
44
+ </helpers>
45
+ <models>
46
+ <echeck>
47
+ <class>BluePay_Echeck_Model</class>
48
+ <resourceModel>echeck_mysql4</resourceModel>
49
+ </echeck>
50
+ <echeck_mysql4>
51
+ <class>BluePay_Echeck_Model_Mysql4</class>
52
+ <entities>
53
+ <echeckpayment_debug><table>echeck_EcheckPayment_debug</table></echeckpayment_debug>
54
+ </entities>
55
+ </echeck_mysql4>
56
+ </models>
57
+ <resources>
58
+ <echeck_setup>
59
+ <setup>
60
+ <module>BluePay_Echeck</module>
61
+ </setup>
62
+ <connection>
63
+ <use>core_setup</use>
64
+ </connection>
65
+ </echeck_setup>
66
+ <echeck_write>
67
+ <connection>
68
+ <use>core_write</use>
69
+ </connection>
70
+ </echeck_write>
71
+ <echeck_read>
72
+ <connection>
73
+ <use>core_read</use>
74
+ </connection>
75
+ </echeck_read>
76
+ </resources>
77
+ </global>
78
+
79
+ <adminhtml>
80
+ <translate>
81
+ <modules>
82
+ <BluePay_Echeck>
83
+ <files>
84
+ <default>BluePay_Echeck.csv</default>
85
+ </files>
86
+ </BluePay_Echeck>
87
+ </modules>
88
+ </translate>
89
+ </adminhtml>
90
+
91
+ <frontend>
92
+ <translate>
93
+ <modules>
94
+ <BluePay_Echeck>
95
+ <files>
96
+ <default>BluePay_Echeck.csv</default>
97
+ </files>
98
+ </BluePay_Echeck>
99
+ </modules>
100
+ </translate>
101
+ <routers>
102
+ <echeck>
103
+ <use>standard></use>
104
+ <args>
105
+ <module>BluePay_Echeck</module>
106
+ <frontName>echeck</frontName>
107
+ </args>
108
+ </echeck>
109
+ </routers>
110
+ <layout>
111
+ <updates>
112
+ <echeck>
113
+ <file>bluepay_echeck.xml</file>
114
+ </echeck>
115
+ </updates>
116
+ </layout>
117
+ </frontend>
118
+
119
+ <default>
120
+ <payment>
121
+ <echeckpayment>
122
+ <active>1</active>
123
+ <accounttypes>CHECKING,BUSINESSCHECKING,SAVINGS</accounttypes>
124
+ <debug>0</debug>
125
+ <login backend_model="adminhtml/system_config_backend_encrypted"/>
126
+ <model>echeck/EcheckPayment</model>
127
+ <order_status>2</order_status>
128
+ <test>1</test>
129
+ <title>E-Check</title>
130
+ <trans_key backend_model="adminhtml/system_config_backend_encrypted"/>
131
+ <allowspecific>0</allowspecific>
132
+ <use_iframe>0</use_iframe>
133
+ </echeckpayment>
134
+ </payment>
135
+ </default>
136
+ </config>
app/code/local/BluePay/Echeck/etc/system.xml ADDED
@@ -0,0 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC. (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <config>
29
+ <sections>
30
+ <payment>
31
+ <groups>
32
+ <echeckpayment translate="label" module="echeck">
33
+ <label>BluePay (E-Check)</label>
34
+ <frontend_type>text</frontend_type>
35
+ <sort_order>10</sort_order>
36
+ <show_in_default>1</show_in_default>
37
+ <show_in_website>1</show_in_website>
38
+ <show_in_store>1</show_in_store>
39
+ <fields>
40
+ <active translate="label">
41
+ <label>Enabled</label>
42
+ <frontend_type>select</frontend_type>
43
+ <source_model>adminhtml/system_config_source_yesno</source_model>
44
+ <sort_order>1</sort_order>
45
+ <show_in_default>1</show_in_default>
46
+ <show_in_website>1</show_in_website>
47
+ <show_in_store>0</show_in_store>
48
+ </active>
49
+ <accounttypes translate="label">
50
+ <label>Account Types</label>
51
+ <frontend_type>multiselect</frontend_type>
52
+ <source_model>echeck/EcheckPayment_source_accounttypes</source_model>
53
+ <sort_order>15</sort_order>
54
+ <show_in_default>1</show_in_default>
55
+ <show_in_website>1</show_in_website>
56
+ <show_in_store>0</show_in_store>
57
+ </accounttypes>
58
+ <login translate="label">
59
+ <label>Account ID</label>
60
+ <frontend_type>obscure</frontend_type>
61
+ <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
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>0</show_in_store>
66
+ </login>
67
+ <sort_order translate="label">
68
+ <label>Sort order</label>
69
+ <frontend_type>text</frontend_type>
70
+ <sort_order>100</sort_order>
71
+ <show_in_default>1</show_in_default>
72
+ <show_in_website>1</show_in_website>
73
+ <show_in_store>0</show_in_store>
74
+ </sort_order>
75
+ <order_status translate="label">
76
+ <label>New Order Status</label>
77
+ <frontend_type>select</frontend_type>
78
+ <source_model>adminhtml/system_config_source_order_status_processing</source_model>
79
+ <sort_order>4</sort_order>
80
+ <show_in_default>1</show_in_default>
81
+ <show_in_website>1</show_in_website>
82
+ <show_in_store>0</show_in_store>
83
+ </order_status>
84
+
85
+ <test_mode translate="label">
86
+ <label>Test Mode</label>
87
+ <frontend_type>select</frontend_type>
88
+ <source_model>adminhtml/system_config_source_testmodeACH</source_model>
89
+ <sort_order>6</sort_order>
90
+ <show_in_default>1</show_in_default>
91
+ <show_in_website>1</show_in_website>
92
+ <show_in_store>0</show_in_store>
93
+ </test_mode>
94
+ <debug translate="label">
95
+ <label>Debug</label>
96
+ <frontend_type>select</frontend_type>
97
+ <source_model>adminhtml/system_config_source_yesno</source_model>
98
+ <sort_order>20</sort_order>
99
+ <show_in_default>1</show_in_default>
100
+ <show_in_website>1</show_in_website>
101
+ <show_in_store>0</show_in_store>
102
+ </debug>
103
+ <title translate="label">
104
+ <label>Title</label>
105
+ <frontend_type>text</frontend_type>
106
+ <sort_order>2</sort_order>
107
+ <show_in_default>1</show_in_default>
108
+ <show_in_website>1</show_in_website>
109
+ <show_in_store>1</show_in_store>
110
+ </title>
111
+ <trans_key translate="label">
112
+ <label>Secret Key</label>
113
+ <frontend_type>obscure</frontend_type>
114
+ <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
115
+ <sort_order>4</sort_order>
116
+ <show_in_default>1</show_in_default>
117
+ <show_in_website>1</show_in_website>
118
+ <show_in_store>0</show_in_store>
119
+ </trans_key>
120
+ <min_order_total translate="label">
121
+ <label>Minimum Order Total</label>
122
+ <frontend_type>text</frontend_type>
123
+ <sort_order>17</sort_order>
124
+ <show_in_default>1</show_in_default>
125
+ <show_in_website>1</show_in_website>
126
+ <show_in_store>0</show_in_store>
127
+ </min_order_total>
128
+ <max_order_total translate="label">
129
+ <label>Maximum Order Total</label>
130
+ <frontend_type>text</frontend_type>
131
+ <sort_order>18</sort_order>
132
+ <show_in_default>1</show_in_default>
133
+ <show_in_website>1</show_in_website>
134
+ <show_in_store>0</show_in_store>
135
+ </max_order_total>
136
+ <payment_action translate="label">
137
+ <label>Transaction Type</label>
138
+ <frontend_type>select</frontend_type>
139
+ <source_model>echeck/EcheckPayment_source_paymentAction</source_model>
140
+ <sort_order>4</sort_order>
141
+ <show_in_default>1</show_in_default>
142
+ <show_in_website>1</show_in_website>
143
+ <show_in_store>0</show_in_store>
144
+ </payment_action>
145
+ <use_iframe translate="label">
146
+ <label>Enable Checkout Iframe</label>
147
+ <frontend_type>select</frontend_type>
148
+ <source_model>adminhtml/system_config_source_yesno</source_model>
149
+ <sort_order>6</sort_order>
150
+ <show_in_default>1</show_in_default>
151
+ <show_in_website>1</show_in_website>
152
+ <show_in_store>0</show_in_store>
153
+ </use_iframe>
154
+ <model>
155
+ </model>
156
+ </fields>
157
+ </echeckpayment>
158
+ </groups>
159
+ </payment>
160
+ </sections>
161
+ </config>
app/code/local/BluePay/Echeck/sql/echeck_setup/mysql4-install-0.7.0.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
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
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category BluePay
23
+ * @package BluePay_Echeck
24
+ * @copyright Copyright (c) 2010 BluePay Processing, LLC (http://www.bluepay.com)
25
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
+ */
27
+
28
+ $installer = $this;
29
+ /* @var $installer Mage_Core_Model_Resource_Setup */
30
+
31
+ $installer->startSetup();
32
+
33
+ $installer->run("
34
+
35
+ -- DROP TABLE if exists {$this->getTable('echeck_echeckpayment_debug')};
36
+ CREATE TABLE {$this->getTable('echeck_echeckpayment_debug')} (
37
+ `debug_id` int(10) unsigned NOT NULL auto_increment,
38
+ `request_body` text,
39
+ `response_body` text,
40
+ `request_serialized` text,
41
+ `result_serialized` text,
42
+ `request_dump` text,
43
+ `result_dump` text,
44
+ PRIMARY KEY (`debug_id`)
45
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
46
+
47
+ ");
48
+
49
+ $installer->endSetup();
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>BluePay_Echeck</name>
4
- <version>1.5.1.6</version>
5
  <stability>stable</stability>
6
  <license>GNU General Public License</license>
7
  <channel>community</channel>
@@ -11,8 +11,8 @@
11
  <notes>Fixed compatibility with Credit Card module</notes>
12
  <authors><author><name>Justin Slingerland</name><user>jslingerland</user><email>jslingerland@bluepay.com</email></author></authors>
13
  <date>2014-09-24</date>
14
- <time>16:17:51</time>
15
- <contents><target name="mageetc"><dir name="modules"><file name="BluePay_Echeck.xml" hash="252f244ae4f8cba53f883559a23273c7"/></dir></target><target name="mageweb"><dir name="js"><dir name="bluepay_echeck"><file name="bluepay.js" hash="61932dea7f7b14192d33408ad829c3b0"/><dir name="easyXDM"><file name="easyXDM.Widgets.debug.js" hash="26b23561d39a64b926fe8dafea2f0a7b"/><file name="easyXDM.Widgets.js" hash="26b23561d39a64b926fe8dafea2f0a7b"/><file name="easyXDM.Widgets.min.js" hash="790f5fa04af75a8013d0ff5fd6dc770d"/><file name="easyXDM.debug.js" hash="2f74fa97b0aacdfb5e8570e381465905"/><file name="easyXDM.js" hash="499464a0c3d89679c11df6ee5d188df5"/><file name="easyXDM.min.js" hash="e3fd912457d7213fe5ccae7bf0fd0c82"/><file name="name.html" hash="990620350432f6c7e28f1e111ce598c8"/><file name=".gitignore" hash="f256c78995e7e95eb33afc3cee8ff195"/></dir></dir></dir></target><target name="magecore"><dir name="Mage"><dir name="Adminhtml"><dir name="Model"><dir name="System"><dir name="Config"><dir name="Source"><file name="TestmodeACH.php" hash="371db79c030d69b3b19fc4caac4e7ba0"/></dir></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="bluepay_echeck.xml" hash="4d1a4de9be145ce19db6b28c2cac81e7"/></dir><dir name="template"><dir name="bluepay"><file name="echeck.phtml" hash="2aad3205d674d1dd77b12b55e1d0c49b"/><file name="echeck_form.phtml" hash="297a21924143235abc34f2dbaecc4544"/><file name="echeck_iframe.phtml" hash="59436bef6158dbd19d81daf8dcdfd157"/><file name="buttonach.phtml" hash="544c43035f36042b75b96887b19d3f37"/><file name="echeck_inforeview.phtml" hash="0d29af5174235ded956fea6e92302a54"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="bluepay"><file name="echeck.phtml" hash="b2e6165c19e46e361bebc671010f7d07"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>5.6.9</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>BluePay_Echeck</name>
4
+ <version>1.5.1.7</version>
5
  <stability>stable</stability>
6
  <license>GNU General Public License</license>
7
  <channel>community</channel>
11
  <notes>Fixed compatibility with Credit Card module</notes>
12
  <authors><author><name>Justin Slingerland</name><user>jslingerland</user><email>jslingerland@bluepay.com</email></author></authors>
13
  <date>2014-09-24</date>
14
+ <time>16:27:10</time>
15
+ <contents><target name="mageetc"><dir name="modules"><file name="BluePay_Echeck.xml" hash="252f244ae4f8cba53f883559a23273c7"/></dir></target><target name="mageweb"><dir name="js"><dir name="bluepay_echeck"><file name="bluepay.js" hash="61932dea7f7b14192d33408ad829c3b0"/><dir name="easyXDM"><file name="easyXDM.Widgets.debug.js" hash="26b23561d39a64b926fe8dafea2f0a7b"/><file name="easyXDM.Widgets.js" hash="26b23561d39a64b926fe8dafea2f0a7b"/><file name="easyXDM.Widgets.min.js" hash="790f5fa04af75a8013d0ff5fd6dc770d"/><file name="easyXDM.debug.js" hash="2f74fa97b0aacdfb5e8570e381465905"/><file name="easyXDM.js" hash="499464a0c3d89679c11df6ee5d188df5"/><file name="easyXDM.min.js" hash="e3fd912457d7213fe5ccae7bf0fd0c82"/><file name="name.html" hash="990620350432f6c7e28f1e111ce598c8"/><file name=".gitignore" hash="f256c78995e7e95eb33afc3cee8ff195"/></dir></dir></dir></target><target name="magelocal"><dir name="BluePay"><dir name="Echeck"><dir name="Block"><dir name="Form"><file name="Echeck.php" hash="9ff5f7eb3301d8f049a853a556e6f0c9"/></dir><file name="Form.php" hash="e8219ff37abcb6640857c4f19deb7bdb"/><dir name="Info"><file name="Echeck.php" hash="967c7f583f10f449154a77315029647b"/></dir><file name="Info.php" hash="de65c278c010d85d67e5b1ae031a1c28"/></dir><dir name="Helper"><file name="Data.php" hash="8f64e111734ce162a0d0b28ebad1db90"/></dir><dir name="Model"><file name="Config.php" hash="94567f95c4463897ba822ca1c61dca7a"/><dir name="EcheckPayment"><file name="Debug.php" hash="76d8cb6c86a595b2b78d43664c6dd6e8"/><file name="Request.php" hash="0a65c3aae69eb0c196231cbf6f007cec"/><file name="Result.php" hash="6935ba845811c005b9c501a03891e33a"/><dir name="Source"><file name="Accounttypes.php" hash="3c8b8034d6c96b0280db4e7e595ab73c"/><file name="PaymentAction.php" hash="9da2c6580cfd6d611c207e5be3b2aea5"/></dir></dir><file name="EcheckPayment.php" hash="563dc4fd2e85667ac977f6499b983e9b"/><dir name="Mysql4"><dir name="ECheckPayment"><dir name="Debug"><file name="Collection.php" hash="aa8222f78f17b4c35050c9d06dc085bc"/></dir><file name="Debug.php" hash="829e050092ffb527e08a6a9d9959374a"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="bf862e0ba158cebf78b785c98cfdca3e"/><file name="system.xml" hash="b68b53fb8a301bc3f21b0cd0bd788ba1"/></dir><dir name="sql"><dir name="echeck_setup"><file name="mysql4-install-0.7.0.php" hash="8a9c16edd149e1e41c4015aeebb35892"/></dir></dir></dir></dir></target><target name="magecore"><dir name="Mage"><dir name="Adminhtml"><dir name="Model"><dir name="System"><dir name="Config"><dir name="Source"><file name="TestmodeACH.php" hash="371db79c030d69b3b19fc4caac4e7ba0"/></dir></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="bluepay_echeck.xml" hash="4d1a4de9be145ce19db6b28c2cac81e7"/></dir><dir name="template"><dir name="bluepay"><file name="echeck.phtml" hash="2aad3205d674d1dd77b12b55e1d0c49b"/><file name="echeck_form.phtml" hash="297a21924143235abc34f2dbaecc4544"/><file name="echeck_iframe.phtml" hash="59436bef6158dbd19d81daf8dcdfd157"/><file name="buttonach.phtml" hash="544c43035f36042b75b96887b19d3f37"/><file name="echeck_inforeview.phtml" hash="0d29af5174235ded956fea6e92302a54"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="bluepay"><file name="echeck.phtml" hash="b2e6165c19e46e361bebc671010f7d07"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>5.6.9</max></php></required></dependencies>
18
  </package>