Gene_Braintree - Version 1.0.4.1

Version Notes

Connect your Magento store to Braintree to accept Credit Cards & PayPal using V.Zero SDK

Download this release

Release Info

Developer Dave Macaulay
Extension Gene_Braintree
Version 1.0.4.1
Comparing to
See all releases


Code changes from version 1.0.4 to 1.0.4.1

app/code/community/Gene/Braintree/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Gene_Braintree>
5
- <version>1.0.4</version>
6
  </Gene_Braintree>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <Gene_Braintree>
5
+ <version>1.0.4.1</version>
6
  </Gene_Braintree>
7
  </modules>
8
  <global>
app/design/frontend/base/default/layout/gene/braintree.xml CHANGED
@@ -28,6 +28,14 @@
28
  <reference name="before_body_end">
29
  <remove name="gene_braintree_js" />
30
  <block type="gene_braintree/js" name="gene_braintree_amasty_js" template="gene/braintree/js/amasty.phtml" />
 
 
 
 
 
 
 
 
31
  </reference>
32
  </amasty_onestep_checkout>
33
 
@@ -67,7 +75,7 @@
67
  <block type="gene_braintree/js" name="gene_braintree_data" template="gene/braintree/js/data.phtml">
68
  <action method="setData">
69
  <key>payment_form_id</key>
70
- <value>onestepcheckout-form</value>
71
  </action>
72
  </block>
73
  </reference>
@@ -88,7 +96,7 @@
88
  <block type="gene_braintree/js" name="gene_braintree_data" template="gene/braintree/js/data.phtml">
89
  <action method="setData">
90
  <key>payment_form_id</key>
91
- <value>onestepcheckout-form</value>
92
  </action>
93
  </block>
94
  </reference>
@@ -109,12 +117,33 @@
109
  <block type="gene_braintree/js" name="gene_braintree_data" template="gene/braintree/js/data.phtml">
110
  <action method="setData">
111
  <key>payment_form_id</key>
112
- <value>onestepcheckout-form</value>
113
  </action>
114
  </block>
115
  </reference>
116
  </opc_index_index>
117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  <checkout_onepage_paymentmethod>
119
  <reference name="root">
120
  <block type="core/text_list" name="additional" as="additional">
28
  <reference name="before_body_end">
29
  <remove name="gene_braintree_js" />
30
  <block type="gene_braintree/js" name="gene_braintree_amasty_js" template="gene/braintree/js/amasty.phtml" />
31
+
32
+ <!-- We include device data at the end of the larger form -->
33
+ <block type="gene_braintree/js" name="gene_braintree_data" template="gene/braintree/js/data.phtml">
34
+ <action method="setData">
35
+ <key>payment_form_id</key>
36
+ <value>amscheckout-onepage</value>
37
+ </action>
38
+ </block>
39
  </reference>
40
  </amasty_onestep_checkout>
41
 
75
  <block type="gene_braintree/js" name="gene_braintree_data" template="gene/braintree/js/data.phtml">
76
  <action method="setData">
77
  <key>payment_form_id</key>
78
+ <value>one-step-checkout-form</value>
79
  </action>
80
  </block>
81
  </reference>
96
  <block type="gene_braintree/js" name="gene_braintree_data" template="gene/braintree/js/data.phtml">
97
  <action method="setData">
98
  <key>payment_form_id</key>
99
+ <value>aw-onestepcheckout-general-form</value>
100
  </action>
101
  </block>
102
  </reference>
117
  <block type="gene_braintree/js" name="gene_braintree_data" template="gene/braintree/js/data.phtml">
118
  <action method="setData">
119
  <key>payment_form_id</key>
120
+ <value>co-payment-form</value>
121
  </action>
122
  </block>
123
  </reference>
124
  </opc_index_index>
125
 
126
+ <!-- Add in support for Fire Checkouts solution -->
127
+ <firecheckout_index_index>
128
+ <reference name="head">
129
+ <action method="addJs"><file>gene/braintree/braintree.js</file></action>
130
+ <action method="addJs"><file>gene/braintree/vzero.js</file></action>
131
+ <action method="addCss"><file>css/gene/braintree/firecheckout.css</file></action>
132
+ </reference>
133
+ <reference name="before_body_end">
134
+ <block type="gene_braintree/js" name="gene_braintree_setup" template="gene/braintree/js/setup.phtml" />
135
+ <block type="gene_braintree/js" name="gene_braintree_js" template="gene/braintree/js/firecheckout.phtml" />
136
+
137
+ <!-- We include device data at the end of the larger form -->
138
+ <block type="gene_braintree/js" name="gene_braintree_data" template="gene/braintree/js/data.phtml">
139
+ <action method="setData">
140
+ <key>payment_form_id</key>
141
+ <value>firecheckout-form</value>
142
+ </action>
143
+ </block>
144
+ </reference>
145
+ </firecheckout_index_index>
146
+
147
  <checkout_onepage_paymentmethod>
148
  <reference name="root">
149
  <block type="core/text_list" name="additional" as="additional">
app/design/frontend/base/default/template/gene/braintree/js/aheadworks.phtml CHANGED
@@ -119,7 +119,7 @@
119
  PayPalCompleteRan = true;
120
 
121
  // Force check
122
- awOSCPayment.switchToMethod('gene_braintree_paypal');
123
 
124
  // Re-enable the form
125
  $('paypal-payment-nonce').removeAttribute('disabled');
@@ -188,7 +188,7 @@
188
  $('paypal-complete').observe('click', function (event) {
189
 
190
  // Validate the form before we open the PayPal modal window
191
- if (!amscheckoutForm.validator.validate() || checkoutRunning) {
192
 
193
  // Sadly we're unable to intercept the PayPal window in any other way then just hard closing it
194
  vzeroPaypal.closePayPalWindow();
@@ -277,13 +277,13 @@
277
  var aWPaymentOriginal = AWOnestepcheckoutPayment.prototype.switchToMethod;
278
 
279
  // Intercept the save function
280
- AWOnestepcheckoutPayment.prototype.switchToMethod = function (method) {
281
 
282
  // Make sure the paypal complete action hasn't just ran
283
  if (PayPalCompleteRan != true) {
284
 
285
  // Detect PayPal choice
286
- if (method == 'gene_braintree_paypal') {
287
 
288
  if ($('paypal-saved-accounts') == undefined) {
289
  addPayPalButton();
@@ -293,7 +293,7 @@
293
  hidePayPalButton();
294
  }
295
 
296
- } else {
297
  hidePayPalButton();
298
  }
299
  }
119
  PayPalCompleteRan = true;
120
 
121
  // Force check
122
+ awOSCPayment.switchToMethod('gene_braintree_paypal', true);
123
 
124
  // Re-enable the form
125
  $('paypal-payment-nonce').removeAttribute('disabled');
188
  $('paypal-complete').observe('click', function (event) {
189
 
190
  // Validate the form before we open the PayPal modal window
191
+ if (!awOSCForm.validate()) {
192
 
193
  // Sadly we're unable to intercept the PayPal window in any other way then just hard closing it
194
  vzeroPaypal.closePayPalWindow();
277
  var aWPaymentOriginal = AWOnestepcheckoutPayment.prototype.switchToMethod;
278
 
279
  // Intercept the save function
280
+ AWOnestepcheckoutPayment.prototype.switchToMethod = function (method, skipOverride) {
281
 
282
  // Make sure the paypal complete action hasn't just ran
283
  if (PayPalCompleteRan != true) {
284
 
285
  // Detect PayPal choice
286
+ if (method == 'gene_braintree_paypal' && typeof skipOverride === 'undefined') {
287
 
288
  if ($('paypal-saved-accounts') == undefined) {
289
  addPayPalButton();
293
  hidePayPalButton();
294
  }
295
 
296
+ } else if(typeof skipOverride === 'undefined') {
297
  hidePayPalButton();
298
  }
299
  }
app/design/frontend/base/default/template/gene/braintree/js/amasty.phtml CHANGED
@@ -301,13 +301,13 @@
301
  var paymentOriginal = Payment.prototype.switchMethod;
302
 
303
  // Intercept the save function
304
- Payment.prototype.switchMethod = function (method) {
305
 
306
  // Make sure the paypal complete action hasn't just ran
307
  if(PayPalCompleteRan != true) {
308
 
309
  // Detect PayPal choice
310
- if (method == 'gene_braintree_paypal') {
311
 
312
  if ($('paypal-saved-accounts') == undefined) {
313
  addPayPalButton();
@@ -317,7 +317,7 @@
317
  hidePayPalButton();
318
  }
319
 
320
- } else {
321
  hidePayPalButton();
322
  }
323
  }
@@ -390,11 +390,6 @@
390
  }
391
  </script>
392
  <style type="text/css">
393
- #braintree-paypal-button {
394
- line-height: unset;
395
- padding: 0;
396
- float: left;
397
- }
398
  #braintree-paypal-loggedin {
399
  display: none!important;
400
  }
301
  var paymentOriginal = Payment.prototype.switchMethod;
302
 
303
  // Intercept the save function
304
+ Payment.prototype.switchMethod = function (method, skipOverride) {
305
 
306
  // Make sure the paypal complete action hasn't just ran
307
  if(PayPalCompleteRan != true) {
308
 
309
  // Detect PayPal choice
310
+ if (method == 'gene_braintree_paypal' && typeof skipOverride === 'undefined') {
311
 
312
  if ($('paypal-saved-accounts') == undefined) {
313
  addPayPalButton();
317
  hidePayPalButton();
318
  }
319
 
320
+ } else if(typeof skipOverride === 'undefined') {
321
  hidePayPalButton();
322
  }
323
  }
390
  }
391
  </script>
392
  <style type="text/css">
 
 
 
 
 
393
  #braintree-paypal-loggedin {
394
  display: none!important;
395
  }
app/design/frontend/base/default/template/gene/braintree/js/default.phtml CHANGED
@@ -196,4 +196,12 @@
196
  });
197
 
198
  });
199
- </script>
 
 
 
 
 
 
 
 
196
  });
197
 
198
  });
199
+ </script>
200
+ <style type="text/css">
201
+ #braintree-paypal-loggedin {
202
+ display: none!important;
203
+ }
204
+ #braintree-paypal-loggedout {
205
+ display: block!important;
206
+ }
207
+ </style>
app/design/frontend/base/default/template/gene/braintree/js/firecheckout.phtml ADDED
@@ -0,0 +1,362 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Add in support for Fire Checkout
4
+ * http://templates-master.com/magento-one-page-checkout.html
5
+ */
6
+ ?>
7
+ <!-- FIRECHECKOUT BRAINTREE SUPPORT -->
8
+ <script type="text/javascript">
9
+
10
+ // Check that we haven't already set the original complete checkout method
11
+ if(fireCheckoutSaveCheckout === undefined) {
12
+
13
+ // Store the old complete checkout function
14
+ var fireCheckoutSaveCheckout = FireCheckout.prototype.save;
15
+
16
+ // Re-define the original method so we can do some jazz with it
17
+ FireCheckout.prototype.save = function () {
18
+
19
+ if($('device_data')) {
20
+ // Device data should never be disabled
21
+ $('device_data').removeAttribute('disabled');
22
+ }
23
+
24
+ // Always attempt to update the card type on submission
25
+ if($$('[data-genebraintree-name="number"]').first() != undefined) {
26
+ vzero.updateCardType($$('[data-genebraintree-name="number"]').first().value);
27
+ }
28
+
29
+ // Run the original validation functions
30
+ if (this.validate() && this.loadWaiting == false) {
31
+
32
+ // Are we dealing with the credit card method?
33
+ if (payment.currentMethod == 'gene_braintree_creditcard') {
34
+
35
+ // Do we want to pass any extra paramters into the updateData request
36
+ var parameters = {};
37
+
38
+ // If the billing address is selected and we're wanting to ship to that address we need to pass the addressId
39
+ if($('billing-address-select') != undefined && $('billing-address-select').value != '')
40
+ {
41
+ parameters.addressId = $('billing-address-select').value;
42
+ }
43
+
44
+ // Update the data as we're in a one step
45
+ vzero.updateData(
46
+ function() {
47
+
48
+ // Verify we're not using a saved address
49
+ if($('billing-address-select') != undefined && $('billing-address-select').value == '' || $('billing-address-select') == undefined) {
50
+
51
+ // Grab these directly from the form and update
52
+ if ($('billing:firstname') != undefined && $('billing:lastname') != undefined) {
53
+ vzero.setBillingName($('billing:firstname').value + ' ' + $('billing:lastname').value);
54
+ }
55
+ if ($('billing:postcode') != undefined) {
56
+ vzero.setBillingPostcode($('billing:postcode').value);
57
+ }
58
+ }
59
+
60
+ // Show the loading
61
+ this.setLoadWaiting(true);
62
+
63
+ // Process the card
64
+ vzero.process({
65
+ onSuccess: function () {
66
+
67
+ // Disable the standard credit card form so the values don't get passed through to the checkout
68
+ $$('#credit-card-form input, #credit-card-form select').each(function (formElement) {
69
+ if (formElement.id != 'creditcard-payment-nonce' && formElement.getAttribute('data-genebraintree-name') != 'cvv' && formElement.id != 'gene_braintree_creditcard_store_in_vault') {
70
+ formElement.setAttribute('disabled', 'disabled');
71
+ }
72
+ });
73
+
74
+ if($('device_data')) {
75
+ // Always make sure device data is sent with the request
76
+ $('device_data').removeAttribute('disabled');
77
+ }
78
+
79
+ // We're no longer loading
80
+ this.setLoadWaiting(false);
81
+
82
+ // Fire the original event and return the response
83
+ completeCheckoutResponse = fireCheckoutSaveCheckout.apply(this, arguments);
84
+
85
+ // Re-enable any form elements which were disabled
86
+ $$('#credit-card-form input, #credit-card-form select').each(function (formElement) {
87
+ formElement.removeAttribute('disabled');
88
+ });
89
+
90
+ // Run the original function
91
+ return completeCheckoutResponse;
92
+ }.bind(this),
93
+ onFailure: function() {
94
+
95
+ // Reset the waiting for the parent function
96
+ this.setLoadWaiting(false);
97
+
98
+ }.bind(this)
99
+ });
100
+
101
+ }.bind(this),
102
+ parameters
103
+ );
104
+
105
+ // We're updating data don't do anything else for now
106
+ return false;
107
+
108
+ }
109
+
110
+ }
111
+
112
+ // Stop further processing
113
+ return fireCheckoutSaveCheckout.apply(this, arguments);
114
+ };
115
+
116
+
117
+ // It's not been ran so set it to false
118
+ var PayPalCompleteRan = false;
119
+
120
+ /**
121
+ * Function to run once PayPal has been completed
122
+ */
123
+ completePayPal = function (obj) {
124
+
125
+ // Check the flag to make sure we're good to run the function
126
+ if (!PayPalCompleteRan) {
127
+
128
+ // Mark the flag as true
129
+ PayPalCompleteRan = true;
130
+
131
+ // Force check
132
+ payment.switchMethod('gene_braintree_paypal', true);
133
+
134
+ // Re-enable the form
135
+ $('paypal-payment-nonce').removeAttribute('disabled');
136
+ $('paypal-payment-nonce').value = obj.nonce;
137
+
138
+ if($('creditcard-payment-nonce') != null) {
139
+ // We have to disable the credit card one
140
+ $('creditcard-payment-nonce').setAttribute('disabled', 'disabled');
141
+ }
142
+
143
+ // Hide the button
144
+ hidePayPalButton();
145
+
146
+ // Always make sure device data is sent with the request
147
+ if ($('device_data') != undefined) {
148
+ $('device_data').removeAttribute('disabled');
149
+ }
150
+
151
+ // Submit the checkout
152
+ checkout.save();
153
+ return false;
154
+
155
+ }
156
+
157
+ };
158
+
159
+ // Flag to check if the PayPal button is already loading
160
+ var PayPalButtonLoading = false;
161
+
162
+ /**
163
+ * Easily add the PayPal button into the DOM
164
+ */
165
+ addPayPalButton = function () {
166
+
167
+ // Check we can locate the submit button
168
+ if ($$('#review-buttons-container .btn-checkout').first() != undefined && $('paypal-complete') == undefined && PayPalButtonLoading == false) {
169
+
170
+ // The button is loading
171
+ PayPalButtonLoading = true;
172
+
173
+ // Start the loading process
174
+ checkout.setLoadWaiting(true);
175
+
176
+ // Update the data contained within the classes
177
+ vzero.updateData(function () {
178
+
179
+ // Cancel said loading process
180
+ checkout.setLoadWaiting(false);
181
+
182
+ // The button is no longer loading
183
+ PayPalButtonLoading = false;
184
+
185
+ // Validate the payment method is still correct
186
+ if (payment.currentMethod == 'gene_braintree_paypal' && $('paypal-complete') == undefined) {
187
+
188
+ // Set the flag to false as we've created a new button
189
+ PayPalCompleteRan = false;
190
+
191
+ // Hide the submit button
192
+ $$('#review-buttons-container .btn-checkout').first().hide();
193
+
194
+ // Add in our PayPal button
195
+ $$('#review-buttons-container .btn-checkout').first().up().insert('<div id="paypal-complete"><label id="paypal-label"><?php echo $this->__('Complete checkout with'); ?> </label><div id="paypal-container"></div></div>');
196
+
197
+ // Always stop the window from opening
198
+ $('paypal-complete').observe('click', function (event) {
199
+
200
+ // Validate the form like the parent method
201
+ if (!checkout.validate()) {
202
+
203
+ // Sadly we're unable to intercept the PayPal window in any other way then just hard closing it
204
+ vzeroPaypal.closePayPalWindow();
205
+ }
206
+ });
207
+
208
+ // Add in the PayPal button
209
+ vzeroPaypal.addPayPalButton({
210
+ onSuccess: completePayPal
211
+ });
212
+ }
213
+
214
+ });
215
+
216
+ } else if ($('paypal-complete') != undefined && PayPalButtonLoading == false) {
217
+
218
+ // The button is loading
219
+ PayPalButtonLoading = true;
220
+
221
+ // Start the loading process
222
+ checkout.setLoadWaiting(true);
223
+
224
+ // Update the data contained within the classes
225
+ vzero.updateData(function () {
226
+
227
+ // The button is no longer loading
228
+ PayPalButtonLoading = false;
229
+
230
+ // Cancel said loading process
231
+ checkout.setLoadWaiting(false);
232
+
233
+ // Validate the payment method is still correct
234
+ if (payment.currentMethod == 'gene_braintree_paypal') {
235
+
236
+ // Set the flag to false as we've created a new button
237
+ PayPalCompleteRan = false;
238
+
239
+ // Hide the submit button
240
+ $$('#review-buttons-container .btn-checkout').first().hide();
241
+
242
+ // Add in our PayPal button
243
+ $('paypal-complete').show();
244
+ }
245
+
246
+ });
247
+
248
+ }
249
+
250
+ };
251
+
252
+ /**
253
+ * As we need to remove the PayPal button in multiple places
254
+ */
255
+ hidePayPalButton = function () {
256
+
257
+ // Just in case things are still loading
258
+ checkout.setLoadWaiting(false);
259
+
260
+ // If the user has selected a different payment method make some modifications
261
+ if ($$('#review-buttons-container .btn-checkout').first() != undefined) {
262
+ $$('#review-buttons-container .btn-checkout').first().show();
263
+ }
264
+
265
+ // Remove the PayPal element
266
+ if ($('paypal-complete') != undefined) {
267
+ $('paypal-complete').hide();
268
+ }
269
+
270
+ };
271
+
272
+ // Check if the payment method is the default
273
+ if (payment != undefined) {
274
+ if ((payment.currentMethod == 'gene_braintree_paypal' && $('paypal-saved-accounts') == undefined) || ($$('#paypal-saved-accounts input:checked[type=radio]').first() != undefined && $$('#paypal-saved-accounts input:checked[type=radio]').first().value == 'other')) {
275
+
276
+ // Verify that vzero is defined before attempting to use it
277
+ if (typeof vzeroPaypal !== 'undefined') {
278
+
279
+ // Set the amount for the PayPal modal window
280
+ vzeroPaypal.setPricing('<?php echo Mage::getSingleton('checkout/cart')->getQuote()->collectTotals()->getGrandTotal(); ?>', '<?php echo Mage::getSingleton('checkout/cart')->getQuote()->getBaseCurrencyCode(); ?>');
281
+ }
282
+
283
+ addPayPalButton();
284
+ }
285
+ }
286
+
287
+ // Store the original payment method
288
+ var paymentOriginal = Payment.prototype.switchMethod;
289
+
290
+ // Intercept the save function
291
+ Payment.prototype.switchMethod = function (method, skipOverride) {
292
+
293
+ // Detect PayPal choice
294
+ if (method == 'gene_braintree_paypal' && typeof skipOverride === 'undefined') {
295
+
296
+ if ($('paypal-saved-accounts') == undefined) {
297
+ addPayPalButton();
298
+ } else if ($('paypal-saved-accounts') != undefined && $$('#paypal-saved-accounts input:checked[type=radio]').first() != undefined && $$('#paypal-saved-accounts input:checked[type=radio]').first().value == 'other') {
299
+ addPayPalButton();
300
+ } else {
301
+ hidePayPalButton();
302
+ }
303
+
304
+ } else if(typeof skipOverride === 'undefined') {
305
+ hidePayPalButton();
306
+ }
307
+
308
+
309
+ // Run the original function
310
+ return paymentOriginal.apply(this, arguments);
311
+
312
+ };
313
+
314
+ // If we have any saved accounts we'll need to do something jammy
315
+ if ($$('#paypal-saved-accounts input[type=radio]').first() != undefined) {
316
+
317
+ // Loop through each radio button
318
+ $$('#paypal-saved-accounts input[type=radio]').each(function (savedAccount) {
319
+
320
+ // Observe them changing
321
+ Event.observe(savedAccount, 'click', function (ele) {
322
+ if (savedAccount.value == 'other') {
323
+ addPayPalButton();
324
+ } else {
325
+ hidePayPalButton();
326
+ }
327
+ });
328
+ });
329
+ }
330
+
331
+ // What should happen if the user closes the 3D secure window?
332
+ vzero.close3dSecureMethod(function () {
333
+
334
+ // Re-tokenize all the saved cards
335
+ vzero.tokenize3dSavedCards(function () {
336
+ checkout.setLoadWaiting(false);
337
+ });
338
+
339
+ });
340
+
341
+ // Observe all Ajax requests for changes
342
+ vzero.observeAjaxRequests(function () {
343
+
344
+ // If the method is PayPal remove and re-add the PayPal button
345
+ if (payment.currentMethod == 'gene_braintree_paypal') {
346
+ hidePayPalButton();
347
+ addPayPalButton();
348
+ } else {
349
+ vzero.updateData();
350
+ }
351
+
352
+ });
353
+ }
354
+ </script>
355
+ <style type="text/css">
356
+ #braintree-paypal-loggedin {
357
+ display: none!important;
358
+ }
359
+ #braintree-paypal-loggedout {
360
+ display: block!important;
361
+ }
362
+ </style>
app/design/frontend/base/default/template/gene/braintree/js/idev.phtml CHANGED
@@ -94,7 +94,14 @@
94
  stopLoading();
95
 
96
  // Always make sure device data is sent with the request
97
- $('device_data').removeAttribute('disabled');
 
 
 
 
 
 
 
98
 
99
  // Set the flag to true
100
  processedVZero = true;
@@ -187,20 +194,24 @@
187
  PayPalCompleteRan = true;
188
 
189
  // Force check
190
- payment.switchMethod('gene_braintree_paypal');
191
 
192
  // Re-enable the form
193
  $('paypal-payment-nonce').removeAttribute('disabled');
194
  $('paypal-payment-nonce').value = obj.nonce;
195
 
196
- // We have to disable the credit card one
197
- $('creditcard-payment-nonce').setAttribute('disabled', 'disabled');
 
 
198
 
199
  // Hide the button
200
  hidePayPalButton();
201
 
202
  // Always make sure device data is sent with the request
203
- $('device_data').removeAttribute('disabled');
 
 
204
 
205
  // Submit the checkout
206
  $$('.onestepcheckout-place-order').first().click();
@@ -344,10 +355,10 @@
344
  var paymentOriginal = Payment.prototype.switchMethod;
345
 
346
  // Intercept the save function
347
- Payment.prototype.switchMethod = function (method) {
348
 
349
  // Detect PayPal choice
350
- if (method == 'gene_braintree_paypal') {
351
 
352
  if ($('paypal-saved-accounts') == undefined) {
353
  addPayPalButton();
@@ -357,7 +368,7 @@
357
  hidePayPalButton();
358
  }
359
 
360
- } else {
361
  hidePayPalButton();
362
  }
363
 
@@ -397,12 +408,17 @@
397
  // Observe all Ajax requests for changes
398
  vzero.observeAjaxRequests(function () {
399
 
400
- // If the method is PayPal remove and re-add the PayPal button
401
- if (payment.currentMethod == 'gene_braintree_paypal') {
402
- hidePayPalButton();
403
- addPayPalButton();
404
- } else {
405
- vzero.updateData();
 
 
 
 
 
406
  }
407
 
408
  });
@@ -413,17 +429,10 @@
413
 
414
  <!-- Fix some minor styling issues with our nested form-list -->
415
  <style type="text/css">
416
- #paypal-container {
417
- float: right;
418
- }
419
- #paypal-label {
420
- line-height: 44px;
421
- float: right;
422
- margin-right: 12px;
423
  }
424
- #braintree-paypal-button {
425
- padding: 0!important;
426
- line-height: unset!important;
427
- float: left!important;
428
  }
429
  </style>
94
  stopLoading();
95
 
96
  // Always make sure device data is sent with the request
97
+ if ($('device_data') != undefined) {
98
+ $('device_data').removeAttribute('disabled');
99
+ }
100
+
101
+ // As onestepcheckout.com doesn't disable other payment forms (yeah I know, annoying) disable our PayPal nonce if it exists
102
+ if($('paypal-payment-nonce') != undefined) {
103
+ $('paypal-payment-nonce').setAttribute('disabled', 'disabled');
104
+ }
105
 
106
  // Set the flag to true
107
  processedVZero = true;
194
  PayPalCompleteRan = true;
195
 
196
  // Force check
197
+ payment.switchMethod('gene_braintree_paypal', true);
198
 
199
  // Re-enable the form
200
  $('paypal-payment-nonce').removeAttribute('disabled');
201
  $('paypal-payment-nonce').value = obj.nonce;
202
 
203
+ if($('creditcard-payment-nonce') != null) {
204
+ // We have to disable the credit card one
205
+ $('creditcard-payment-nonce').setAttribute('disabled', 'disabled');
206
+ }
207
 
208
  // Hide the button
209
  hidePayPalButton();
210
 
211
  // Always make sure device data is sent with the request
212
+ if ($('device_data') != undefined) {
213
+ $('device_data').removeAttribute('disabled');
214
+ }
215
 
216
  // Submit the checkout
217
  $$('.onestepcheckout-place-order').first().click();
355
  var paymentOriginal = Payment.prototype.switchMethod;
356
 
357
  // Intercept the save function
358
+ Payment.prototype.switchMethod = function (method, skipOverride) {
359
 
360
  // Detect PayPal choice
361
+ if (method == 'gene_braintree_paypal' && typeof skipOverride === 'undefined') {
362
 
363
  if ($('paypal-saved-accounts') == undefined) {
364
  addPayPalButton();
368
  hidePayPalButton();
369
  }
370
 
371
+ } else if(typeof skipOverride === 'undefined') {
372
  hidePayPalButton();
373
  }
374
 
408
  // Observe all Ajax requests for changes
409
  vzero.observeAjaxRequests(function () {
410
 
411
+ // The iDev checkout has a check_email option which can break our system
412
+ if(transport.url && transport.url.indexOf('check_email') == -1) {
413
+
414
+ // If the method is PayPal remove and re-add the PayPal button
415
+ if (payment.currentMethod == 'gene_braintree_paypal') {
416
+ hidePayPalButton();
417
+ addPayPalButton();
418
+ } else {
419
+ vzero.updateData();
420
+ }
421
+
422
  }
423
 
424
  });
429
 
430
  <!-- Fix some minor styling issues with our nested form-list -->
431
  <style type="text/css">
432
+ #braintree-paypal-loggedin {
433
+ display: none!important;
 
 
 
 
 
434
  }
435
+ #braintree-paypal-loggedout {
436
+ display: block!important;
 
 
437
  }
438
  </style>
app/design/frontend/base/default/template/gene/braintree/js/iwd.phtml CHANGED
@@ -128,6 +128,24 @@
128
  return iwdOriginalSaveOrder.apply(this, arguments);
129
  };
130
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  // It's not been ran so set it to false
132
  var PayPalCompleteRan = false;
133
 
@@ -213,7 +231,7 @@
213
  $('paypal-complete').observe('click', function (event) {
214
 
215
  // Validate the form before we open the PayPal modal window
216
- if (!amscheckoutForm.validator.validate() || checkoutRunning) {
217
 
218
  // Sadly we're unable to intercept the PayPal window in any other way then just hard closing it
219
  vzeroPaypal.closePayPalWindow();
@@ -303,13 +321,13 @@
303
  var paymentOriginal = Payment.prototype.switchMethod;
304
 
305
  // Intercept the save function
306
- Payment.prototype.switchMethod = function (method) {
307
 
308
  // Make sure the paypal complete action hasn't just ran
309
  if (PayPalCompleteRan != true) {
310
 
311
  // Detect PayPal choice
312
- if (method == 'gene_braintree_paypal') {
313
 
314
  if ($('paypal-saved-accounts') == undefined) {
315
  addPayPalButton();
@@ -319,7 +337,7 @@
319
  hidePayPalButton();
320
  }
321
 
322
- } else {
323
  hidePayPalButton();
324
  }
325
  }
@@ -380,11 +398,6 @@
380
  }
381
  </script>
382
  <style type="text/css">
383
- #braintree-paypal-button {
384
- line-height: unset;
385
- padding: 0;
386
- float: left;
387
- }
388
  #braintree-paypal-loggedin {
389
  display: none!important;
390
  }
128
  return iwdOriginalSaveOrder.apply(this, arguments);
129
  };
130
 
131
+ // For some annoying reason IWD doesn't provide a function to validate the entirity of the form
132
+ IWD.OPC.validateAll = function() {
133
+
134
+ var addressForm = new VarienForm('opc-address-form-billing');
135
+ if (!addressForm.validator.validate()){
136
+ return false;
137
+ }
138
+
139
+ if (!$j_opc('input[name="billing[use_for_shipping]"]').prop('checked')){
140
+ var addressForm = new VarienForm('opc-address-form-shipping');
141
+ if (!addressForm.validator.validate()){
142
+ return false;
143
+ }
144
+ }
145
+
146
+ return true;
147
+ };
148
+
149
  // It's not been ran so set it to false
150
  var PayPalCompleteRan = false;
151
 
231
  $('paypal-complete').observe('click', function (event) {
232
 
233
  // Validate the form before we open the PayPal modal window
234
+ if (!IWD.OPC.validateAll()) {
235
 
236
  // Sadly we're unable to intercept the PayPal window in any other way then just hard closing it
237
  vzeroPaypal.closePayPalWindow();
321
  var paymentOriginal = Payment.prototype.switchMethod;
322
 
323
  // Intercept the save function
324
+ Payment.prototype.switchMethod = function (method, skipOverride) {
325
 
326
  // Make sure the paypal complete action hasn't just ran
327
  if (PayPalCompleteRan != true) {
328
 
329
  // Detect PayPal choice
330
+ if (method == 'gene_braintree_paypal' && typeof skipOverride === 'undefined') {
331
 
332
  if ($('paypal-saved-accounts') == undefined) {
333
  addPayPalButton();
337
  hidePayPalButton();
338
  }
339
 
340
+ } else if(typeof skipOverride === 'undefined') {
341
  hidePayPalButton();
342
  }
343
  }
398
  }
399
  </script>
400
  <style type="text/css">
 
 
 
 
 
401
  #braintree-paypal-loggedin {
402
  display: none!important;
403
  }
app/design/frontend/base/default/template/gene/braintree/js/magestore.phtml CHANGED
@@ -220,7 +220,8 @@
220
  $('paypal-complete').observe('click', function (event) {
221
 
222
  // Validate the form before we open the PayPal modal window
223
- if (!amscheckoutForm.validator.validate() || checkoutRunning) {
 
224
 
225
  // Sadly we're unable to intercept the PayPal window in any other way then just hard closing it
226
  vzeroPaypal.closePayPalWindow();
220
  $('paypal-complete').observe('click', function (event) {
221
 
222
  // Validate the form before we open the PayPal modal window
223
+ var validator = new Validation('one-step-checkout-form');
224
+ if (!validator.validate()) {
225
 
226
  // Sadly we're unable to intercept the PayPal window in any other way then just hard closing it
227
  vzeroPaypal.closePayPalWindow();
js/gene/braintree/vzero.js CHANGED
@@ -248,7 +248,7 @@ vZero.prototype = {
248
 
249
  // Some checkout implementations may require custom callbacks
250
  if(callback) {
251
- callback();
252
  } else {
253
  this.updateData();
254
  }
@@ -733,7 +733,7 @@ vZeroPayPalButton.prototype = {
733
 
734
  },
735
  onUnsupported: function() {
736
- alert('Sadly your browser does not support purchasing with PayPal.');
737
  }
738
  };
739
 
248
 
249
  // Some checkout implementations may require custom callbacks
250
  if(callback) {
251
+ callback(transport);
252
  } else {
253
  this.updateData();
254
  }
733
 
734
  },
735
  onUnsupported: function() {
736
+ alert('You need to link your PayPal account with your Braintree account in your Braintree control panel to utilise the PayPal functionality of this extension.');
737
  }
738
  };
739
 
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Gene_Braintree</name>
4
- <version>1.0.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/mit-license.php">MIT License</license>
7
  <channel>community</channel>
@@ -36,9 +36,9 @@ Easily add PayPal to your checkout. We've built the best PayPal integration arou
36
  &lt;/ul&gt;</description>
37
  <notes>Connect your Magento store to Braintree to accept Credit Cards &amp;amp; PayPal using V.Zero SDK</notes>
38
  <authors><author><name>Dave Macaulay</name><user>dave</user><email>magento@gene.co.uk</email></author></authors>
39
- <date>2015-08-14</date>
40
- <time>15:48:17</time>
41
- <contents><target name="magecommunity"><dir name="Gene"><dir name="Braintree"><dir name="Block"><dir name="Adminhtml"><dir name="Report"><dir name="Transactions"><file name="Grid.php" hash="32b32086548f62ae4aca4baf456b9ed2"/><file name="Search.php" hash="81d57c3744530f36c37782ce9d0f3a70"/></dir><file name="Transactions.php" hash="7afe45b49353e52b432aa0392d76a08e"/></dir><dir name="System"><dir name="Config"><dir name="Braintree"><file name="Config.php" hash="eaaf6c74be4233a315d5aa5932f7c9ca"/><file name="Currency.php" hash="9ffa8a2ded53be75e88a60a024883b07"/><file name="Moduleversion.php" hash="fe3836bde24bb31c4c4585f2cd2f20ed"/><file name="Version.php" hash="ce58278a4faf965301cc2d8b2da4483c"/></dir></dir></dir></dir><dir name="Cart"><file name="Totals.php" hash="a03c441e8143896f92d02931a809f666"/></dir><dir name="Creditcard"><file name="Info.php" hash="8050c4c5321535fe93e62b47eab97b82"/><file name="Threedsecure.php" hash="7848d4ecac743be985f328fa969318bf"/></dir><file name="Creditcard.php" hash="989678324ff3fcddcc99cbe4613019fa"/><file name="Info.php" hash="2a8367489959ba9c1de4fe4c9afa62e4"/><file name="Js.php" hash="50cdd6d01eddfbdcc0061f4369cbeb58"/><dir name="Paypal"><file name="Info.php" hash="0874c0839a27c14ec9be47fed152e880"/></dir><file name="Paypal.php" hash="36294a461378cceee66e99d45753c6e1"/><file name="Saved.php" hash="74ed8e70a404a814b94f21f88c1ca737"/></dir><dir name="Helper"><file name="Data.php" hash="7ab1dba0f90dc067f0293e3f34bdf387"/></dir><dir name="Model"><file name="Debug.php" hash="f3360f71e2346881f93424792ed9f209"/><file name="Observer.php" hash="7d312de6cfb4c1683493a5a085260a7a"/><dir name="Paymentmethod"><file name="Abstract.php" hash="f6f818eb5720ceee4e43cff281209a88"/><file name="Creditcard.php" hash="c0c1307ada89f675ff97b96412205615"/><file name="Paypal.php" hash="6523279bdc21c8b047d85b99d251a26a"/></dir><file name="Saved.php" hash="3b235b454a3692d1c3d5343e2a1c91e9"/><dir name="Source"><file name="Cctype.php" hash="d76aa6c3a4bd798e3a47695f579d21d4"/><dir name="Creditcard"><file name="CaptureAction.php" hash="6444cfc430de44f06e85bd9c8b80d77b"/><file name="PaymentAction.php" hash="a2f3f3d36a98df4d12f76b6ab77f9c47"/></dir><file name="Environment.php" hash="02567d2ddba74d06ac000b4ddb12723a"/><dir name="Paypal"><file name="Locale.php" hash="8988ca77f9c2aa2d19ff0b614a4b7621"/><file name="Paymenttype.php" hash="fe1fe4ee89d5b7a87c7c28716bb2f1cb"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Currency.php" hash="73cb15b1de303e88c487db4c585ef94e"/></dir></dir></dir><dir name="Wrapper"><file name="Braintree.php" hash="b176325a312062bcf82127aef2da546a"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="BraintreeController.php" hash="7c621fa1548c04e24bb1136bcbbe1d72"/></dir><file name="CheckoutController.php" hash="19551187f161f5df4e49a9a009c0adaf"/><file name="SavedController.php" hash="036e97703c853a5bae064dd7cf5030a8"/></dir><dir name="etc"><file name="adminhtml.xml" hash="c9c940beffa0ec19e4a1499a66f7fd12"/><file name="config.xml" hash="0c8baa0bab1a100d1ffd2d97307a2a0a"/><file name="system.xml" hash="01fc95e2c590d2fad81b007e361cfa63"/></dir><dir name="sql"><dir name="gene_braintree_setup"><file name="install-0.1.0.php" hash="7ef62b7c19b9da5990974da6edb3e77c"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="gene"><file name="braintree.xml" hash="e1b91850fd2e5d630679417f08f3ac91"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><dir name="creditcard"><file name="info.phtml" hash="2ae1e397b3a633dd305bc26c7b9c1065"/><file name="threedsecure.phtml" hash="ee8ad689afde041c39dd92ffa5274883"/></dir><file name="creditcard.phtml" hash="281f2fe022232deda152d2a625f2a532"/><dir name="customer"><file name="methods.phtml" hash="eb5e2d8f4a0f419fcf720c12062f808a"/><file name="saved.phtml" hash="691162b89ed085599f76072226ca2307"/></dir><dir name="js"><file name="aheadworks.phtml" hash="6672a0897c08e4e8344f40df7006e7a4"/><file name="amasty.phtml" hash="d8a4f779eb6c40c87982a53cc6d4519b"/><file name="data.phtml" hash="2d575380d05455c6eae90d3644b525dc"/><file name="default.phtml" hash="c1099fa33d538f65481caf984368ddbf"/><file name="idev.phtml" hash="6cc487985b26f29203016c6ccfc7286a"/><file name="iwd.phtml" hash="26d78161949bed430156eaf45d3b8e7a"/><file name="magestore.phtml" hash="4371f4898cc6e01eceb1acdff7327672"/><file name="setup.phtml" hash="5d15d864c0fe783061679716273d4300"/></dir><dir name="paypal"><file name="info.phtml" hash="5149b273730121e4dec3c3179820f747"/></dir><file name="paypal.phtml" hash="4280fcf89509eb959171f2214779de35"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="gene"><file name="braintree.xml" hash="1995e85eb47b909120ce8b9b537bf5db"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><dir name="creditcard"><file name="info.phtml" hash="24c67bab482ea7383ce57d9a06bb9d6f"/></dir><file name="creditcard.phtml" hash="0c6b7806732c336ead14fab596f1b923"/><file name="js.phtml" hash="0f3e0b631726c2faf9b119beb2f2ffc6"/><dir name="paypal"><file name="info.phtml" hash="a8f92f312f8aa5a9463f1d5c2a38cd1b"/></dir><dir name="transactions"><file name="index.phtml" hash="1791b6393f319616dd79c0b46e391847"/><file name="search.phtml" hash="1682ce6200681681f0ce3c848e2e6694"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Gene_Braintree.xml" hash="8c0ffda8566dca2f0b98a999921e3e55"/></dir></target><target name="mageweb"><dir name="js"><dir name="gene"><dir name="braintree"><file name="braintree.js" hash="4a074b2952d6e3c0052f85442b284abc"/><file name="vzero.js" hash="0ea7d83df34c94eae8fa9d1c112d6824"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="gene"><dir name="braintree"><file name="AE.png" hash="6b6f405105413b0723a62ee498f88bf6"/><file name="DI.png" hash="d8e3c3022dda9e723f466b8976ae428f"/><file name="JCB.png" hash="3aa9a71ed8a1d6610bbe0dfe2040e29e"/><file name="MC.png" hash="1fcd14928245139962b72f9368bdbe32"/><file name="ME.png" hash="b9389913c47b9546a67f907fcca73706"/><file name="PP.png" hash="b4946bccba574e86c9716a4986e21c36"/><file name="VI.png" hash="c9f74d1d54e61ab2c748f45a4bdface0"/><file name="card.png" hash="66e16f8c573fad93bb0d62258dce28bb"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir></dir></dir><dir name="css"><dir name="gene"><dir name="braintree"><file name="aheadworks.css" hash="af097f350d4562bbb73c872da3d23909"/><file name="amasty.css" hash="7d7fdc2aec5ac9ce4e5028ae4801dd0b"/><file name="idev.css" hash="281ace41595b904a80836d938ee7d28b"/><file name="iwd.css" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="magestore.css" hash="b5190c300305e2e85623b2e7ba23b025"/></dir></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="Braintree"><file name="AddOn.php" hash="e8bbb6db343ba99192346b1dcbf45677"/><file name="AddOnGateway.php" hash="d8698ffe89c01fba78a8a06a2fc68122"/><file name="Address.php" hash="004d3d36d39fc6fcc3d510f4b15b1fca"/><file name="AddressGateway.php" hash="41b5a3be7bdb2fe326a49a1554e1b0c3"/><file name="AndroidPayCard.php" hash="7a1de1da0aa0733277a87b75307bb201"/><file name="ApplePayCard.php" hash="06eea10b110792c18d692e482445ffe4"/><file name="Base.php" hash="60d52fd1bef5655bcb607fba45bb4c1c"/><file name="ClientToken.php" hash="358c0a1dba687baf635db818cb7d1dac"/><file name="ClientTokenGateway.php" hash="6f2259a51415a779a072719288811c16"/><file name="CoinbaseAccount.php" hash="ee5cb6963f675a9a71293c453b128866"/><file name="Collection.php" hash="0e7d31ffcbd9780fb554186bd2c194b0"/><file name="Configuration.php" hash="cce5e6b7e215c73767127d3d8441cc8f"/><file name="CredentialsParser.php" hash="c4bb2248a33129d8523a6120ce44108b"/><file name="CreditCard.php" hash="d32b8d8e64b2d046d3d9e4f00c67f1ed"/><file name="CreditCardGateway.php" hash="0d120ed06f06fd614468d6e3f0ad22d2"/><file name="CreditCardVerification.php" hash="48d6ea546914278f4bea2fefb75e7836"/><file name="CreditCardVerificationGateway.php" hash="6a07430c9437f6e6c1516d5b4572a749"/><file name="CreditCardVerificationSearch.php" hash="18efe7d508c2bd5fea1c0e68fc26182f"/><file name="Customer.php" hash="62d0937de86f7a14a512ad66edba7569"/><file name="CustomerGateway.php" hash="1232a22dd6de6ad1446c6fbb9b0f79c3"/><file name="CustomerSearch.php" hash="8aacc83dac341cd9afec5a3deab17593"/><file name="Descriptor.php" hash="3f5db5e817280ce7f2fa18a205281ad9"/><file name="Digest.php" hash="9d12d067770f55b123b8498fce4478fa"/><file name="Disbursement.php" hash="ad122f0f33b27dfd98bcdd38ea138ae4"/><file name="DisbursementDetails.php" hash="ae632207d0982e288a83aed401c880d9"/><file name="Discount.php" hash="763b3f9cde0ff3af3e8795cac4097595"/><file name="DiscountGateway.php" hash="47796edb8ac2fa68e9af8fb8a13aacb1"/><dir name="Dispute"><file name="TransactionDetails.php" hash="7fdea673a1295055508f42286ad57f4e"/></dir><file name="Dispute.php" hash="c3a4e93fa2b3b0e20ddcb593dcdc7b2b"/><file name="EqualityNode.php" hash="cfd6aa184186233b8d6d1ec0f0e79298"/><dir name="Error"><file name="Codes.php" hash="a7f98ff690e725b7fcd198b4b22d0637"/><file name="ErrorCollection.php" hash="e28d638db56524f5bf3609fa725e6d55"/><file name="Validation.php" hash="bf4e2198300019c52ba56f16269d66ce"/><file name="ValidationErrorCollection.php" hash="9ef25d0126a0b4f6951da5334ae6f0dc"/></dir><dir name="Exception"><file name="Authentication.php" hash="f9e13654988452cca2ac5228a80adae4"/><file name="Authorization.php" hash="5f8c017c6e9fd79a556dade8e15a72e8"/><file name="Configuration.php" hash="b50f67e8ea36cff0d9f6ad718126c6fc"/><file name="DownForMaintenance.php" hash="7fd30b1f8976ed7e38b7e9fae5c20f03"/><file name="ForgedQueryString.php" hash="6884dbae1e86767834b77c821df2db62"/><file name="InvalidChallenge.php" hash="1c283a1c9dac65feb137594d0dcf0e35"/><file name="InvalidSignature.php" hash="b83f5b16735cb3a8e0a8111c4f32711e"/><file name="NotFound.php" hash="f832f771d20b381c2780eb2a572b9f44"/><file name="SSLCaFileNotFound.php" hash="e927c7307bf1761814dc8a755238070d"/><file name="SSLCertificate.php" hash="d509b6a6206bd7c5563ac142dfe3801f"/><file name="ServerError.php" hash="b4645290229ab228a257047d08ef63d7"/><file name="Unexpected.php" hash="01ea2800fb91995ec2a15aee5024611e"/><file name="UpgradeRequired.php" hash="7f40b174df891cc3b3e206d1be884a58"/><file name="ValidationsFailed.php" hash="cd2d30c69911f81b55279c3d6bf88c61"/></dir><file name="Exception.php" hash="f14c94bf67206184eb3e4e7aeb4a608a"/><file name="Gateway.php" hash="103156f5646a8193ed548405f5ac476f"/><file name="Http.php" hash="1baa32e0efcae13c4d6294d1233512a1"/><file name="Instance.php" hash="f0603b3f9213b53687e079c5621ac8f3"/><file name="IsNode.php" hash="e4b1f7bbfcbd24b1d08b97f94df592be"/><file name="KeyValueNode.php" hash="255595ec01a16906dd0c49faf67d9efb"/><file name="Merchant.php" hash="5053ebe889c854d11f2686bffdeb58be"/><dir name="MerchantAccount"><file name="AddressDetails.php" hash="1d265d864a884ebcf2504f55207cc0dd"/><file name="BusinessDetails.php" hash="3e80148bac9fda676844aa19d5b2dc28"/><file name="FundingDetails.php" hash="7368f653fcbcc3d87924447b1763e616"/><file name="IndividualDetails.php" hash="777b6f28f643e78616c7ed753a39c0cd"/></dir><file name="MerchantAccount.php" hash="496c93182d824bb2967cc9366dec1ac3"/><file name="MerchantAccountGateway.php" hash="e2073aff6f8b3c5f2e64b23b210c44f7"/><file name="MerchantGateway.php" hash="e0a2e3a28c68dac8bd082973b269ed1b"/><file name="Modification.php" hash="0abe992d4f821327f617ca883c4eb2d1"/><file name="MultipleValueNode.php" hash="92700fa03011eaa9561010b3a160449c"/><file name="MultipleValueOrTextNode.php" hash="ef06bac18e2bc40974bdc0bcb854890f"/><file name="OAuthCredentials.php" hash="e992dca9dfedb27e3d050af55971a968"/><file name="OAuthGateway.php" hash="e2e238d067f43c0f28fcb25c2de4a274"/><file name="PartialMatchNode.php" hash="370c7e0ab8a445cfeef6b19ef1755f4d"/><file name="PartnerMerchant.php" hash="bdb69ebdc75d67009710be9703a47e80"/><file name="PayPalAccount.php" hash="672a7d424f94e590c5e66a21e62d7bc2"/><file name="PayPalAccountGateway.php" hash="d73f5744ebaca6cc882c42d0e9c1a05e"/><file name="PaymentInstrumentType.php" hash="be97a30c7d8fbbb180864dc4efea71f2"/><file name="PaymentMethod.php" hash="5bc31d3e97610e7218c95aba2422cc9a"/><file name="PaymentMethodGateway.php" hash="1ce13a8b1ec93cf32b8029c55ea26fa2"/><file name="PaymentMethodNonce.php" hash="e99302e2468f55c8fb4b2ceeb1bce68e"/><file name="PaymentMethodNonceGateway.php" hash="22a0d89eee071a28b530c6be477dcc6e"/><file name="Plan.php" hash="22ab0117d462352aecb9531d4a26619e"/><file name="PlanGateway.php" hash="95e093b55ad20f8b652ee5f2fc2a0fcf"/><file name="RangeNode.php" hash="4ad9a92547423b3d54d69097114c3daf"/><file name="ResourceCollection.php" hash="8f437cb5014148c0e2f6049347ae795c"/><dir name="Result"><file name="CreditCardVerification.php" hash="7c41787025ec7cffb269f53e3ce479e2"/><file name="Error.php" hash="0e0460f1eea017bc7591e05351f51eb0"/><file name="Successful.php" hash="03f1c379fcedaef499296ab7778d1e36"/></dir><file name="RiskData.php" hash="8bef1074f9f1c50c841a7c7cf627c9cf"/><file name="SettlementBatchSummary.php" hash="388d88e8cea7bec61ee78f388fb78c2c"/><file name="SettlementBatchSummaryGateway.php" hash="bc54658b75fa0505e072331799c2d9ad"/><file name="SignatureService.php" hash="4b78d3e5897e715dcc877c5f65b3cfae"/><dir name="Subscription"><file name="StatusDetails.php" hash="29e375f02150bfd7147591f0eb27cb4f"/></dir><file name="Subscription.php" hash="cde05aa61192d5b930b57330db308835"/><file name="SubscriptionGateway.php" hash="bd1b2aa2d4d41a595463bead64ed34e0"/><file name="SubscriptionSearch.php" hash="1874ebe5cb42d7d2836617810cced1af"/><dir name="Test"><file name="CreditCardNumbers.php" hash="676a9100354eb679e7ca1e0f0d67293f"/><file name="MerchantAccount.php" hash="612e7e30cca364c0d14cbff3b54ebf3f"/><file name="Nonces.php" hash="230dc3687abaf95e9f516573b1836f4a"/><file name="TransactionAmounts.php" hash="ed9bf1f57d871542c32d11de9e031f05"/><file name="VenmoSdk.php" hash="6ce94deccd1f968596011487c7e69cc7"/></dir><file name="TextNode.php" hash="94c95ec9645de57acace2179fef7fb43"/><file name="ThreeDSecureInfo.php" hash="542550c4e03a24551d00e8aad5493035"/><dir name="Transaction"><file name="AddressDetails.php" hash="ff52a4a48248085b7ea92e992160e413"/><file name="AndroidPayCardDetails.php" hash="4dab3acc0cc35b5a6f12f95004074374"/><file name="ApplePayCardDetails.php" hash="c4dd87cd46fe7269e1bd51c867adf7cb"/><file name="CoinbaseDetails.php" hash="d19a625f8de98698b8277c25660358f0"/><file name="CreditCardDetails.php" hash="aac5eb1f5804d4f979b9c71f7b98cb36"/><file name="CustomerDetails.php" hash="e137895c646127312be44292c84a2d81"/><file name="PayPalDetails.php" hash="ede299e376bce7714838d79ca3d40842"/><file name="StatusDetails.php" hash="7c6e719c51bf13bdfd07615030100ac6"/><file name="SubscriptionDetails.php" hash="1cf1f511d1545a2e27b8d3f4bee800ca"/></dir><file name="Transaction.php" hash="09b9e7a574d304e9edebe578173f2994"/><file name="TransactionGateway.php" hash="4282d7497100c26afcd709fd77eae0bd"/><file name="TransactionSearch.php" hash="3101c79514520a1a500e4623f4ca1c32"/><file name="TransparentRedirect.php" hash="154c9850be5175a5cd1b35bdf78ae939"/><file name="TransparentRedirectGateway.php" hash="5ead181bf0d5484db5eb305efa13bec4"/><file name="UnknownPaymentMethod.php" hash="9107498774ab5bc2b25de98838736b47"/><file name="Util.php" hash="9832a44da18b97a55248cadc4bb9a4ad"/><file name="Version.php" hash="2f088b43efe46edb3262b89b7d40d051"/><file name="WebhookNotification.php" hash="4097fb57d46368d903c42bb20fbd49ca"/><file name="WebhookTesting.php" hash="c40311458bb64e37b4c08eb88df37805"/><dir name="Xml"><file name="Generator.php" hash="19f9c9b9b61d4f97f65775f527ac408d"/><file name="Parser.php" hash="c06b1ae155ac7687eaa856fac472656d"/></dir><file name="Xml.php" hash="dc69e05bea21e3d1185d45d53e4747db"/></dir><dir name="."><file name="Braintree.php" hash="424b8ccb072fda0ddf3459be6279734a"/></dir><dir name="ssl"><file name="api_braintreegateway_com.ca.crt" hash="04beb23c767547e980c76eb68c7eab15"/><file name="sandbox_braintreegateway_com.ca.crt" hash="f1b529883c7c2cbb4251658f5da7b4c9"/></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Gene_Braintree.csv" hash="00ae6dc359bc0d9c48bfc90a865232a3"/></dir></dir></target></contents>
42
  <compatible/>
43
  <dependencies><required><php><min>5.2.1</min><max>6.0.0</max></php><package><name/><channel>connect.magentocommerce.com/core</channel><min/><max/></package></required></dependencies>
44
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Gene_Braintree</name>
4
+ <version>1.0.4.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/mit-license.php">MIT License</license>
7
  <channel>community</channel>
36
  &lt;/ul&gt;</description>
37
  <notes>Connect your Magento store to Braintree to accept Credit Cards &amp;amp; PayPal using V.Zero SDK</notes>
38
  <authors><author><name>Dave Macaulay</name><user>dave</user><email>magento@gene.co.uk</email></author></authors>
39
+ <date>2015-08-30</date>
40
+ <time>16:15:57</time>
41
+ <contents><target name="magecommunity"><dir name="Gene"><dir name="Braintree"><dir name="Block"><dir name="Adminhtml"><dir name="Report"><dir name="Transactions"><file name="Grid.php" hash="32b32086548f62ae4aca4baf456b9ed2"/><file name="Search.php" hash="81d57c3744530f36c37782ce9d0f3a70"/></dir><file name="Transactions.php" hash="7afe45b49353e52b432aa0392d76a08e"/></dir><dir name="System"><dir name="Config"><dir name="Braintree"><file name="Config.php" hash="eaaf6c74be4233a315d5aa5932f7c9ca"/><file name="Currency.php" hash="9ffa8a2ded53be75e88a60a024883b07"/><file name="Moduleversion.php" hash="fe3836bde24bb31c4c4585f2cd2f20ed"/><file name="Version.php" hash="ce58278a4faf965301cc2d8b2da4483c"/></dir></dir></dir></dir><dir name="Cart"><file name="Totals.php" hash="a03c441e8143896f92d02931a809f666"/></dir><dir name="Creditcard"><file name="Info.php" hash="8050c4c5321535fe93e62b47eab97b82"/><file name="Threedsecure.php" hash="7848d4ecac743be985f328fa969318bf"/></dir><file name="Creditcard.php" hash="989678324ff3fcddcc99cbe4613019fa"/><file name="Info.php" hash="2a8367489959ba9c1de4fe4c9afa62e4"/><file name="Js.php" hash="50cdd6d01eddfbdcc0061f4369cbeb58"/><dir name="Paypal"><file name="Info.php" hash="0874c0839a27c14ec9be47fed152e880"/></dir><file name="Paypal.php" hash="36294a461378cceee66e99d45753c6e1"/><file name="Saved.php" hash="74ed8e70a404a814b94f21f88c1ca737"/></dir><dir name="Helper"><file name="Data.php" hash="7ab1dba0f90dc067f0293e3f34bdf387"/></dir><dir name="Model"><file name="Debug.php" hash="f3360f71e2346881f93424792ed9f209"/><file name="Observer.php" hash="7d312de6cfb4c1683493a5a085260a7a"/><dir name="Paymentmethod"><file name="Abstract.php" hash="f6f818eb5720ceee4e43cff281209a88"/><file name="Creditcard.php" hash="c0c1307ada89f675ff97b96412205615"/><file name="Paypal.php" hash="6523279bdc21c8b047d85b99d251a26a"/></dir><file name="Saved.php" hash="3b235b454a3692d1c3d5343e2a1c91e9"/><dir name="Source"><file name="Cctype.php" hash="d76aa6c3a4bd798e3a47695f579d21d4"/><dir name="Creditcard"><file name="CaptureAction.php" hash="6444cfc430de44f06e85bd9c8b80d77b"/><file name="PaymentAction.php" hash="a2f3f3d36a98df4d12f76b6ab77f9c47"/></dir><file name="Environment.php" hash="02567d2ddba74d06ac000b4ddb12723a"/><dir name="Paypal"><file name="Locale.php" hash="8988ca77f9c2aa2d19ff0b614a4b7621"/><file name="Paymenttype.php" hash="fe1fe4ee89d5b7a87c7c28716bb2f1cb"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Currency.php" hash="73cb15b1de303e88c487db4c585ef94e"/></dir></dir></dir><dir name="Wrapper"><file name="Braintree.php" hash="b176325a312062bcf82127aef2da546a"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="BraintreeController.php" hash="7c621fa1548c04e24bb1136bcbbe1d72"/></dir><file name="CheckoutController.php" hash="19551187f161f5df4e49a9a009c0adaf"/><file name="SavedController.php" hash="036e97703c853a5bae064dd7cf5030a8"/></dir><dir name="etc"><file name="adminhtml.xml" hash="c9c940beffa0ec19e4a1499a66f7fd12"/><file name="config.xml" hash="ccd005e62a7a5e60fb9561dd08687a86"/><file name="system.xml" hash="01fc95e2c590d2fad81b007e361cfa63"/></dir><dir name="sql"><dir name="gene_braintree_setup"><file name="install-0.1.0.php" hash="7ef62b7c19b9da5990974da6edb3e77c"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="gene"><file name="braintree.xml" hash="bcbe37b1ece07d6f574c5214db71f61f"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><dir name="creditcard"><file name="info.phtml" hash="2ae1e397b3a633dd305bc26c7b9c1065"/><file name="threedsecure.phtml" hash="ee8ad689afde041c39dd92ffa5274883"/></dir><file name="creditcard.phtml" hash="281f2fe022232deda152d2a625f2a532"/><dir name="customer"><file name="methods.phtml" hash="eb5e2d8f4a0f419fcf720c12062f808a"/><file name="saved.phtml" hash="691162b89ed085599f76072226ca2307"/></dir><dir name="js"><file name="aheadworks.phtml" hash="ca6ee23a15c32c39c984906adb8859c4"/><file name="amasty.phtml" hash="a41a8160d5c4b83e9ec13d7036873be0"/><file name="data.phtml" hash="2d575380d05455c6eae90d3644b525dc"/><file name="default.phtml" hash="6c25afd0c6a80f9ddc6a8f8211ea5cf5"/><file name="firecheckout.phtml" hash="947c3d4db0e6e74f9ebc5597b6240eeb"/><file name="idev.phtml" hash="f3e4afc6540ec5290e47baf8a94a1589"/><file name="iwd.phtml" hash="0d9af526a45878d8bb2d94848c03fb7b"/><file name="magestore.phtml" hash="1800124c22bae590af7ae95ad3548a5e"/><file name="setup.phtml" hash="5d15d864c0fe783061679716273d4300"/></dir><dir name="paypal"><file name="info.phtml" hash="5149b273730121e4dec3c3179820f747"/></dir><file name="paypal.phtml" hash="4280fcf89509eb959171f2214779de35"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="gene"><file name="braintree.xml" hash="1995e85eb47b909120ce8b9b537bf5db"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><dir name="creditcard"><file name="info.phtml" hash="24c67bab482ea7383ce57d9a06bb9d6f"/></dir><file name="creditcard.phtml" hash="0c6b7806732c336ead14fab596f1b923"/><file name="js.phtml" hash="0f3e0b631726c2faf9b119beb2f2ffc6"/><dir name="paypal"><file name="info.phtml" hash="a8f92f312f8aa5a9463f1d5c2a38cd1b"/></dir><dir name="transactions"><file name="index.phtml" hash="1791b6393f319616dd79c0b46e391847"/><file name="search.phtml" hash="1682ce6200681681f0ce3c848e2e6694"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Gene_Braintree.xml" hash="8c0ffda8566dca2f0b98a999921e3e55"/></dir></target><target name="mageweb"><dir name="js"><dir name="gene"><dir name="braintree"><file name="braintree.js" hash="4a074b2952d6e3c0052f85442b284abc"/><file name="vzero.js" hash="145a67d5135de282eb9d2d60a1e15351"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="gene"><dir name="braintree"><file name="AE.png" hash="6b6f405105413b0723a62ee498f88bf6"/><file name="DI.png" hash="d8e3c3022dda9e723f466b8976ae428f"/><file name="JCB.png" hash="3aa9a71ed8a1d6610bbe0dfe2040e29e"/><file name="MC.png" hash="1fcd14928245139962b72f9368bdbe32"/><file name="ME.png" hash="b9389913c47b9546a67f907fcca73706"/><file name="PP.png" hash="b4946bccba574e86c9716a4986e21c36"/><file name="VI.png" hash="c9f74d1d54e61ab2c748f45a4bdface0"/><file name="card.png" hash="66e16f8c573fad93bb0d62258dce28bb"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir></dir></dir><dir name="css"><dir name="gene"><dir name="braintree"><file name="aheadworks.css" hash="af097f350d4562bbb73c872da3d23909"/><file name="amasty.css" hash="2833339cc9735ce0437f003d65c2184f"/><file name="firecheckout.css" hash="86584668b7190226386dc4c41dfda37f"/><file name="idev.css" hash="330a5d4b5fd63a474e499e4718f0bb57"/><file name="iwd.css" hash="d21129818d313e87c6619f21d64c3733"/><file name="magestore.css" hash="b5190c300305e2e85623b2e7ba23b025"/></dir></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="Braintree"><file name="AddOn.php" hash="e8bbb6db343ba99192346b1dcbf45677"/><file name="AddOnGateway.php" hash="d8698ffe89c01fba78a8a06a2fc68122"/><file name="Address.php" hash="004d3d36d39fc6fcc3d510f4b15b1fca"/><file name="AddressGateway.php" hash="41b5a3be7bdb2fe326a49a1554e1b0c3"/><file name="AndroidPayCard.php" hash="7a1de1da0aa0733277a87b75307bb201"/><file name="ApplePayCard.php" hash="06eea10b110792c18d692e482445ffe4"/><file name="Base.php" hash="60d52fd1bef5655bcb607fba45bb4c1c"/><file name="ClientToken.php" hash="358c0a1dba687baf635db818cb7d1dac"/><file name="ClientTokenGateway.php" hash="6f2259a51415a779a072719288811c16"/><file name="CoinbaseAccount.php" hash="ee5cb6963f675a9a71293c453b128866"/><file name="Collection.php" hash="0e7d31ffcbd9780fb554186bd2c194b0"/><file name="Configuration.php" hash="cce5e6b7e215c73767127d3d8441cc8f"/><file name="CredentialsParser.php" hash="c4bb2248a33129d8523a6120ce44108b"/><file name="CreditCard.php" hash="d32b8d8e64b2d046d3d9e4f00c67f1ed"/><file name="CreditCardGateway.php" hash="0d120ed06f06fd614468d6e3f0ad22d2"/><file name="CreditCardVerification.php" hash="48d6ea546914278f4bea2fefb75e7836"/><file name="CreditCardVerificationGateway.php" hash="6a07430c9437f6e6c1516d5b4572a749"/><file name="CreditCardVerificationSearch.php" hash="18efe7d508c2bd5fea1c0e68fc26182f"/><file name="Customer.php" hash="62d0937de86f7a14a512ad66edba7569"/><file name="CustomerGateway.php" hash="1232a22dd6de6ad1446c6fbb9b0f79c3"/><file name="CustomerSearch.php" hash="8aacc83dac341cd9afec5a3deab17593"/><file name="Descriptor.php" hash="3f5db5e817280ce7f2fa18a205281ad9"/><file name="Digest.php" hash="9d12d067770f55b123b8498fce4478fa"/><file name="Disbursement.php" hash="ad122f0f33b27dfd98bcdd38ea138ae4"/><file name="DisbursementDetails.php" hash="ae632207d0982e288a83aed401c880d9"/><file name="Discount.php" hash="763b3f9cde0ff3af3e8795cac4097595"/><file name="DiscountGateway.php" hash="47796edb8ac2fa68e9af8fb8a13aacb1"/><dir name="Dispute"><file name="TransactionDetails.php" hash="7fdea673a1295055508f42286ad57f4e"/></dir><file name="Dispute.php" hash="c3a4e93fa2b3b0e20ddcb593dcdc7b2b"/><file name="EqualityNode.php" hash="cfd6aa184186233b8d6d1ec0f0e79298"/><dir name="Error"><file name="Codes.php" hash="a7f98ff690e725b7fcd198b4b22d0637"/><file name="ErrorCollection.php" hash="e28d638db56524f5bf3609fa725e6d55"/><file name="Validation.php" hash="bf4e2198300019c52ba56f16269d66ce"/><file name="ValidationErrorCollection.php" hash="9ef25d0126a0b4f6951da5334ae6f0dc"/></dir><dir name="Exception"><file name="Authentication.php" hash="f9e13654988452cca2ac5228a80adae4"/><file name="Authorization.php" hash="5f8c017c6e9fd79a556dade8e15a72e8"/><file name="Configuration.php" hash="b50f67e8ea36cff0d9f6ad718126c6fc"/><file name="DownForMaintenance.php" hash="7fd30b1f8976ed7e38b7e9fae5c20f03"/><file name="ForgedQueryString.php" hash="6884dbae1e86767834b77c821df2db62"/><file name="InvalidChallenge.php" hash="1c283a1c9dac65feb137594d0dcf0e35"/><file name="InvalidSignature.php" hash="b83f5b16735cb3a8e0a8111c4f32711e"/><file name="NotFound.php" hash="f832f771d20b381c2780eb2a572b9f44"/><file name="SSLCaFileNotFound.php" hash="e927c7307bf1761814dc8a755238070d"/><file name="SSLCertificate.php" hash="d509b6a6206bd7c5563ac142dfe3801f"/><file name="ServerError.php" hash="b4645290229ab228a257047d08ef63d7"/><file name="Unexpected.php" hash="01ea2800fb91995ec2a15aee5024611e"/><file name="UpgradeRequired.php" hash="7f40b174df891cc3b3e206d1be884a58"/><file name="ValidationsFailed.php" hash="cd2d30c69911f81b55279c3d6bf88c61"/></dir><file name="Exception.php" hash="f14c94bf67206184eb3e4e7aeb4a608a"/><file name="Gateway.php" hash="103156f5646a8193ed548405f5ac476f"/><file name="Http.php" hash="1baa32e0efcae13c4d6294d1233512a1"/><file name="Instance.php" hash="f0603b3f9213b53687e079c5621ac8f3"/><file name="IsNode.php" hash="e4b1f7bbfcbd24b1d08b97f94df592be"/><file name="KeyValueNode.php" hash="255595ec01a16906dd0c49faf67d9efb"/><file name="Merchant.php" hash="5053ebe889c854d11f2686bffdeb58be"/><dir name="MerchantAccount"><file name="AddressDetails.php" hash="1d265d864a884ebcf2504f55207cc0dd"/><file name="BusinessDetails.php" hash="3e80148bac9fda676844aa19d5b2dc28"/><file name="FundingDetails.php" hash="7368f653fcbcc3d87924447b1763e616"/><file name="IndividualDetails.php" hash="777b6f28f643e78616c7ed753a39c0cd"/></dir><file name="MerchantAccount.php" hash="496c93182d824bb2967cc9366dec1ac3"/><file name="MerchantAccountGateway.php" hash="e2073aff6f8b3c5f2e64b23b210c44f7"/><file name="MerchantGateway.php" hash="e0a2e3a28c68dac8bd082973b269ed1b"/><file name="Modification.php" hash="0abe992d4f821327f617ca883c4eb2d1"/><file name="MultipleValueNode.php" hash="92700fa03011eaa9561010b3a160449c"/><file name="MultipleValueOrTextNode.php" hash="ef06bac18e2bc40974bdc0bcb854890f"/><file name="OAuthCredentials.php" hash="e992dca9dfedb27e3d050af55971a968"/><file name="OAuthGateway.php" hash="e2e238d067f43c0f28fcb25c2de4a274"/><file name="PartialMatchNode.php" hash="370c7e0ab8a445cfeef6b19ef1755f4d"/><file name="PartnerMerchant.php" hash="bdb69ebdc75d67009710be9703a47e80"/><file name="PayPalAccount.php" hash="672a7d424f94e590c5e66a21e62d7bc2"/><file name="PayPalAccountGateway.php" hash="d73f5744ebaca6cc882c42d0e9c1a05e"/><file name="PaymentInstrumentType.php" hash="be97a30c7d8fbbb180864dc4efea71f2"/><file name="PaymentMethod.php" hash="5bc31d3e97610e7218c95aba2422cc9a"/><file name="PaymentMethodGateway.php" hash="1ce13a8b1ec93cf32b8029c55ea26fa2"/><file name="PaymentMethodNonce.php" hash="e99302e2468f55c8fb4b2ceeb1bce68e"/><file name="PaymentMethodNonceGateway.php" hash="22a0d89eee071a28b530c6be477dcc6e"/><file name="Plan.php" hash="22ab0117d462352aecb9531d4a26619e"/><file name="PlanGateway.php" hash="95e093b55ad20f8b652ee5f2fc2a0fcf"/><file name="RangeNode.php" hash="4ad9a92547423b3d54d69097114c3daf"/><file name="ResourceCollection.php" hash="8f437cb5014148c0e2f6049347ae795c"/><dir name="Result"><file name="CreditCardVerification.php" hash="7c41787025ec7cffb269f53e3ce479e2"/><file name="Error.php" hash="0e0460f1eea017bc7591e05351f51eb0"/><file name="Successful.php" hash="03f1c379fcedaef499296ab7778d1e36"/></dir><file name="RiskData.php" hash="8bef1074f9f1c50c841a7c7cf627c9cf"/><file name="SettlementBatchSummary.php" hash="388d88e8cea7bec61ee78f388fb78c2c"/><file name="SettlementBatchSummaryGateway.php" hash="bc54658b75fa0505e072331799c2d9ad"/><file name="SignatureService.php" hash="4b78d3e5897e715dcc877c5f65b3cfae"/><dir name="Subscription"><file name="StatusDetails.php" hash="29e375f02150bfd7147591f0eb27cb4f"/></dir><file name="Subscription.php" hash="cde05aa61192d5b930b57330db308835"/><file name="SubscriptionGateway.php" hash="bd1b2aa2d4d41a595463bead64ed34e0"/><file name="SubscriptionSearch.php" hash="1874ebe5cb42d7d2836617810cced1af"/><dir name="Test"><file name="CreditCardNumbers.php" hash="676a9100354eb679e7ca1e0f0d67293f"/><file name="MerchantAccount.php" hash="612e7e30cca364c0d14cbff3b54ebf3f"/><file name="Nonces.php" hash="230dc3687abaf95e9f516573b1836f4a"/><file name="TransactionAmounts.php" hash="ed9bf1f57d871542c32d11de9e031f05"/><file name="VenmoSdk.php" hash="6ce94deccd1f968596011487c7e69cc7"/></dir><file name="TextNode.php" hash="94c95ec9645de57acace2179fef7fb43"/><file name="ThreeDSecureInfo.php" hash="542550c4e03a24551d00e8aad5493035"/><dir name="Transaction"><file name="AddressDetails.php" hash="ff52a4a48248085b7ea92e992160e413"/><file name="AndroidPayCardDetails.php" hash="4dab3acc0cc35b5a6f12f95004074374"/><file name="ApplePayCardDetails.php" hash="c4dd87cd46fe7269e1bd51c867adf7cb"/><file name="CoinbaseDetails.php" hash="d19a625f8de98698b8277c25660358f0"/><file name="CreditCardDetails.php" hash="aac5eb1f5804d4f979b9c71f7b98cb36"/><file name="CustomerDetails.php" hash="e137895c646127312be44292c84a2d81"/><file name="PayPalDetails.php" hash="ede299e376bce7714838d79ca3d40842"/><file name="StatusDetails.php" hash="7c6e719c51bf13bdfd07615030100ac6"/><file name="SubscriptionDetails.php" hash="1cf1f511d1545a2e27b8d3f4bee800ca"/></dir><file name="Transaction.php" hash="09b9e7a574d304e9edebe578173f2994"/><file name="TransactionGateway.php" hash="4282d7497100c26afcd709fd77eae0bd"/><file name="TransactionSearch.php" hash="3101c79514520a1a500e4623f4ca1c32"/><file name="TransparentRedirect.php" hash="154c9850be5175a5cd1b35bdf78ae939"/><file name="TransparentRedirectGateway.php" hash="5ead181bf0d5484db5eb305efa13bec4"/><file name="UnknownPaymentMethod.php" hash="9107498774ab5bc2b25de98838736b47"/><file name="Util.php" hash="9832a44da18b97a55248cadc4bb9a4ad"/><file name="Version.php" hash="2f088b43efe46edb3262b89b7d40d051"/><file name="WebhookNotification.php" hash="4097fb57d46368d903c42bb20fbd49ca"/><file name="WebhookTesting.php" hash="c40311458bb64e37b4c08eb88df37805"/><dir name="Xml"><file name="Generator.php" hash="19f9c9b9b61d4f97f65775f527ac408d"/><file name="Parser.php" hash="c06b1ae155ac7687eaa856fac472656d"/></dir><file name="Xml.php" hash="dc69e05bea21e3d1185d45d53e4747db"/></dir><dir name="."><file name="Braintree.php" hash="424b8ccb072fda0ddf3459be6279734a"/></dir><dir name="ssl"><file name="api_braintreegateway_com.ca.crt" hash="04beb23c767547e980c76eb68c7eab15"/><file name="sandbox_braintreegateway_com.ca.crt" hash="f1b529883c7c2cbb4251658f5da7b4c9"/></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Gene_Braintree.csv" hash="00ae6dc359bc0d9c48bfc90a865232a3"/></dir></dir></target></contents>
42
  <compatible/>
43
  <dependencies><required><php><min>5.2.1</min><max>6.0.0</max></php><package><name/><channel>connect.magentocommerce.com/core</channel><min/><max/></package></required></dependencies>
44
  </package>
skin/frontend/base/default/css/gene/braintree/amasty.css CHANGED
@@ -1,9 +1,13 @@
 
 
 
 
 
1
  #paypal-label {
2
  line-height: 44px;
3
  float: left;
4
  margin-right: 12px;
5
  }
6
-
7
  #creditcard-saved-accounts td {
8
  vertical-align: middle;
9
  }
1
+ #braintree-paypal-button {
2
+ line-height: unset;
3
+ padding: 0;
4
+ float: left;
5
+ }
6
  #paypal-label {
7
  line-height: 44px;
8
  float: left;
9
  margin-right: 12px;
10
  }
 
11
  #creditcard-saved-accounts td {
12
  vertical-align: middle;
13
  }
skin/frontend/base/default/css/gene/braintree/firecheckout.css ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #paypal-complete #paypal-label {
2
+ display:-moz-inline-stack;
3
+ display:inline-block;
4
+ zoom:1;
5
+ *display:inline;
6
+ margin-right: 8px;
7
+ }
8
+ #paypal-complete #paypal-container {
9
+ display:-moz-inline-stack;
10
+ display:inline-block;
11
+ zoom:1;
12
+ *display:inline;
13
+ }
skin/frontend/base/default/css/gene/braintree/idev.css CHANGED
@@ -1,3 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  #credit-card-form .form-list {
2
  margin: 10px 0 0 0!important;
3
  padding: 0!important;
1
+ #paypal-container {
2
+ float: right;
3
+ }
4
+ #paypal-label {
5
+ line-height: 44px;
6
+ float: right;
7
+ margin-right: 12px;
8
+ }
9
+ #braintree-paypal-button {
10
+ padding: 0!important;
11
+ line-height: unset!important;
12
+ float: left!important;
13
+ }
14
  #credit-card-form .form-list {
15
  margin: 10px 0 0 0!important;
16
  padding: 0!important;
skin/frontend/base/default/css/gene/braintree/iwd.css CHANGED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ #braintree-paypal-button {
2
+ line-height: unset;
3
+ padding: 0;
4
+ float: left;
5
+ }