CLS_Paypal_Credit_Card_Tokenization - Version 1.0.9

Version Notes

Fixed API inheritance issue introduced with Magento 1.8.1.0/1.13.1.0, which broke PayFlow billing agreements

Download this release

Release Info

Developer Classy Llama
Extension CLS_Paypal_Credit_Card_Tokenization
Version 1.0.9
Comparing to
See all releases


Code changes from version 1.0.8 to 1.0.9

app/code/community/CLS/Paypal/CHANGELOG.txt CHANGED
@@ -1,3 +1,7 @@
 
 
 
 
1
  CLS_Paypal 1.0.8 (3/19/2014)
2
  =======================================
3
  [ADDED] Implemented support for "Previously Used" methods when re-ordering in admin
1
+ CLS_Paypal 1.0.9 (3/25/2014)
2
+ =======================================
3
+ [FIXED] Fixed API inheritance issue introduced with Magento 1.8.1.0/1.13.1.0, which broke PayFlow billing agreements
4
+
5
  CLS_Paypal 1.0.8 (3/19/2014)
6
  =======================================
7
  [ADDED] Implemented support for "Previously Used" methods when re-ordering in admin
app/code/community/CLS/Paypal/Model/Paypaluk/Api/Express/Nvp.php ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Classy Llama
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 to us at
13
+ * support+paypal@classyllama.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade this module
18
+ * to newer versions in the future. If you require customizations of this
19
+ * module for your needs, please write us at sales@classyllama.com.
20
+ *
21
+ * To report bugs or issues with this module, please email support+paypal@classyllama.com.
22
+ *
23
+ * @category CLS
24
+ * @package Paypal
25
+ * @copyright Copyright (c) 2013 Classy Llama Studios, LLC (http://www.classyllama.com)
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class CLS_Paypal_Model_Paypaluk_Api_Express_Nvp extends Mage_PaypalUk_Model_Api_Express_Nvp
30
+ {
31
+ protected $_commonNvp = null;
32
+
33
+ protected function _construct()
34
+ {
35
+ parent::_construct();
36
+
37
+ $this->_commonNvp = Mage::getModel('cls_paypal/paypaluk_api_nvp_common', array('nvp_instance' => $this));
38
+
39
+ $this->_globalMap = $this->_commonNvp->processGlobalMap($this->_globalMap);
40
+
41
+ $this->_createBillingAgreementRequest = $this->_commonNvp->processTransactionMap('create_ba_request', $this->_createBillingAgreementRequest);
42
+ $this->_createBillingAgreementResponse = $this->_commonNvp->processTransactionMap('create_ba_response', $this->_createBillingAgreementResponse);
43
+ $this->_updateBillingAgreementRequest = $this->_commonNvp->processTransactionMap('update_ba_request', $this->_updateBillingAgreementRequest);
44
+ $this->_updateBillingAgreementResponse = $this->_commonNvp->processTransactionMap('update_ba_response', $this->_updateBillingAgreementResponse);
45
+ $this->_doReferenceTransactionRequest = $this->_commonNvp->processTransactionMap('do_ref_trans_request', $this->_doReferenceTransactionRequest);
46
+ $this->_doReferenceTransactionResponse = $this->_commonNvp->processTransactionMap('do_ref_trans_response', $this->_doReferenceTransactionResponse);
47
+ $this->_debugReplacePrivateDataKeys = $this->_commonNvp->processTransactionMap('debug_replace_private', $this->_debugReplacePrivateDataKeys);
48
+ $this->_setExpressCheckoutRequest = $this->_commonNvp->processTransactionMap('set_expr_checkout_request', $this->_setExpressCheckoutRequest);
49
+ $this->_customerBillingAgreementRequest = $this->_commonNvp->processTransactionMap('customer_ba_request', $this->_customerBillingAgreementRequest);
50
+ }
51
+
52
+ /**
53
+ * Get Paypal info code
54
+ *
55
+ * @return string
56
+ */
57
+ public function getPaypalInfoCode()
58
+ {
59
+ return $this->_commonNvp->getPaypalInfoCode();
60
+ }
61
+
62
+ /**
63
+ * Return PaypalUk tender based on config data
64
+ *
65
+ * @return string
66
+ */
67
+ public function getTender()
68
+ {
69
+ $value = $this->_commonNvp->getTender($this->_config);
70
+ if ($value === FALSE) {
71
+ $value = parent::getTender();
72
+ }
73
+ return $value;
74
+ }
75
+
76
+ /**
77
+ * Add method to request array
78
+ *
79
+ * @param string $methodName
80
+ * @param array $request
81
+ * @return array
82
+ */
83
+ protected function _addMethodToRequest($methodName, $request)
84
+ {
85
+ $txnType = $this->_mapPaypalMethodName($methodName);
86
+ if ($txnType) {
87
+ return parent::_addMethodToRequest($methodName, $request);
88
+ } else {
89
+ if (!is_null($this->_getPaypalUkActionName($methodName))) {
90
+ $request['ACTION'] = $this->_getPaypalUkActionName($methodName);
91
+ }
92
+ return $request;
93
+ }
94
+ }
95
+
96
+ /**
97
+ * Return Payflow Edition
98
+ *
99
+ * @param string
100
+ * @return string | null
101
+ */
102
+ protected function _getPaypalUkActionName($methodName)
103
+ {
104
+ $value = $this->_commonNvp->getPaypalUkActionName($methodName);
105
+ if ($value === FALSE) {
106
+ $value = parent::_getPaypalUkActionName($methodName);
107
+ }
108
+ return $value;
109
+ }
110
+
111
+ /**
112
+ * Map paypal method names
113
+ *
114
+ * @param string| $methodName
115
+ * @return string
116
+ */
117
+ protected function _mapPaypalMethodName($methodName)
118
+ {
119
+ $value = $this->_commonNvp->mapPaypalMethodName($methodName, $this->_config);
120
+ if ($value === FALSE) {
121
+ $value = parent::_mapPaypalMethodName($methodName);
122
+ }
123
+ return $value;
124
+ }
125
+
126
+ /**
127
+ * Set Customer Billing Agreement call
128
+ *
129
+ * @link https://cms.paypal.com/us/cgi-bin/?&cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_SetCustomerBillingAgreement
130
+ */
131
+ public function callSetCustomerBillingAgreement()
132
+ {
133
+ $this->_commonNvp->preCallSetCustomerBillingAgreement();
134
+ parent::callSetCustomerBillingAgreement();
135
+ }
136
+ }
app/code/community/CLS/Paypal/Model/Paypaluk/Api/Nvp.php CHANGED
@@ -28,68 +28,25 @@
28
 
29
  class CLS_Paypal_Model_Paypaluk_Api_Nvp extends Mage_PaypalUk_Model_Api_Nvp
30
  {
31
- /**
32
- * Paypal methods definition
33
- */
34
- const SET_BILLING_AGREEMENT = 'SetCustomerBillingAgreement';
35
- const CREATE_BILLING_AGREEMENT = 'CreateBillingAgreement';
36
- const UPDATE_BILLING_AGREEMENT = 'BillAgreementUpdate';
37
- const DO_REFERENCE_TRANSACTION = 'DoReferenceTransaction';
38
-
39
- /**
40
- * Actions
41
- */
42
- const BA_SET = 'S';
43
- const BA_CREATE = 'X';
44
- const BA_UPDATE = 'U';
45
-
46
- const RESPONSE_MSG = 'paypal_response_msg';
47
-
48
- /**
49
- * Create Billing Agreement request/response map
50
- * @var array
51
- */
52
- protected $_createBillingAgreementResponse = array('BAID');
53
-
54
- /**
55
- * Update Billing Agreement request/response map
56
- * @var array
57
- */
58
- protected $_updateBillingAgreementRequest = array(
59
- 'BAID', 'TENDER', 'BA_STATUS',
60
- );
61
- protected $_updateBillingAgreementResponse = array(
62
- 'BAID', 'PPREF', 'RESPMSG', 'CORRELATIONID',
63
- );
64
-
65
- /**
66
- * Do Reference Transaction request/response map
67
- *
68
- * @var array
69
- */
70
- protected $_doReferenceTransactionRequest = array('BAID', 'TENDER', 'AMT', 'FREIGHTAMT',
71
- 'TAXAMT', 'INVNUM', 'NOTIFYURL'
72
- );
73
- protected $_doReferenceTransactionResponse = array('BAID', 'PNREF', 'PPREF', 'PENDINGREASON', 'RESPMSG');
74
 
75
  protected function _construct()
76
  {
77
  parent::_construct();
78
 
79
- $this->_globalMap['BILLINGTYPE'] = 'billing_type';
80
- $this->_globalMap['BAID'] = 'billing_agreement_id';
81
- $this->_globalMap['RESPMSG'] = 'response_msg';
82
- $this->_globalMap['BA_STATUS'] = 'billing_agreement_status';
83
- $this->_globalMap['BUTTONSOURCE'] = 'paypal_info_code';
84
-
85
- $this->_debugReplacePrivateDataKeys[] = 'BUTTONSOURCE';
86
-
87
- $this->_setExpressCheckoutRequest[] = 'BILLINGTYPE';
88
 
89
- $this->_customerBillingAgreementRequest[] = 'TENDER';
90
- $this->_customerBillingAgreementRequest[] = 'AMT';
91
 
92
- $this->_createBillingAgreementRequest[] = 'TENDER';
 
 
 
 
 
 
 
 
93
  }
94
 
95
  /**
@@ -99,7 +56,7 @@ class CLS_Paypal_Model_Paypaluk_Api_Nvp extends Mage_PaypalUk_Model_Api_Nvp
99
  */
100
  public function getPaypalInfoCode()
101
  {
102
- return Mage::helper('cls_paypal')->getPaypalInfoCode();
103
  }
104
 
105
  /**
@@ -109,14 +66,11 @@ class CLS_Paypal_Model_Paypaluk_Api_Nvp extends Mage_PaypalUk_Model_Api_Nvp
109
  */
110
  public function getTender()
111
  {
112
- switch ($this->_config->getMethodCode()) {
113
- case CLS_Paypal_Model_Paypal_Config::METHOD_PAYFLOW_BILLING_AGREEMENT:
114
- case CLS_Paypal_Model_Paypal_Config::METHOD_PAYFLOW_ORDERSTORED_AGREEMENT:
115
- return Mage_PaypalUk_Model_Api_Nvp::TENDER_PAYPAL;
116
-
117
- default:
118
- return parent::getTender();
119
  }
 
120
  }
121
 
122
  /**
@@ -147,22 +101,11 @@ class CLS_Paypal_Model_Paypaluk_Api_Nvp extends Mage_PaypalUk_Model_Api_Nvp
147
  */
148
  protected function _getPaypalUkActionName($methodName)
149
  {
150
- switch($methodName) {
151
- case self::DO_REFERENCE_TRANSACTION:
152
- return Mage_PaypalUk_Model_Api_Nvp::EXPRESS_DO_PAYMENT;
153
-
154
- case self::SET_BILLING_AGREEMENT:
155
- return self::BA_SET;
156
-
157
- case self::CREATE_BILLING_AGREEMENT:
158
- return self::BA_CREATE;
159
-
160
- case self::UPDATE_BILLING_AGREEMENT:
161
- return self::BA_UPDATE;
162
-
163
- default:
164
- return parent::_getPaypalUkActionName($methodName);
165
  }
 
166
  }
167
 
168
  /**
@@ -173,22 +116,11 @@ class CLS_Paypal_Model_Paypaluk_Api_Nvp extends Mage_PaypalUk_Model_Api_Nvp
173
  */
174
  protected function _mapPaypalMethodName($methodName)
175
  {
176
- switch ($methodName) {
177
- case self::DO_REFERENCE_TRANSACTION:
178
- return ($this->_config->payment_action == Mage_Paypal_Model_Config::PAYMENT_ACTION_AUTH)
179
- ? Mage_PaypalUk_Model_Api_Nvp::TRXTYPE_AUTH_ONLY
180
- : Mage_PaypalUk_Model_Api_Nvp::TRXTYPE_SALE;
181
-
182
- case self::SET_BILLING_AGREEMENT:
183
- case self::CREATE_BILLING_AGREEMENT:
184
- return Mage_PaypalUk_Model_Api_Nvp::TRXTYPE_AUTH_ONLY;
185
-
186
- case self::UPDATE_BILLING_AGREEMENT:
187
- return null;
188
-
189
- default:
190
- return parent::_mapPaypalMethodName($methodName);
191
  }
 
192
  }
193
 
194
  /**
@@ -198,7 +130,7 @@ class CLS_Paypal_Model_Paypaluk_Api_Nvp extends Mage_PaypalUk_Model_Api_Nvp
198
  */
199
  public function callSetCustomerBillingAgreement()
200
  {
201
- $this->setAmount(0);
202
  parent::callSetCustomerBillingAgreement();
203
  }
204
  }
28
 
29
  class CLS_Paypal_Model_Paypaluk_Api_Nvp extends Mage_PaypalUk_Model_Api_Nvp
30
  {
31
+ protected $_commonNvp = null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
 
33
  protected function _construct()
34
  {
35
  parent::_construct();
36
 
37
+ $this->_commonNvp = Mage::getModel('cls_paypal/paypaluk_api_nvp_common', array('nvp_instance' => $this));
 
 
 
 
 
 
 
 
38
 
39
+ $this->_globalMap = $this->_commonNvp->processGlobalMap($this->_globalMap);
 
40
 
41
+ $this->_createBillingAgreementRequest = $this->_commonNvp->processTransactionMap('create_ba_request', $this->_createBillingAgreementRequest);
42
+ $this->_createBillingAgreementResponse = $this->_commonNvp->processTransactionMap('create_ba_response', $this->_createBillingAgreementResponse);
43
+ $this->_updateBillingAgreementRequest = $this->_commonNvp->processTransactionMap('update_ba_request', $this->_updateBillingAgreementRequest);
44
+ $this->_updateBillingAgreementResponse = $this->_commonNvp->processTransactionMap('update_ba_response', $this->_updateBillingAgreementResponse);
45
+ $this->_doReferenceTransactionRequest = $this->_commonNvp->processTransactionMap('do_ref_trans_request', $this->_doReferenceTransactionRequest);
46
+ $this->_doReferenceTransactionResponse = $this->_commonNvp->processTransactionMap('do_ref_trans_response', $this->_doReferenceTransactionResponse);
47
+ $this->_debugReplacePrivateDataKeys = $this->_commonNvp->processTransactionMap('debug_replace_private', $this->_debugReplacePrivateDataKeys);
48
+ $this->_setExpressCheckoutRequest = $this->_commonNvp->processTransactionMap('set_expr_checkout_request', $this->_setExpressCheckoutRequest);
49
+ $this->_customerBillingAgreementRequest = $this->_commonNvp->processTransactionMap('customer_ba_request', $this->_customerBillingAgreementRequest);
50
  }
51
 
52
  /**
56
  */
57
  public function getPaypalInfoCode()
58
  {
59
+ return $this->_commonNvp->getPaypalInfoCode();
60
  }
61
 
62
  /**
66
  */
67
  public function getTender()
68
  {
69
+ $value = $this->_commonNvp->getTender($this->_config);
70
+ if ($value === FALSE) {
71
+ $value = parent::getTender();
 
 
 
 
72
  }
73
+ return $value;
74
  }
75
 
76
  /**
101
  */
102
  protected function _getPaypalUkActionName($methodName)
103
  {
104
+ $value = $this->_commonNvp->getPaypalUkActionName($methodName);
105
+ if ($value === FALSE) {
106
+ $value = parent::_getPaypalUkActionName($methodName);
 
 
 
 
 
 
 
 
 
 
 
 
107
  }
108
+ return $value;
109
  }
110
 
111
  /**
116
  */
117
  protected function _mapPaypalMethodName($methodName)
118
  {
119
+ $value = $this->_commonNvp->mapPaypalMethodName($methodName, $this->_config);
120
+ if ($value === FALSE) {
121
+ $value = parent::_mapPaypalMethodName($methodName);
 
 
 
 
 
 
 
 
 
 
 
 
122
  }
123
+ return $value;
124
  }
125
 
126
  /**
130
  */
131
  public function callSetCustomerBillingAgreement()
132
  {
133
+ $this->_commonNvp->preCallSetCustomerBillingAgreement();
134
  parent::callSetCustomerBillingAgreement();
135
  }
136
  }
app/code/community/CLS/Paypal/Model/Paypaluk/Api/Nvp/Common.php ADDED
@@ -0,0 +1,236 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Classy Llama
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 to us at
13
+ * support+paypal@classyllama.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade this module
18
+ * to newer versions in the future. If you require customizations of this
19
+ * module for your needs, please write us at sales@classyllama.com.
20
+ *
21
+ * To report bugs or issues with this module, please email support+paypal@classyllama.com.
22
+ *
23
+ * @category CLS
24
+ * @package Paypal
25
+ * @copyright Copyright (c) 2013 Classy Llama Studios, LLC (http://www.classyllama.com)
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class CLS_Paypal_Model_Paypaluk_Api_Nvp_Common extends Varien_Object
30
+ {
31
+ protected $_nvpInstance = null;
32
+
33
+ /**
34
+ * Paypal methods definition
35
+ */
36
+ const SET_BILLING_AGREEMENT = 'SetCustomerBillingAgreement';
37
+ const CREATE_BILLING_AGREEMENT = 'CreateBillingAgreement';
38
+ const UPDATE_BILLING_AGREEMENT = 'BillAgreementUpdate';
39
+ const DO_REFERENCE_TRANSACTION = 'DoReferenceTransaction';
40
+
41
+ /**
42
+ * Actions
43
+ */
44
+ const BA_SET = 'S';
45
+ const BA_CREATE = 'X';
46
+ const BA_UPDATE = 'U';
47
+
48
+ const RESPONSE_MSG = 'paypal_response_msg';
49
+
50
+ /**
51
+ * Create Billing Agreement request/response map
52
+ * @var array
53
+ */
54
+ public $createBillingAgreementResponse = array('BAID');
55
+
56
+ /**
57
+ * Update Billing Agreement request/response map
58
+ * @var array
59
+ */
60
+ public $updateBillingAgreementRequest = array(
61
+ 'BAID', 'TENDER', 'BA_STATUS',
62
+ );
63
+ public $updateBillingAgreementResponse = array(
64
+ 'BAID', 'PPREF', 'RESPMSG', 'CORRELATIONID',
65
+ );
66
+
67
+ /**
68
+ * Do Reference Transaction request/response map
69
+ *
70
+ * @var array
71
+ */
72
+ public $doReferenceTransactionRequest = array('BAID', 'TENDER', 'AMT', 'FREIGHTAMT',
73
+ 'TAXAMT', 'INVNUM', 'NOTIFYURL'
74
+ );
75
+ public $doReferenceTransactionResponse = array('BAID', 'PNREF', 'PPREF', 'PENDINGREASON', 'RESPMSG');
76
+
77
+ public function __construct($params=array())
78
+ {
79
+ // Initialize common method
80
+ if ( empty($params) || !isset($params['nvp_instance']) ) {
81
+ Mage::throwException(Mage::helper('cls_paypal')->__('Internal error: cannot initialize common PayFlow Pro API model.'));
82
+ }
83
+
84
+ $this->_nvpInstance = $params['nvp_instance'];
85
+ }
86
+
87
+ /**
88
+ * Add necessary components to the global map
89
+ *
90
+ * @param array $map
91
+ * @return array
92
+ */
93
+ public function processGlobalMap($map)
94
+ {
95
+ $map['BILLINGTYPE'] = 'billing_type';
96
+ $map['BAID'] = 'billing_agreement_id';
97
+ $map['RESPMSG'] = 'response_msg';
98
+ $map['BA_STATUS'] = 'billing_agreement_status';
99
+ $map['BUTTONSOURCE'] = 'paypal_info_code';
100
+
101
+ return $map;
102
+ }
103
+
104
+ /**
105
+ * Add/change components on individual request/response key maps
106
+ *
107
+ * @param string $key
108
+ * @param array $map
109
+ * @return array
110
+ */
111
+ public function processTransactionMap($key, $map)
112
+ {
113
+ switch ($key) {
114
+ case 'create_ba_request':
115
+ $map[] = 'TENDER';
116
+ break;
117
+ case 'create_ba_response':
118
+ $map = $this->createBillingAgreementResponse;
119
+ break;
120
+ case 'update_ba_request':
121
+ $map = $this->updateBillingAgreementRequest;
122
+ break;
123
+ case 'update_ba_response':
124
+ $map = $this->updateBillingAgreementResponse;
125
+ break;
126
+ case 'do_ref_trans_request':
127
+ $map = $this->doReferenceTransactionRequest;
128
+ break;
129
+ case 'do_ref_trans_response':
130
+ $map = $this->doReferenceTransactionResponse;
131
+ break;
132
+ case 'debug_replace_private':
133
+ $map[] = 'BUTTONSOURCE';
134
+ break;
135
+ case 'set_expr_checkout_request':
136
+ $map[] = 'BILLINGTYPE';
137
+ break;
138
+ case 'customer_ba_request':
139
+ $map[] = 'TENDER';
140
+ $map[] = 'AMT';
141
+ break;
142
+ default:
143
+ }
144
+
145
+ return $map;
146
+ }
147
+
148
+ /**
149
+ * Get Paypal info code
150
+ *
151
+ * @return string
152
+ */
153
+ public function getPaypalInfoCode()
154
+ {
155
+ return Mage::helper('cls_paypal')->getPaypalInfoCode();
156
+ }
157
+
158
+ /**
159
+ * Return PaypalUk tender based on config data
160
+ *
161
+ * @param Mage_Paypal_Model_Config $config
162
+ * @return string | bool
163
+ */
164
+ public function getTender($config)
165
+ {
166
+ switch ($config->getMethodCode()) {
167
+ case CLS_Paypal_Model_Paypal_Config::METHOD_PAYFLOW_BILLING_AGREEMENT:
168
+ case CLS_Paypal_Model_Paypal_Config::METHOD_PAYFLOW_ORDERSTORED_AGREEMENT:
169
+ return Mage_PaypalUk_Model_Api_Nvp::TENDER_PAYPAL;
170
+
171
+ default:
172
+ return false;
173
+ }
174
+ }
175
+
176
+ /**
177
+ * Return Payflow Edition
178
+ *
179
+ * @param string
180
+ * @return string | bool
181
+ */
182
+ public function getPaypalUkActionName($methodName)
183
+ {
184
+ switch($methodName) {
185
+ case self::DO_REFERENCE_TRANSACTION:
186
+ return Mage_PaypalUk_Model_Api_Nvp::EXPRESS_DO_PAYMENT;
187
+
188
+ case self::SET_BILLING_AGREEMENT:
189
+ return self::BA_SET;
190
+
191
+ case self::CREATE_BILLING_AGREEMENT:
192
+ return self::BA_CREATE;
193
+
194
+ case self::UPDATE_BILLING_AGREEMENT:
195
+ return self::BA_UPDATE;
196
+
197
+ default:
198
+ return false;
199
+ }
200
+ }
201
+
202
+ /**
203
+ * Map paypal method names
204
+ *
205
+ * @param string| $methodName
206
+ * @param Mage_Paypal_Model_Config $config
207
+ * @return string
208
+ */
209
+ public function mapPaypalMethodName($methodName, $config)
210
+ {
211
+ switch ($methodName) {
212
+ case self::DO_REFERENCE_TRANSACTION:
213
+ return ($config->payment_action == Mage_Paypal_Model_Config::PAYMENT_ACTION_AUTH)
214
+ ? Mage_PaypalUk_Model_Api_Nvp::TRXTYPE_AUTH_ONLY
215
+ : Mage_PaypalUk_Model_Api_Nvp::TRXTYPE_SALE;
216
+
217
+ case self::SET_BILLING_AGREEMENT:
218
+ case self::CREATE_BILLING_AGREEMENT:
219
+ return Mage_PaypalUk_Model_Api_Nvp::TRXTYPE_AUTH_ONLY;
220
+
221
+ case self::UPDATE_BILLING_AGREEMENT:
222
+ return null;
223
+
224
+ default:
225
+ return false;
226
+ }
227
+ }
228
+
229
+ /***
230
+ * Processing before the "set billing agreement" request is sent
231
+ */
232
+ public function preCallSetCustomerBillingAgreement()
233
+ {
234
+ $this->_nvpInstance->setAmount(0);
235
+ }
236
+ }
app/code/community/CLS/Paypal/Model/Paypaluk/Method/Agreement.php CHANGED
@@ -117,7 +117,7 @@ class CLS_Paypal_Model_Paypaluk_Method_Agreement extends Mage_Paypal_Model_Metho
117
  $this->_pro->importPaymentInfo($api, $payment);
118
 
119
  $payment
120
- ->setAdditionalInformation(CLS_Paypal_Model_Paypaluk_Api_Nvp::RESPONSE_MSG, $api->getResponseMsg())
121
  ->setPreparedMessage(Mage::helper('cls_paypal')->__('Payflow PNREF: #%s.', $api->getTransactionId()))
122
  ->setTransactionAdditionalInfo(Mage_PaypalUk_Model_Pro::TRANSPORT_PAYFLOW_TXN_ID, $api->getTransactionId());
123
 
117
  $this->_pro->importPaymentInfo($api, $payment);
118
 
119
  $payment
120
+ ->setAdditionalInformation(CLS_Paypal_Model_Paypaluk_Api_Nvp_Common::RESPONSE_MSG, $api->getResponseMsg())
121
  ->setPreparedMessage(Mage::helper('cls_paypal')->__('Payflow PNREF: #%s.', $api->getTransactionId()))
122
  ->setTransactionAdditionalInfo(Mage_PaypalUk_Model_Pro::TRANSPORT_PAYFLOW_TXN_ID, $api->getTransactionId());
123
 
app/code/community/CLS/Paypal/Model/Paypaluk/Method/Orderstored/Agreement.php CHANGED
@@ -91,7 +91,7 @@ class CLS_Paypal_Model_Paypaluk_Method_Orderstored_Agreement extends CLS_Paypal_
91
  $this->_pro->importPaymentInfo($api, $payment);
92
 
93
  $payment
94
- ->setAdditionalInformation(CLS_Paypal_Model_Paypaluk_Api_Nvp::RESPONSE_MSG, $api->getResponseMsg())
95
  ->setPreparedMessage(Mage::helper('cls_paypal')->__('Payflow PNREF: #%s.', $api->getTransactionId()))
96
  ->setTransactionAdditionalInfo(Mage_PaypalUk_Model_Pro::TRANSPORT_PAYFLOW_TXN_ID, $api->getTransactionId());
97
 
91
  $this->_pro->importPaymentInfo($api, $payment);
92
 
93
  $payment
94
+ ->setAdditionalInformation(CLS_Paypal_Model_Paypaluk_Api_Nvp_Common::RESPONSE_MSG, $api->getResponseMsg())
95
  ->setPreparedMessage(Mage::helper('cls_paypal')->__('Payflow PNREF: #%s.', $api->getTransactionId()))
96
  ->setTransactionAdditionalInfo(Mage_PaypalUk_Model_Pro::TRANSPORT_PAYFLOW_TXN_ID, $api->getTransactionId());
97
 
app/code/community/CLS/Paypal/etc/config.xml CHANGED
@@ -30,7 +30,7 @@
30
  <config>
31
  <modules>
32
  <CLS_Paypal>
33
- <version>1.0.8</version>
34
  </CLS_Paypal>
35
  </modules>
36
 
@@ -84,7 +84,8 @@
84
 
85
  <paypaluk>
86
  <rewrite>
87
- <api_nvp>CLS_Paypal_Model_Paypaluk_Api_Nvp</api_nvp>
 
88
  <express>CLS_Paypal_Model_Paypaluk_Express</express>
89
  <express_checkout>CLS_Paypal_Model_Paypaluk_Express_Checkout</express_checkout>
90
  </rewrite>
30
  <config>
31
  <modules>
32
  <CLS_Paypal>
33
+ <version>1.0.9</version>
34
  </CLS_Paypal>
35
  </modules>
36
 
84
 
85
  <paypaluk>
86
  <rewrite>
87
+ <api_express_nvp>CLS_Paypal_Model_Paypaluk_Api_Express_Nvp</api_express_nvp>
88
+ <api_nvp>CLS_Paypal_Model_Paypaluk_Api_Nvp</api_nvp><!-- Necessary for 1.13.0 and below, when this model was also used for Express -->
89
  <express>CLS_Paypal_Model_Paypaluk_Express</express>
90
  <express_checkout>CLS_Paypal_Model_Paypaluk_Express_Checkout</express_checkout>
91
  </rewrite>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>CLS_Paypal_Credit_Card_Tokenization</name>
4
- <version>1.0.8</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
@@ -73,11 +73,11 @@ Enable the module's various features from these groups, as well as setting&#xD;
73
  their configuration options independently of the standard credit card&#xD;
74
  and billing agreement configurations.&#xD;
75
  </description>
76
- <notes>Implemented support for "Previously Used" methods when re-ordering in admin, fixed issue with currency conversion in Payments Pro</notes>
77
  <authors><author><name>Classy Llama</name><user>classyllama</user><email>info@classyllama.com</email></author></authors>
78
- <date>2014-03-19</date>
79
- <time>21:51:12</time>
80
- <contents><target name="magecommunity"><dir name="CLS"><dir name="Paypal"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><dir name="Create"><file name="Customer.php" hash="bdda7f26580da00836dc14c760ce7bd4"/></dir></dir></dir></dir><dir name="Customer"><file name="Storedcard.php" hash="1f0ea64d4d88d8acc69b491ad157013d"/></dir><dir name="Payment"><dir name="Form"><file name="Cc.php" hash="bd28bf5a1476b6d000f7ddcfc8097520"/></dir></dir><dir name="Paypal"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Location.php" hash="51a66bf4179183e15d74e2dd60867d08"/></dir></dir></dir></dir><dir name="Payflow"><dir name="Advanced"><file name="Form.php" hash="431cc885b585b3a6ae44b3e63b4a3500"/></dir><dir name="Link"><file name="Form.php" hash="803988293c751db8be065174648ea789"/></dir></dir><dir name="Payment"><dir name="Form"><file name="Customerstored.php" hash="705a1066768956fa2757aa6974df6a90"/><dir name="Orderstored"><file name="Agreement.php" hash="51a809dde7da3c5fb7adaccfc94583fe"/></dir><file name="Orderstored.php" hash="aae8127491dcace2d2800879b2743157"/></dir></dir></dir><dir name="Paypaluk"><dir name="Payment"><dir name="Form"><dir name="Orderstored"><file name="Agreement.php" hash="f2cefe3e8fc148a628b8c7275401845d"/></dir></dir></dir></dir></dir><file name="CHANGELOG.txt" hash="5098f0874db46a1d4c74ead47612cc90"/><dir name="Helper"><file name="Data.php" hash="0d3f45c57c94284712bd91aa4b19351b"/><dir name="Orderstored"><file name="Agreement.php" hash="2fad52d6d80fb4ece74dbfe6c4b3fc1a"/></dir><dir name="Paypal"><file name="Data.php" hash="f60bf2892eb63645f2eab96bc7dc6b4a"/></dir><file name="Storedcard.php" hash="874a70e486c9b8ed353167245f9ed07a"/></dir><file name="LICENSE.txt" hash="71db18446bebc23ced8dd62644d16b5f"/><dir name="Model"><file name="Customerstored.php" hash="8be7c468362ad43b6a09d4c223d36515"/><file name="Observer.php" hash="457631f86139aa7666657e9b6658af89"/><dir name="Paypal"><dir name="Api"><file name="Nvp.php" hash="74be53d000dfb2a9c0884403059d7e4d"/></dir><file name="Config.php" hash="dc8223a0fc3b8d6659184d1fe6c0330b"/><file name="Direct.php" hash="9f551d5e14e99451ca02f79d2f78f4ab"/><dir name="Express"><file name="Checkout.php" hash="021cbbf4e0985106ab24bfa8bd62abb4"/></dir><file name="Express.php" hash="67b5631bf57b2797050c73c7378aee9c"/><file name="Info.php" hash="d6d8415242d2a63eb831cac84f276701"/><dir name="Method"><dir name="Orderstored"><file name="Agreement.php" hash="294bf176eabbd2c6dac52497c3bdc5ba"/></dir></dir><file name="Payflowadvanced.php" hash="333a909b6b48c6c3c864e591d5ee0a4d"/><file name="Payflowlink.php" hash="98129dfc3d9a5236e8c5a94cddbeb6d3"/><file name="Payflowpro.php" hash="dbfa4f171934f4f26d05515ca5ae36b1"/><dir name="Stored"><file name="Abstract.php" hash="946b41be7b003f821fa091e25974e2e1"/><dir name="Customerstored"><file name="Direct.php" hash="1fb16f32ce53c7825d9460c57de571ef"/><file name="Payflow.php" hash="b01eba2260d72dc3dc60efa6277502b1"/><file name="Payflowadvanced.php" hash="5d5b02436cf305412bfec098eea85e09"/><file name="Payflowlink.php" hash="83a4de2a5192635c48af3aac8b2cb7e2"/><file name="Payflowpro.php" hash="394ec117863b90196f141d1df367b068"/></dir><file name="Customerstored.php" hash="f9fe1df0936372d6abcb30b3129c080b"/><dir name="Orderstored"><file name="Direct.php" hash="403bd0b06c2f235c9480eaf05d449b3b"/><file name="Payflow.php" hash="98fae36789f67423db4a520b7feaa01f"/><file name="Payflowadvanced.php" hash="8dd64cf3c2b9ae5560b3a06204d59751"/><file name="Payflowlink.php" hash="71b134111dc49d20692c3ffae3bfa1c7"/><file name="Payflowpro.php" hash="08bac93661b9234b0546ab429f4a3931"/></dir><file name="Orderstored.php" hash="47b0f39b6f334fd987bfc238eb06ed7f"/><file name="Payflow.php" hash="288f16ab9d9d2b0d8957c8887f528b99"/></dir></dir><dir name="Paypaluk"><dir name="Api"><file name="Nvp.php" hash="ef27f778fde49eab569c6f3944702ec4"/></dir><dir name="Express"><file name="Checkout.php" hash="6a2a85e0acb0645d025c8823a5b3cd2f"/></dir><file name="Express.php" hash="b491f2d6acf89a29f4a23dc573f8e44f"/><dir name="Method"><file name="Agreement.php" hash="c86f295fa6312888b45c0f4a68fd27df"/><dir name="Orderstored"><file name="Agreement.php" hash="8534a919294e533247ef5cebdef434ce"/></dir></dir></dir><dir name="Resource"><dir name="Customerstored"><file name="Collection.php" hash="818889cb1eedd1e2047d09f6270f9b30"/></dir><file name="Customerstored.php" hash="0dd4ba6646ffbd32efbe6e4f0bc4e3c7"/></dir></dir><file name="README.md" hash="b2736f6dbadb03a660bd5a7021391d4c"/><dir name="controllers"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><file name="CreateController.php" hash="edd90db7fcc89ccfd5519864debed3ad"/></dir></dir></dir><dir name="Customer"><file name="StoredcardController.php" hash="60c3403cd13a9ff1805506f5988cabdb"/></dir><dir name="Paypal"><file name="ExpressController.php" hash="53f83f79f948ffc0eb6abdfc5d8f60b0"/></dir><dir name="PaypalUk"><file name="ExpressController.php" hash="639821dc1c01a0276052579c5507a599"/></dir></dir><dir name="etc"><file name="config.xml" hash="c169b620d553bb4b4ea8c871c4bd951c"/><file name="system.xml" hash="4d5998c927b5739a52c078c99644bd32"/></dir><dir name="sql"><dir name="cls_paypal_setup"><file name="install-0.0.1.php" hash="33f870045a3cc0da094eed143adaf57b"/><file name="upgrade-0.3.0-0.3.1.php" hash="240dd4eae586f033ec6efad99773fbce"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="cls_paypal.xml" hash="6747dd281152c450e1511f9d551c9766"/></dir><dir name="template"><dir name="cls_paypal"><dir name="payment"><dir name="form"><file name="cc.phtml" hash="a23359ef60f0cf4041f4dd406c1cb286"/><file name="customer_stored.phtml" hash="6004f23604bb7de0a409494bb0c0c439"/><file name="order_stored.phtml" hash="7620eacd6d2351df7e827eb168d03236"/></dir></dir><dir name="sales"><dir name="order"><dir name="create"><dir name="form"><file name="address.phtml" hash="a452ddc2a6e812f0872e82ad931b9dac"/></dir></dir></dir><dir name="payment"><dir name="form"><dir name="orderstored"><file name="agreement.phtml" hash="5a080925e336f505381cba5e43f70e07"/></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="cls_paypal.xml" hash="0e2a6af1135e6fb29dda4b267797a6bd"/></dir><dir name="template"><dir name="cls_paypal"><dir name="customer"><file name="storedcard.phtml" hash="4756af996c65fb83a09ab0312a66bd1f"/></dir><dir name="payment"><dir name="form"><file name="cc.phtml" hash="bd55fa445bea026721116b29dfadbb73"/><file name="customer_stored.phtml" hash="591d82906294e37f5c2e317f71144a0f"/></dir></dir><dir name="paypal"><dir name="payflow"><file name="info.phtml" hash="548f1b761782c2351482dd1d1f44a7af"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="CLS_Paypal.xml" hash="9e629aac18f2e5f2c9feb266985c912f"/></dir></target><target name="magelocale"><dir name="en_US"><file name="CLS_Paypal.csv" hash="ab57482877d914bb1d02021d95c65520"/></dir></target></contents>
81
  <compatible/>
82
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
83
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>CLS_Paypal_Credit_Card_Tokenization</name>
4
+ <version>1.0.9</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
73
  their configuration options independently of the standard credit card&#xD;
74
  and billing agreement configurations.&#xD;
75
  </description>
76
+ <notes>Fixed API inheritance issue introduced with Magento 1.8.1.0/1.13.1.0, which broke PayFlow billing agreements</notes>
77
  <authors><author><name>Classy Llama</name><user>classyllama</user><email>info@classyllama.com</email></author></authors>
78
+ <date>2014-03-25</date>
79
+ <time>18:29:40</time>
80
+ <contents><target name="magecommunity"><dir name="CLS"><dir name="Paypal"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><dir name="Create"><file name="Customer.php" hash="bdda7f26580da00836dc14c760ce7bd4"/></dir></dir></dir></dir><dir name="Customer"><file name="Storedcard.php" hash="1f0ea64d4d88d8acc69b491ad157013d"/></dir><dir name="Payment"><dir name="Form"><file name="Cc.php" hash="bd28bf5a1476b6d000f7ddcfc8097520"/></dir></dir><dir name="Paypal"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Location.php" hash="51a66bf4179183e15d74e2dd60867d08"/></dir></dir></dir></dir><dir name="Payflow"><dir name="Advanced"><file name="Form.php" hash="431cc885b585b3a6ae44b3e63b4a3500"/></dir><dir name="Link"><file name="Form.php" hash="803988293c751db8be065174648ea789"/></dir></dir><dir name="Payment"><dir name="Form"><file name="Customerstored.php" hash="705a1066768956fa2757aa6974df6a90"/><dir name="Orderstored"><file name="Agreement.php" hash="51a809dde7da3c5fb7adaccfc94583fe"/></dir><file name="Orderstored.php" hash="aae8127491dcace2d2800879b2743157"/></dir></dir></dir><dir name="Paypaluk"><dir name="Payment"><dir name="Form"><dir name="Orderstored"><file name="Agreement.php" hash="f2cefe3e8fc148a628b8c7275401845d"/></dir></dir></dir></dir></dir><file name="CHANGELOG.txt" hash="678941626b28b3594096873246fa3f57"/><dir name="Helper"><file name="Data.php" hash="0d3f45c57c94284712bd91aa4b19351b"/><dir name="Orderstored"><file name="Agreement.php" hash="2fad52d6d80fb4ece74dbfe6c4b3fc1a"/></dir><dir name="Paypal"><file name="Data.php" hash="f60bf2892eb63645f2eab96bc7dc6b4a"/></dir><file name="Storedcard.php" hash="874a70e486c9b8ed353167245f9ed07a"/></dir><file name="LICENSE.txt" hash="71db18446bebc23ced8dd62644d16b5f"/><dir name="Model"><file name="Customerstored.php" hash="8be7c468362ad43b6a09d4c223d36515"/><file name="Observer.php" hash="457631f86139aa7666657e9b6658af89"/><dir name="Paypal"><dir name="Api"><file name="Nvp.php" hash="74be53d000dfb2a9c0884403059d7e4d"/></dir><file name="Config.php" hash="dc8223a0fc3b8d6659184d1fe6c0330b"/><file name="Direct.php" hash="9f551d5e14e99451ca02f79d2f78f4ab"/><dir name="Express"><file name="Checkout.php" hash="021cbbf4e0985106ab24bfa8bd62abb4"/></dir><file name="Express.php" hash="67b5631bf57b2797050c73c7378aee9c"/><file name="Info.php" hash="d6d8415242d2a63eb831cac84f276701"/><dir name="Method"><dir name="Orderstored"><file name="Agreement.php" hash="294bf176eabbd2c6dac52497c3bdc5ba"/></dir></dir><file name="Payflowadvanced.php" hash="333a909b6b48c6c3c864e591d5ee0a4d"/><file name="Payflowlink.php" hash="98129dfc3d9a5236e8c5a94cddbeb6d3"/><file name="Payflowpro.php" hash="dbfa4f171934f4f26d05515ca5ae36b1"/><dir name="Stored"><file name="Abstract.php" hash="946b41be7b003f821fa091e25974e2e1"/><dir name="Customerstored"><file name="Direct.php" hash="1fb16f32ce53c7825d9460c57de571ef"/><file name="Payflow.php" hash="b01eba2260d72dc3dc60efa6277502b1"/><file name="Payflowadvanced.php" hash="5d5b02436cf305412bfec098eea85e09"/><file name="Payflowlink.php" hash="83a4de2a5192635c48af3aac8b2cb7e2"/><file name="Payflowpro.php" hash="394ec117863b90196f141d1df367b068"/></dir><file name="Customerstored.php" hash="f9fe1df0936372d6abcb30b3129c080b"/><dir name="Orderstored"><file name="Direct.php" hash="403bd0b06c2f235c9480eaf05d449b3b"/><file name="Payflow.php" hash="98fae36789f67423db4a520b7feaa01f"/><file name="Payflowadvanced.php" hash="8dd64cf3c2b9ae5560b3a06204d59751"/><file name="Payflowlink.php" hash="71b134111dc49d20692c3ffae3bfa1c7"/><file name="Payflowpro.php" hash="08bac93661b9234b0546ab429f4a3931"/></dir><file name="Orderstored.php" hash="47b0f39b6f334fd987bfc238eb06ed7f"/><file name="Payflow.php" hash="288f16ab9d9d2b0d8957c8887f528b99"/></dir></dir><dir name="Paypaluk"><dir name="Api"><dir name="Express"><file name="Nvp.php" hash="730e90ff8c15e988459776477fbe04a4"/></dir><dir name="Nvp"><file name="Common.php" hash="af309169674e7714e4d30cfa4a070855"/></dir><file name="Nvp.php" hash="0a8faacb663b9668608a99fb482a1bb5"/></dir><dir name="Express"><file name="Checkout.php" hash="6a2a85e0acb0645d025c8823a5b3cd2f"/></dir><file name="Express.php" hash="b491f2d6acf89a29f4a23dc573f8e44f"/><dir name="Method"><file name="Agreement.php" hash="edf9951f5feb1b49fcb85cf13b935395"/><dir name="Orderstored"><file name="Agreement.php" hash="22d736a97a1a2a293484e4241b545230"/></dir></dir></dir><dir name="Resource"><dir name="Customerstored"><file name="Collection.php" hash="818889cb1eedd1e2047d09f6270f9b30"/></dir><file name="Customerstored.php" hash="0dd4ba6646ffbd32efbe6e4f0bc4e3c7"/></dir></dir><file name="README.md" hash="b2736f6dbadb03a660bd5a7021391d4c"/><dir name="controllers"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><file name="CreateController.php" hash="edd90db7fcc89ccfd5519864debed3ad"/></dir></dir></dir><dir name="Customer"><file name="StoredcardController.php" hash="60c3403cd13a9ff1805506f5988cabdb"/></dir><dir name="Paypal"><file name="ExpressController.php" hash="53f83f79f948ffc0eb6abdfc5d8f60b0"/></dir><dir name="PaypalUk"><file name="ExpressController.php" hash="639821dc1c01a0276052579c5507a599"/></dir></dir><dir name="etc"><file name="config.xml" hash="5cb629cbb0d869d2d85da3a92f0a5855"/><file name="system.xml" hash="4d5998c927b5739a52c078c99644bd32"/></dir><dir name="sql"><dir name="cls_paypal_setup"><file name="install-0.0.1.php" hash="33f870045a3cc0da094eed143adaf57b"/><file name="upgrade-0.3.0-0.3.1.php" hash="240dd4eae586f033ec6efad99773fbce"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="cls_paypal.xml" hash="6747dd281152c450e1511f9d551c9766"/></dir><dir name="template"><dir name="cls_paypal"><dir name="payment"><dir name="form"><file name="cc.phtml" hash="a23359ef60f0cf4041f4dd406c1cb286"/><file name="customer_stored.phtml" hash="6004f23604bb7de0a409494bb0c0c439"/><file name="order_stored.phtml" hash="7620eacd6d2351df7e827eb168d03236"/></dir></dir><dir name="sales"><dir name="order"><dir name="create"><dir name="form"><file name="address.phtml" hash="a452ddc2a6e812f0872e82ad931b9dac"/></dir></dir></dir><dir name="payment"><dir name="form"><dir name="orderstored"><file name="agreement.phtml" hash="5a080925e336f505381cba5e43f70e07"/></dir></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="cls_paypal.xml" hash="0e2a6af1135e6fb29dda4b267797a6bd"/></dir><dir name="template"><dir name="cls_paypal"><dir name="customer"><file name="storedcard.phtml" hash="4756af996c65fb83a09ab0312a66bd1f"/></dir><dir name="payment"><dir name="form"><file name="cc.phtml" hash="bd55fa445bea026721116b29dfadbb73"/><file name="customer_stored.phtml" hash="591d82906294e37f5c2e317f71144a0f"/></dir></dir><dir name="paypal"><dir name="payflow"><file name="info.phtml" hash="548f1b761782c2351482dd1d1f44a7af"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="CLS_Paypal.xml" hash="9e629aac18f2e5f2c9feb266985c912f"/></dir></target><target name="magelocale"><dir name="en_US"><file name="CLS_Paypal.csv" hash="ab57482877d914bb1d02021d95c65520"/></dir></target></contents>
81
  <compatible/>
82
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
83
  </package>