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 | 2.0.3 |
Comparing to | |
See all releases |
Code changes from version 2.0.2 to 2.0.3
- app/code/community/Gene/Braintree/etc/config.xml +1 -1
- app/design/frontend/base/default/layout/gene/braintree.xml +19 -0
- app/design/frontend/base/default/template/gene/braintree/js/fancycheckout.phtml +150 -0
- app/design/frontend/base/default/template/gene/braintree/js/firecheckout.phtml +0 -1
- app/design/frontend/base/default/template/gene/braintree/js/idev.phtml +1 -1
- js/gene/braintree/vzero-0.7-min.js +1 -1
- js/gene/braintree/vzero-0.7.js +51 -28
- package.xml +4 -4
- skin/frontend/base/default/css/gene/braintree/config.codekit +29 -0
- skin/frontend/base/default/css/gene/braintree/fancycheckout.css +256 -0
- skin/frontend/base/default/css/gene/braintree/integrations/fancycheckout.less +57 -0
app/code/community/Gene/Braintree/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Gene_Braintree>
|
5 |
-
<version>2.0.
|
6 |
</Gene_Braintree>
|
7 |
</modules>
|
8 |
<global>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Gene_Braintree>
|
5 |
+
<version>2.0.3</version>
|
6 |
</Gene_Braintree>
|
7 |
</modules>
|
8 |
<global>
|
app/design/frontend/base/default/layout/gene/braintree.xml
CHANGED
@@ -241,6 +241,25 @@
|
|
241 |
</reference>
|
242 |
</anattadesign_awesomecheckout_onepage_index>
|
243 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
<!-- Add in support for Magento's mutli shipping checkout -->
|
245 |
<checkout_multishipping_billing>
|
246 |
<update handle="gene_braintree_assets" />
|
241 |
</reference>
|
242 |
</anattadesign_awesomecheckout_onepage_index>
|
243 |
|
244 |
+
<!-- Support for FancyCheckout -->
|
245 |
+
<fancycheckout_index_index>
|
246 |
+
<update handle="gene_braintree_assets" />
|
247 |
+
<reference name="head">
|
248 |
+
<action method="addCss"><file>css/gene/braintree/fancycheckout.css</file></action>
|
249 |
+
</reference>
|
250 |
+
<reference name="before_body_end">
|
251 |
+
<block type="gene_braintree/js" name="gene_braintree_js" template="gene/braintree/js/fancycheckout.phtml" />
|
252 |
+
|
253 |
+
<!-- We include device data at the end of the larger form -->
|
254 |
+
<block type="gene_braintree/js" name="gene_braintree_data" template="gene/braintree/js/data.phtml">
|
255 |
+
<action method="setData">
|
256 |
+
<key>payment_form_id</key>
|
257 |
+
<value>fancycheckout_orderform</value>
|
258 |
+
</action>
|
259 |
+
</block>
|
260 |
+
</reference>
|
261 |
+
</fancycheckout_index_index>
|
262 |
+
|
263 |
<!-- Add in support for Magento's mutli shipping checkout -->
|
264 |
<checkout_multishipping_billing>
|
265 |
<update handle="gene_braintree_assets" />
|
app/design/frontend/base/default/template/gene/braintree/js/fancycheckout.phtml
ADDED
@@ -0,0 +1,150 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Add in support for FancyCheckout
|
4 |
+
* https://www.fancycheckout.com
|
5 |
+
* @author Dave Macaulay <dave@gene.co.uk>
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
<!-- FANCYCHECKOUT BRAINTREE SUPPORT -->
|
9 |
+
<script type="text/javascript">
|
10 |
+
|
11 |
+
vZeroIntegration.addMethods({
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Retrieve the payment method for the checkout
|
15 |
+
*/
|
16 |
+
getPaymentMethod: function () {
|
17 |
+
return jQuery("input[name='payment[method]']:checked").val();
|
18 |
+
},
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Retrieve the billing address from the form
|
22 |
+
*/
|
23 |
+
getBillingAddress: function () {
|
24 |
+
return this.vzero.extractBilling($('fancycheckout_orderform').serialize(true));
|
25 |
+
},
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Validate the entire checkout
|
29 |
+
*/
|
30 |
+
validateAll: function() {
|
31 |
+
return billingForm.validator.validate();
|
32 |
+
},
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Activate the loading state of this checkout
|
36 |
+
*/
|
37 |
+
setLoading: function() {
|
38 |
+
jQuery('.load_review').show();
|
39 |
+
jQuery('#checkout-review-table-wrapper').css('opacity','0.5');
|
40 |
+
},
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Reset the loading state of the checkout
|
44 |
+
*/
|
45 |
+
resetLoading: function() {
|
46 |
+
jQuery('.load_review').hide();
|
47 |
+
jQuery('#checkout-review-table-wrapper').css('opacity','');
|
48 |
+
},
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Attach an observer to the submit action of the checkout to tokenize the card details
|
52 |
+
*/
|
53 |
+
prepareSubmitObserver: function() {
|
54 |
+
|
55 |
+
// Store a pointer to the vZero integration
|
56 |
+
var vzeroIntegration = this;
|
57 |
+
|
58 |
+
// Observe the click event
|
59 |
+
$('fancycheckout_orderform').onsubmit = function (event) {
|
60 |
+
Event.stop(event);
|
61 |
+
|
62 |
+
if (vzeroIntegration.shouldInterceptSubmit('creditcard')) {
|
63 |
+
|
64 |
+
// If everything was a success on the checkout end, let's submit the vZero integration
|
65 |
+
vzeroIntegration.submit('creditcard', function () {
|
66 |
+
var form = document.getElementById('fancycheckout_orderform');
|
67 |
+
HTMLFormElement.prototype.submit.call(form);
|
68 |
+
});
|
69 |
+
|
70 |
+
} else {
|
71 |
+
var form = document.getElementById('fancycheckout_orderform');
|
72 |
+
HTMLFormElement.prototype.submit.call(form);
|
73 |
+
}
|
74 |
+
};
|
75 |
+
|
76 |
+
},
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Prepare an event to insert the PayPal button in place of the complete checkout button
|
80 |
+
*/
|
81 |
+
preparePaymentMethodSwitchObserver: function() {
|
82 |
+
|
83 |
+
var vzeroIntegration = this;
|
84 |
+
|
85 |
+
jQuery(document).ready(function ($) {
|
86 |
+
// When this checkout updates we may need to remove the PayPal button
|
87 |
+
jQuery('.opc_payment').on('click', '.payment_input', function(){
|
88 |
+
// Run our method switch function
|
89 |
+
vzeroIntegration.paymentMethodSwitch();
|
90 |
+
});
|
91 |
+
});
|
92 |
+
|
93 |
+
},
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Check to see if the "Other" option is selected and show the div correctly
|
97 |
+
*/
|
98 |
+
checkSavedOther: function () {
|
99 |
+
var parentElement = '';
|
100 |
+
var targetElement = '';
|
101 |
+
|
102 |
+
if (this.getPaymentMethod() == 'gene_braintree_creditcard') {
|
103 |
+
parentElement = '#creditcard-saved-accounts';
|
104 |
+
targetElement = '#credit-card-form';
|
105 |
+
|
106 |
+
// Correctly disable the other methods fields
|
107 |
+
jQuery('#payment_form_gene_braintree_paypal input').prop('disabled', 'disabled');
|
108 |
+
jQuery('#payment_form_gene_braintree_creditcard input').removeProp('disabled');
|
109 |
+
} else if (this.getPaymentMethod() == 'gene_braintree_paypal') {
|
110 |
+
parentElement = '#paypal-saved-accounts';
|
111 |
+
targetElement = '.paypal-info';
|
112 |
+
|
113 |
+
// Correctly disable the other methods fields
|
114 |
+
jQuery('#payment_form_gene_braintree_paypal input').removeProp('disabled');
|
115 |
+
jQuery('#payment_form_gene_braintree_creditcard input').prop('disabled', 'disabled');
|
116 |
+
}
|
117 |
+
|
118 |
+
// Only run this action if the parent element exists on the page
|
119 |
+
if ($$(parentElement).first() !== undefined) {
|
120 |
+
this.showHideOtherMethod(parentElement, targetElement);
|
121 |
+
}
|
122 |
+
},
|
123 |
+
|
124 |
+
/**
|
125 |
+
* The action to run after the PayPal action has been completed
|
126 |
+
*/
|
127 |
+
submitCheckout: function() {
|
128 |
+
var form = document.getElementById('fancycheckout_orderform');
|
129 |
+
HTMLFormElement.prototype.submit.call(form);
|
130 |
+
}
|
131 |
+
|
132 |
+
});
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Start a new instance of our integration
|
136 |
+
*
|
137 |
+
* @type {vZeroIntegration}
|
138 |
+
*/
|
139 |
+
new vZeroIntegration(
|
140 |
+
(window.vzero || false),
|
141 |
+
(window.vzeroPaypal || false),
|
142 |
+
'<div id="paypal-complete"><div id="paypal-container"></div></div>',
|
143 |
+
'#review-buttons-container .btn-checkout',
|
144 |
+
true,
|
145 |
+
{
|
146 |
+
ignoreAjax: ['amscheckoutfront/onepage/checkout']
|
147 |
+
}
|
148 |
+
);
|
149 |
+
|
150 |
+
</script>
|
app/design/frontend/base/default/template/gene/braintree/js/firecheckout.phtml
CHANGED
@@ -12,7 +12,6 @@
|
|
12 |
|
13 |
/**
|
14 |
* Validate the entire checkout
|
15 |
-
* Annoyingly IWD hasn't already wrapped this in a function
|
16 |
*/
|
17 |
validateAll: function() {
|
18 |
return checkout.validate();
|
12 |
|
13 |
/**
|
14 |
* Validate the entire checkout
|
|
|
15 |
*/
|
16 |
validateAll: function() {
|
17 |
return checkout.validate();
|
app/design/frontend/base/default/template/gene/braintree/js/idev.phtml
CHANGED
@@ -40,7 +40,7 @@
|
|
40 |
*/
|
41 |
resetLoading: function() {
|
42 |
// Grab the submit button
|
43 |
-
submitElement = $('onestepcheckout-place-order');
|
44 |
|
45 |
// Remove the loading stuff on the form
|
46 |
submitElement.addClassName('orange').removeClassName('grey');
|
40 |
*/
|
41 |
resetLoading: function() {
|
42 |
// Grab the submit button
|
43 |
+
var submitElement = $('onestepcheckout-place-order');
|
44 |
|
45 |
// Remove the loading stuff on the form
|
46 |
submitElement.addClassName('orange').removeClassName('grey');
|
js/gene/braintree/vzero-0.7-min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
var vZero=Class.create();vZero.prototype={initialize:function(e,t,i,n,a,s,o,r,d){this.code=e,this.clientToken=t,this.threeDSecure=i,this.hostedFields=n,a&&(this.billingName=a),s&&(this.billingPostcode=s),o&&(this.quoteUrl=o),r&&(this.tokenizeUrl=r),d&&(this.vaultToNonceUrl=d),this._hostedFieldsTokenGenerated=!1,this.acceptedCards=!1,this.closeMethod=!1,this._hostedFieldsTimeout=!1,this._updateDataXhr=!1,this._updateDataCallbacks=[],this._updateDataParams={},this._vaultToNonceXhr=!1},init:function(){this.client=new braintree.api.Client({clientToken:this.clientToken})},initHostedFields:function(e){return $$('iframe[name^="braintree-"]').length>0?!1:null===$("braintree-hosted-submit")?!1:(this.integration=e,this._hostedFieldsTokenGenerated=!1,clearTimeout(this._hostedFieldsTimeout),void(this._hostedFieldsTimeout=setTimeout(function(){if(this._hostedIntegration!==!1)try{this._hostedIntegration.teardown(function(){this._hostedIntegration=!1,this.setupHostedFieldsClient()}.bind(this))}catch(e){this.setupHostedFieldsClient()}else this.setupHostedFieldsClient()}.bind(this),50)))},teardownHostedFields:function(e){this._hostedIntegration!==!1?this._hostedIntegration.teardown(function(){this._hostedIntegration=!1,"function"==typeof e&&e()}.bind(this)):"function"==typeof e&&e()},setupHostedFieldsClient:function(){if($$('iframe[name^="braintree-"]').length>0)return!1;this._hostedIntegration=!1;var e={id:this.integration.form,hostedFields:{styles:this.getHostedFieldsStyles(),number:{selector:"#card-number",placeholder:"0000 0000 0000 0000"},expirationMonth:{selector:"#expiration-month",placeholder:"MM"},expirationYear:{selector:"#expiration-year",placeholder:"YY"},onFieldEvent:this.hostedFieldsOnFieldEvent.bind(this)},onReady:this.hostedFieldsOnReady.bind(this),onPaymentMethodReceived:this.hostedFieldsPaymentMethodReceived.bind(this),onError:this.hostedFieldsError.bind(this)};null!==$("cvv")&&(e.hostedFields.cvv={selector:"#cvv"}),braintree.setup(this.clientToken,"custom",e)},getHostedFieldsStyles:function(){return"function"==typeof this.integration.getHostedFieldsStyles?this.integration.getHostedFieldsStyles():{input:{"font-size":"14pt",color:"#3A3A3A"},":focus":{color:"black"},".valid":{color:"green"},".invalid":{color:"red"}}},hostedFieldsOnFieldEvent:function(e){if("fieldStateChange"===e.type&&e.card){var t={visa:"VI","american-express":"AE","master-card":"MC",discover:"DI",jcb:"JCB",maestro:"ME"};void 0!==typeof t[e.card.type]?this.updateCardType(!1,t[e.card.type]):this.updateCardType(!1,"card")}},vaultToNonce:function(nonce,callback){var parameters=this.getBillingAddress();parameters.nonce=nonce,new Ajax.Request(this.vaultToNonceUrl,{method:"post",parameters:parameters,onSuccess:function(transport){if(transport&&transport.responseText){var response;try{response=eval("("+transport.responseText+")")}catch(e){response={}}response.success&&response.nonce?callback(response.nonce):("function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),response.error?alert(response.error):alert("Something wen't wrong and we're currently unable to take your payment."))}}.bind(this),onFailure:function(){"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),alert("Something wen't wrong and we're currently unable to take your payment.")}.bind(this)})},hostedFieldsOnReady:function(e){if(this._hostedIntegration=e,$$("#credit-card-form.loading").length&&$$("#credit-card-form.loading").first().removeClassName("loading"),this.integration.submitAfterPayment){var t=new Element("input",{type:"hidden",name:"payment[submit_after_payment]",value:1,id:"braintree-submit-after-payment"});$("payment_form_gene_braintree_creditcard").insert(t)}else $("braintree-submit-after-payment")&&$("braintree-submit-after-payment").remove()},hostedFieldsPaymentMethodReceived:function(e){this.threeDSecure?("function"==typeof this.integration.setLoading&&this.integration.setLoading(),this.updateData(function(){this.vaultToNonce(e.nonce,function(e){"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),this.verify3dSecureNonce(e,{onSuccess:function(e){this.hostedFieldsNonceReceived(e.nonce)}.bind(this),onFailure:function(e,t){alert(t)}.bind(this)})}.bind(this))}.bind(this))):this.hostedFieldsNonceReceived(e.nonce)},hostedFieldsNonceReceived:function(e){$("creditcard-payment-nonce").value=e,$("creditcard-payment-nonce").setAttribute("value",e),"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),this._hostedFieldsTokenGenerated=!0,"function"==typeof this.integration.afterHostedFieldsNonceReceived&&this.integration.afterHostedFieldsNonceReceived(e)},hostedFieldsError:function(e){return"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),"undefined"!=typeof e.message&&-1==e.message.indexOf("Cannot place two elements in")&&-1==e.message.indexOf("Unable to find element with selector")&&alert(e.message),this._hostedFieldsTokenGenerated=!1,"function"==typeof this.integration.afterHostedFieldsError&&this.integration.afterHostedFieldsError(e.message),!1},usingSavedCard:function(){return void 0!=$("creditcard-saved-accounts")&&void 0!=$$("#creditcard-saved-accounts input:checked[type=radio]").first()&&"other"!==$$("#creditcard-saved-accounts input:checked[type=radio]").first().value},setThreeDSecure:function(e){this.threeDSecure=e},setAmount:function(e){this.amount=parseFloat(e)},setBillingName:function(e){this.billingName=e},getBillingName:function(){return"object"==typeof this.billingName?this.combineElementsValues(this.billingName):this.billingName},setBillingPostcode:function(e){this.billingPostcode=e},getBillingPostcode:function(){return"object"==typeof this.billingPostcode?this.combineElementsValues(this.billingPostcode):this.billingPostcode},setAcceptedCards:function(e){this.acceptedCards=e},getBillingAddress:function(){if("function"==typeof this.integration.getBillingAddress)return this.integration.getBillingAddress();var e={};return null!==$("co-billing-form")?e="FORM"==$("co-billing-form").tagName?$("co-billing-form").serialize(!0):this.extractBilling($("co-billing-form").up("form").serialize(!0)):null!==$("billing:firstname")&&(e=this.extractBilling($("billing:firstname").up("form").serialize(!0))),e?e:void 0},extractBilling:function(e){var t={};return $H(e).each(function(e){0==e.key.indexOf("billing")&&-1==e.key.indexOf("password")&&(t[e.key]=e.value)}),t},getAcceptedCards:function(){return this.acceptedCards},combineElementsValues:function(e,t){t||(t=" ");var i=[];return e.each(function(e,t){void 0!==$(e)&&(i[t]=$(e).value)}),i.join(t)},updateCardType:function(e,t){if(t||(t=this.getCardType(e)),void 0!=$("gene_braintree_creditcard_cc_type")&&("card"==t?$("gene_braintree_creditcard_cc_type").value="":$("gene_braintree_creditcard_cc_type").value=t),void 0!=$("card-type-image")){var i=$("card-type-image").src.substring(0,$("card-type-image").src.lastIndexOf("/"));$("card-type-image").setAttribute("src",i+"/"+t+".png")}},observeCardType:function(){void 0!==$$('[data-genebraintree-name="number"]').first()&&(Element.observe($$('[data-genebraintree-name="number"]').first(),"keyup",function(){vzero.updateCardType(this.value)}),$$('[data-genebraintree-name="number"]').first().oninput=function(){var e=this.value.split(" ").join("");e.length>0&&(e=e.match(new RegExp(".{1,4}","g")).join(" ")),this.value=e})},observeAjaxRequests:function(e,t){return vZero.prototype.observingAjaxRequests?!1:(vZero.prototype.observingAjaxRequests=!0,Ajax.Responders.register({onComplete:function(i){return this.handleAjaxRequest(i.url,e,t)}.bind(this)}),void(window.jQuery&&jQuery(document).ajaxComplete(function(i,n,a){return this.handleAjaxRequest(a.url,e,t)}.bind(this))))},handleAjaxRequest:function(e,t,i){if("undefined"!=typeof i&&i instanceof Array&&i.length>0){var n=!1;if(i.each(function(t){e&&-1!=e.indexOf(t)&&(n=!0)}),n===!0)return!1}e&&-1==e.indexOf("/braintree/")&&(t?t(e):this.updateData())},updateData:function(e,t){this._updateDataCallbacks.push(e),this._updateDataParams=t,this._updateDataXhr!==!1&&this._updateDataXhr.transport.abort(),this._updateDataXhr=new Ajax.Request(this.quoteUrl,{method:"post",parameters:this._updateDataParams,onSuccess:function(e){if(e&&(e.responseJSON||e.responseText)){var t;e.responseJSON&&"object"==typeof e.responseJSON?t=e.responseJSON:e.responseText&&(t=JSON.decode(e.responseText)),void 0!=t.billingName&&(this.billingName=t.billingName),void 0!=t.billingPostcode&&(this.billingPostcode=t.billingPostcode),void 0!=t.grandTotal&&(this.amount=t.grandTotal),void 0!=t.threeDSecure&&this.setThreeDSecure(t.threeDSecure),"undefined"!=typeof vzeroPaypal&&void 0!=t.grandTotal&&void 0!=t.currencyCode&&vzeroPaypal.setPricing(t.grandTotal,t.currencyCode),this._updateDataParams={},this._updateDataXhr=!1,this._updateDataCallbacks.length&&(this._updateDataCallbacks.each(function(e){e(t)}.bind(this)),this._updateDataCallbacks=[])}}.bind(this),onFailure:function(){this._updateDataParams={},this._updateDataXhr=!1,this._updateDataCallbacks=[]}.bind(this)})},close3dSecureMethod:function(e){this.closeMethod=e},tokenize3dSavedCards:function(callback){if(this.threeDSecure)if(void 0!==$$("[data-token]").first()){var tokens=[];$$("[data-token]").each(function(e,t){tokens[t]=e.getAttribute("data-token")}),new Ajax.Request(this.tokenizeUrl,{method:"post",onSuccess:function(transport){if(transport&&transport.responseText){try{response=eval("("+transport.responseText+")")}catch(e){response={}}response.success&&$H(response.tokens).each(function(e){void 0!=$$('[data-token="'+e.key+'"]').first()&&$$('[data-token="'+e.key+'"]').first().setAttribute("data-threedsecure-nonce",e.value)}),callback&&callback(response)}}.bind(this),parameters:{tokens:Object.toJSON(tokens)}})}else callback();else callback()},onUserClose3ds:function(){this._hostedFieldsTokenGenerated=!1,this.closeMethod?this.closeMethod():checkout.setLoadWaiting(!1)},verify3dSecureNonce:function(e,t){var i={amount:this.amount,creditCard:e,onUserClose:this.onUserClose3ds.bind(this)};this.client.verify3DS(i,function(e,i){e?t.onFailure&&t.onFailure(i,e.message):t.onSuccess&&t.onSuccess(i)})},verify3dSecure:function(e){var t={amount:this.amount,creditCard:{number:$$('[data-genebraintree-name="number"]').first().value,expirationMonth:$$('[data-genebraintree-name="expiration_month"]').first().value,expirationYear:$$('[data-genebraintree-name="expiration_year"]').first().value,cardholderName:this.getBillingName()},onUserClose:this.onUserClose3ds.bind(this)};void 0!=$$('[data-genebraintree-name="cvv"]').first()&&(t.creditCard.cvv=$$('[data-genebraintree-name="cvv"]').first().value),""!=this.getBillingPostcode()&&(t.creditCard.billingAddress={postalCode:this.getBillingPostcode()}),this.client.verify3DS(t,function(t,i){t?(alert(t.message),e.onFailure?e.onFailure():checkout.setLoadWaiting(!1)):($("creditcard-payment-nonce").value=i.nonce,$("creditcard-payment-nonce").setAttribute("value",i.nonce),e.onSuccess&&e.onSuccess())})},verify3dSecureVault:function(e){var t=$$("#creditcard-saved-accounts input:checked[type=radio]").first().getAttribute("data-threedsecure-nonce");t?this.client.verify3DS({amount:this.amount,creditCard:t},function(t,i){t?(alert(t.message),e.onFailure?e.onFailure():checkout.setLoadWaiting(!1)):($("creditcard-payment-nonce").removeAttribute("disabled"),$("creditcard-payment-nonce").value=i.nonce,$("creditcard-payment-nonce").setAttribute("value",i.nonce),e.onSuccess&&e.onSuccess())}):(alert("No payment nonce present."),e.onFailure?e.onFailure():checkout.setLoadWaiting(!1))},processCard:function(e){var t={number:$$('[data-genebraintree-name="number"]').first().value,cardholderName:this.getBillingName(),expirationMonth:$$('[data-genebraintree-name="expiration_month"]').first().value,expirationYear:$$('[data-genebraintree-name="expiration_year"]').first().value};void 0!=$$('[data-genebraintree-name="cvv"]').first()&&(t.cvv=$$('[data-genebraintree-name="cvv"]').first().value),""!=this.getBillingPostcode()&&(t.billingAddress={postalCode:this.getBillingPostcode()}),this.client.tokenizeCard(t,function(t,i){if(t){for(var n=0;n<t.length;n++)alert(t[n].code+" "+t[n].message);e.onFailure?e.onFailure():checkout.setLoadWaiting(!1)}else $("creditcard-payment-nonce").value=i,$("creditcard-payment-nonce").setAttribute("value",i),e.onSuccess&&e.onSuccess()})},shouldInterceptCreditCard:function(){return"0.00"!=this.amount},shouldInterceptPayPal:function(){return!0},getCardType:function(e){if(e){if(null!=e.match(/^4/))return"VI";if(null!=e.match(/^(34|37)/))return"AE";if(null!=e.match(/^5[1-5]/))return"MC";if(null!=e.match(/^6011/))return"DI";if(null!=e.match(/^(?:2131|1800|35)/))return"JCB";if(null!=e.match(/^(5018|5020|5038|6304|67[0-9]{2})/))return"ME"}return"card"},process:function(e){e=e||{},this._hostedFieldsTokenGenerated?e.onSuccess&&e.onSuccess():this.usingSavedCard()&&$$("#creditcard-saved-accounts input:checked[type=radio]").first().hasAttribute("data-threedsecure-nonce")?this.verify3dSecureVault(e):this.usingSavedCard()?e.onSuccess&&e.onSuccess():1==this.threeDSecure?this.verify3dSecure(e):this.processCard(e)},creditCardLoaded:function(){return!1},paypalLoaded:function(){return!1}};var vZeroPayPalButton=Class.create();vZeroPayPalButton.prototype={initialize:function(e,t,i,n,a){this.clientToken=e,this.storeFrontName=t,this.singleUse=i,this.locale=n,this.futureSingleUse=a,this._paypalOptions={},this._paypalIntegration=!1,this._paypalButton=!1,this._rebuildTimer=!1,this._rebuildCount=0},setPricing:function(e,t){this.amount=parseFloat(e),this.currency=t,null==$("paypal-payment-nonce")||$("paypal-payment-nonce").value||this.rebuildButton()},rebuildButton:function(){if(clearTimeout(this._rebuildTimer),this._paypalIntegration!==!1)try{this._paypalIntegration.teardown(function(){this._paypalIntegration=!1,this.addPayPalButton(this._paypalOptions)}.bind(this))}catch(e){if("Cannot teardown integration more than once"==e.message)this._paypalIntegration=!1,this.addPayPalButton(this._paypalOptions);else{if(this._rebuildCount>=10)return!1;this._rebuildTimer=setTimeout(function(){++this._rebuildCount,this.rebuildButton()}.bind(this),200)}}},addPayPalButton:function(e,t){if(null===$("paypal-container")||null===$("braintree-paypal-button"))return!1;var i=$("braintree-paypal-button").innerHTML;if($("paypal-container").update(""),$("paypal-container").insert(i),!$("paypal-container").select(">button").length)return!1;this._paypalButton=$("paypal-container").select(">button").first(),this._paypalButton.addClassName("braintree-paypal-loading"),this._paypalButton.setAttribute("disabled","disabled"),this._paypalOptions=e,this._paypalIntegration=!1;var n={paymentMethodNonceInputField:"paypal-payment-nonce",displayName:this.storeFrontName,onPaymentMethodReceived:function(t){"function"==typeof e.onSuccess?e.onSuccess(t):(payment.switchMethod("gene_braintree_paypal"),$("paypal-payment-nonce").removeAttribute("disabled"),$("paypal-complete").remove(),window.review&&review.save())},onUnsupported:function(){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.")},onReady:function(i){this._paypalIntegration=i,this._attachPayPalButtonEvent(t),"function"==typeof e.onReady&&e.onReady(i)}.bind(this),paypal:{headless:!0}};this.locale&&(n.locale=this.locale),1==this.singleUse?(n.singleUse=!0,n.amount=this.amount,n.currency=this.currency):1==this.futureSingleUse?n.singleUse=!0:n.singleUse=!1,braintree.setup(this.clientToken,"paypal",n)},_attachPayPalButtonEvent:function(e){this._paypalIntegration&&this._paypalButton&&(this._paypalButton.removeClassName("braintree-paypal-loading"),this._paypalButton.removeAttribute("disabled"),Event.stopObserving(this._paypalButton,"click"),Event.observe(this._paypalButton,"click",function(t){Event.stop(t),"object"==typeof e&&"function"==typeof e.validateAll?e.validateAll()&&this._paypalIntegration.paypal.initAuthFlow():this._paypalIntegration.paypal.initAuthFlow()}.bind(this)))},closePayPalWindow:function(e){}};var vZeroIntegration=Class.create();vZeroIntegration.prototype={initialize:function(e,t,i,n,a,s,o){return vZeroIntegration.prototype.loaded?(console.error("Your checkout is including the Braintree resources multiple times, please resolve this."),!1):(vZeroIntegration.prototype.loaded=!0,this.vzero=e||!1,this.vzeroPaypal=t||!1,this.vzero===!1&&this.vzeroPaypal===!1?(console.warn("The vzero and vzeroPaypal objects are not initiated."),!1):(this.paypalMarkUp=i||!1,this.paypalButtonClass=n||!1,this.isOnepage=a||!1,this.config=s||{},this.submitAfterPayment=o||!1,this._methodSwitchTimeout=!1,this._hostedFieldsInit=!1,document.observe("dom:loaded",function(){this.prepareSubmitObserver(),this.preparePaymentMethodSwitchObserver()}.bind(this)),this.hostedFieldsGenerated=!1,this.vzero.close3dSecureMethod(function(){this.vzero._hostedFieldsValidationRunning=!1,this.vzero.tokenize3dSavedCards(function(){this.threeDTokenizationComplete()}.bind(this))}.bind(this)),this.isOnepage&&(this.vzero.observeCardType(),this.observeAjaxRequests(),document.observe("dom:loaded",function(){this.initSavedPayPal(),this.initDefaultMethod(),null!==$("braintree-hosted-submit")&&this.initHostedFields()}.bind(this))),void document.observe("dom:loaded",function(){this.initSavedMethods(),null!==$("braintree-hosted-submit")&&this.initHostedFields()}.bind(this))))},initSavedMethods:function(){$$('#creditcard-saved-accounts input[type="radio"], #paypal-saved-accounts input[type="radio"]').each(function(e){var t="",i="";void 0!==e.up("#creditcard-saved-accounts")?(t="#creditcard-saved-accounts",i="#credit-card-form"):void 0!==e.up("#paypal-saved-accounts")&&(t="#paypal-saved-accounts",i=".paypal-info"),$(e).stopObserving("change").observe("change",function(e){return this.showHideOtherMethod(t,i)}.bind(this))}.bind(this))},showHideOtherMethod:function(e,t){void 0!==$$(e+" input:checked[type=radio]").first()&&"other"==$$(e+" input:checked[type=radio]").first().value?void 0!==$$(t).first()&&($$(t).first().show(),$$(t+" input, "+t+" select").each(function(e){e.removeAttribute("disabled")})):void 0!==$$(e+" input:checked[type=radio]").first()&&void 0!==$$(t).first()&&($$(t).first().hide(),$$(t+" input, "+t+" select").each(function(e){e.setAttribute("disabled","disabled")}))},checkSavedOther:function(){var e="",t="";"gene_braintree_creditcard"==this.getPaymentMethod()?(e="#creditcard-saved-accounts",t="#credit-card-form"):"gene_braintree_paypal"==this.getPaymentMethod()&&(e="#paypal-saved-accounts",t=".paypal-info"),void 0!==$$(e).first()&&this.showHideOtherMethod(e,t)},initHostedFields:function(){this.vzero.hostedFields&&null!==$("braintree-hosted-submit")&&(void 0!==$("braintree-hosted-submit").up("form")?(this._hostedFieldsInit=!0,this.form=$("braintree-hosted-submit").up("form"),this.vzero.initHostedFields(this)):console.error("Hosted Fields cannot be initialized as we're unable to locate the parent form."))},afterHostedFieldsNonceReceived:function(e){return this.resetLoading(),this.vzero._hostedFieldsTokenGenerated=!0,this.hostedFieldsGenerated=!0,this.isOnepage||this.submitAfterPayment?this.submitCheckout():this.submitPayment()},afterHostedFieldsError:function(e){return this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,!1},initDefaultMethod:function(){this.shouldAddPayPalButton(!1)&&(this.setLoading(),this.vzero.updateData(function(){this.resetLoading(),this.updatePayPalButton("add")}.bind(this)))},observeAjaxRequests:function(){this.vzero.observeAjaxRequests(function(){this.vzero.updateData(function(){this.isOnepage&&(this.initSavedPayPal(),this.rebuildPayPalButton(),this.checkSavedOther(),this.vzero.hostedFields&&this.initHostedFields()),this.initSavedMethods()}.bind(this))}.bind(this),"undefined"!=typeof this.config.ignoreAjax?this.config.ignoreAjax:!1)},rebuildPayPalButton:function(){null==$("paypal-container")&&this.updatePayPalButton()},initSavedPayPal:function(){void 0!==$$("#paypal-saved-accounts input[type=radio]").first()&&$("paypal-saved-accounts").on("change","input[type=radio]",function(e){this.updatePayPalButton(!1,"gene_braintree_paypal")}.bind(this))},prepareSubmitObserver:function(){return!1},beforeSubmit:function(e){return this._beforeSubmit(e)},_beforeSubmit:function(e){if(this.hostedFieldsGenerated===!1&&this.vzero.hostedFields&&(void 0===$$("#creditcard-saved-accounts input:checked[type=radio]").first()||void 0!==$$("#creditcard-saved-accounts input:checked[type=radio]").first()&&"other"==$$("#creditcard-saved-accounts input:checked[type=radio]").first().value)){var t=$("braintree-hosted-submit").down("button");t.removeAttribute("disabled"),t.click()}else e();this.submitAfterPayment&&$("braintree-submit-after-payment")&&$("braintree-submit-after-payment").remove()},afterSubmit:function(){return!1},submit:function(e,t,i,n){this.shouldInterceptSubmit(e)&&(this.validateAll()?(this.setLoading(),this.beforeSubmit(function(){void 0!=$$('[data-genebraintree-name="number"]').first()&&this.vzero.updateCardType($$('[data-genebraintree-name="number"]').first().value),this.vzero.updateData(function(){this.updateBilling(),this.vzero.process({onSuccess:function(){if(this.enableDeviceData(),this.disableCreditCardForm(),this.resetLoading(),this.afterSubmit(),this.enableDisableNonce(),this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,"function"==typeof t)var e=t();return this.setLoading(),this.enableCreditCardForm(),e}.bind(this),onFailure:function(){return this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,this.resetLoading(),this.afterSubmit(),"function"==typeof i?i():void 0}.bind(this)})}.bind(this),this.getUpdateDataParams())}.bind(this))):(this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,this.resetLoading(),"function"==typeof n&&n()))},submitCheckout:function(){window.review&&review.save()},submitPayment:function(){payment.save&&payment.save()},enableDisableNonce:function(){"gene_braintree_creditcard"==this.getPaymentMethod()?(null!==$("creditcard-payment-nonce")&&$("creditcard-payment-nonce").removeAttribute("disabled"),null!==$("paypal-payment-nonce")&&$("paypal-payment-nonce").setAttribute("disabled","disabled")):"gene_braintree_paypal"==this.getPaymentMethod()&&(null!==$("creditcard-payment-nonce")&&$("creditcard-payment-nonce").setAttribute("disabled","disabled"),null!==$("paypal-payment-nonce")&&$("paypal-payment-nonce").removeAttribute("disabled"))},preparePaymentMethodSwitchObserver:function(){return this.defaultPaymentMethodSwitch()},defaultPaymentMethodSwitch:function(){var e=this,t=Payment.prototype.switchMethod;Payment.prototype.switchMethod=function(i){return e.paymentMethodSwitch(i),t.apply(this,arguments)}},paymentMethodSwitch:function(e){clearTimeout(this._methodSwitchTimeout),this._methodSwitchTimeout=setTimeout(function(){this.shouldAddPayPalButton(e)?this.updatePayPalButton("add",e):this.updatePayPalButton("remove",e),"gene_braintree_creditcard"==(e?e:this.getPaymentMethod())&&this.initHostedFields(),this.checkSavedOther()}.bind(this),50)},completePayPal:function(e){return this.enableDisableNonce(),this.enableDeviceData(),e.nonce&&null!==$("paypal-payment-nonce")?($("paypal-payment-nonce").value=e.nonce,$("paypal-payment-nonce").setAttribute("value",e.nonce)):console.warn("Unable to update PayPal nonce, please verify that the nonce input field has the ID: paypal-payment-nonce"),this.afterPayPalComplete(),!1},afterPayPalComplete:function(){return this.resetLoading(),this.submitCheckout()},updatePayPalButton:function(e,t){if(this.paypalMarkUp===!1)return!1;if("refresh"==e)return this.updatePayPalButton("remove"),this.updatePayPalButton("add"),!0;if(this.shouldAddPayPalButton(t)&&"remove"!=e||"add"==e)if(void 0!==$$(this.paypalButtonClass).first()){if(void 0!==$$("#paypal-complete").first()&&$$("#paypal-complete").first().visible())return!0;$$(this.paypalButtonClass).first().hide(),$$(this.paypalButtonClass).first().insert({after:this.paypalMarkUp});var i={onSuccess:this.completePayPal.bind(this),onReady:this.paypalOnReady.bind(this)};this.vzeroPaypal.addPayPalButton(i,this)}else console.warn("We're unable to find the element "+this.paypalButtonClass+". Please check your integration.");else void 0!==$$(this.paypalButtonClass).first()&&$$(this.paypalButtonClass).first().show(),void 0!==$$("#paypal-complete").first()&&$("paypal-complete").remove()},paypalOnReady:function(e){return!0},setLoading:function(){checkout.setLoadWaiting("payment")},resetLoading:function(){checkout.setLoadWaiting(!1)},enableDeviceData:function(){null!==$("device_data")&&$("device_data").removeAttribute("disabled")},disableCreditCardForm:function(){$$("#credit-card-form input, #credit-card-form select").each(function(e){"creditcard-payment-nonce"!=e.id&&"gene_braintree_creditcard_store_in_vault"!=e.id&&e.setAttribute("disabled","disabled")})},enableCreditCardForm:function(){$$("#credit-card-form input, #credit-card-form select").each(function(e){e.removeAttribute("disabled")})},updateBilling:function(){(null!==$("billing-address-select")&&""==$("billing-address-select").value||null===$("billing-address-select"))&&(null!==$("billing:firstname")&&null!==$("billing:lastname")&&this.vzero.setBillingName($("billing:firstname").value+" "+$("billing:lastname").value),null!==$("billing:postcode")&&this.vzero.setBillingPostcode($("billing:postcode").value))},getUpdateDataParams:function(){var e={};return null!==$("billing-address-select")&&""!=$("billing-address-select").value&&(e.addressId=$("billing-address-select").value),e},getPaymentMethod:function(){return payment.currentMethod},shouldInterceptSubmit:function(e){switch(e){case"creditcard":return"gene_braintree_creditcard"==this.getPaymentMethod()&&this.vzero.shouldInterceptCreditCard();break;case"paypal":return"gene_braintree_paypal"==this.getPaymentMethod()&&this.vzero.shouldInterceptCreditCard()}return!1},shouldAddPayPalButton:function(e){return"gene_braintree_paypal"==(e?e:this.getPaymentMethod())&&null===$("paypal-saved-accounts")||"gene_braintree_paypal"==(e?e:this.getPaymentMethod())&&void 0!==$$("#paypal-saved-accounts input:checked[type=radio]").first()&&"other"==$$("#paypal-saved-accounts input:checked[type=radio]").first().value},threeDTokenizationComplete:function(){this.resetLoading()},validateAll:function(){return!0}},function(){for(var e,t=function(){},i=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],n=i.length,a=window.console=window.console||{};n--;)e=i[n],a[e]||(a[e]=t)}();
|
1 |
+
var vZero=Class.create();vZero.prototype={initialize:function(e,t,i,n,a,s,o,r,d){this.code=e,this.clientToken=t,this.threeDSecure=i,this.hostedFields=n,a&&(this.billingName=a),s&&(this.billingPostcode=s),o&&(this.quoteUrl=o),r&&(this.tokenizeUrl=r),d&&(this.vaultToNonceUrl=d),this._hostedFieldsTokenGenerated=!1,this.acceptedCards=!1,this.closeMethod=!1,this._hostedFieldsTimeout=!1,this._updateDataXhr=!1,this._updateDataCallbacks=[],this._updateDataParams={},this._vaultToNonceXhr=!1},init:function(){this.client=new braintree.api.Client({clientToken:this.clientToken})},initHostedFields:function(e){return $$('iframe[name^="braintree-"]').length>0?!1:null===$("braintree-hosted-submit")?!1:(this.integration=e,this._hostedFieldsTokenGenerated=!1,clearTimeout(this._hostedFieldsTimeout),void(this._hostedFieldsTimeout=setTimeout(function(){if(this._hostedIntegration!==!1)try{this._hostedIntegration.teardown(function(){this._hostedIntegration=!1,this.setupHostedFieldsClient()}.bind(this))}catch(e){this.setupHostedFieldsClient()}else this.setupHostedFieldsClient()}.bind(this),50)))},teardownHostedFields:function(e){"undefined"!=typeof this._hostedIntegration&&this._hostedIntegration!==!1?this._hostedIntegration.teardown(function(){this._hostedIntegration=!1,"function"==typeof e&&e()}.bind(this)):"function"==typeof e&&e()},setupHostedFieldsClient:function(){if($$('iframe[name^="braintree-"]').length>0)return!1;this._hostedIntegration=!1;var e={id:this.integration.form,hostedFields:{styles:this.getHostedFieldsStyles(),number:{selector:"#card-number",placeholder:"0000 0000 0000 0000"},expirationMonth:{selector:"#expiration-month",placeholder:"MM"},expirationYear:{selector:"#expiration-year",placeholder:"YY"},onFieldEvent:this.hostedFieldsOnFieldEvent.bind(this)},onReady:this.hostedFieldsOnReady.bind(this),onPaymentMethodReceived:this.hostedFieldsPaymentMethodReceived.bind(this),onError:this.hostedFieldsError.bind(this)};null!==$("cvv")&&(e.hostedFields.cvv={selector:"#cvv"}),braintree.setup(this.clientToken,"custom",e)},getHostedFieldsStyles:function(){return"function"==typeof this.integration.getHostedFieldsStyles?this.integration.getHostedFieldsStyles():{input:{"font-size":"14pt",color:"#3A3A3A"},":focus":{color:"black"},".valid":{color:"green"},".invalid":{color:"red"}}},hostedFieldsOnFieldEvent:function(e){if("fieldStateChange"===e.type&&e.card){var t={visa:"VI","american-express":"AE","master-card":"MC",discover:"DI",jcb:"JCB",maestro:"ME"};void 0!==typeof t[e.card.type]?this.updateCardType(!1,t[e.card.type]):this.updateCardType(!1,"card")}},vaultToNonce:function(e,t){var i=this.getBillingAddress();i.nonce=e,new Ajax.Request(this.vaultToNonceUrl,{method:"post",parameters:i,onSuccess:function(e){if(e&&(e.responseJSON||e.responseText)){var i=this._parseTransportAsJson(e);i.success&&i.nonce?t(i.nonce):("function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),i.error?alert(i.error):alert("Something wen't wrong and we're currently unable to take your payment."))}}.bind(this),onFailure:function(){"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),alert("Something wen't wrong and we're currently unable to take your payment.")}.bind(this)})},hostedFieldsOnReady:function(e){if(this._hostedIntegration=e,$$("#credit-card-form.loading").length&&$$("#credit-card-form.loading").first().removeClassName("loading"),this.integration.submitAfterPayment){var t=new Element("input",{type:"hidden",name:"payment[submit_after_payment]",value:1,id:"braintree-submit-after-payment"});$("payment_form_gene_braintree_creditcard").insert(t)}else $("braintree-submit-after-payment")&&$("braintree-submit-after-payment").remove()},hostedFieldsPaymentMethodReceived:function(e){this.threeDSecure?("function"==typeof this.integration.setLoading&&this.integration.setLoading(),this.updateData(function(){this.vaultToNonce(e.nonce,function(e){"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),this.verify3dSecureNonce(e,{onSuccess:function(e){this.hostedFieldsNonceReceived(e.nonce)}.bind(this),onFailure:function(e,t){alert(t)}.bind(this)})}.bind(this))}.bind(this))):this.hostedFieldsNonceReceived(e.nonce)},hostedFieldsNonceReceived:function(e){$("creditcard-payment-nonce").value=e,$("creditcard-payment-nonce").setAttribute("value",e),"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),this._hostedFieldsTokenGenerated=!0,"function"==typeof this.integration.afterHostedFieldsNonceReceived&&this.integration.afterHostedFieldsNonceReceived(e)},hostedFieldsError:function(e){return"function"==typeof this.integration.resetLoading&&this.integration.resetLoading(),"undefined"!=typeof e.message&&-1==e.message.indexOf("Cannot place two elements in")&&-1==e.message.indexOf("Unable to find element with selector")&&-1==e.message.indexOf("User did not enter a payment method")&&alert(e.message),this._hostedFieldsTokenGenerated=!1,"function"==typeof this.integration.afterHostedFieldsError&&this.integration.afterHostedFieldsError(e.message),!1},usingSavedCard:function(){return void 0!=$("creditcard-saved-accounts")&&void 0!=$$("#creditcard-saved-accounts input:checked[type=radio]").first()&&"other"!==$$("#creditcard-saved-accounts input:checked[type=radio]").first().value},setThreeDSecure:function(e){this.threeDSecure=e},setAmount:function(e){this.amount=parseFloat(e)},setBillingName:function(e){this.billingName=e},getBillingName:function(){return"object"==typeof this.billingName?this.combineElementsValues(this.billingName):this.billingName},setBillingPostcode:function(e){this.billingPostcode=e},getBillingPostcode:function(){return"object"==typeof this.billingPostcode?this.combineElementsValues(this.billingPostcode):this.billingPostcode},setAcceptedCards:function(e){this.acceptedCards=e},getBillingAddress:function(){if("function"==typeof this.integration.getBillingAddress)return this.integration.getBillingAddress();var e={};return null!==$("co-billing-form")?e="FORM"==$("co-billing-form").tagName?$("co-billing-form").serialize(!0):this.extractBilling($("co-billing-form").up("form").serialize(!0)):null!==$("billing:firstname")&&(e=this.extractBilling($("billing:firstname").up("form").serialize(!0))),e?e:void 0},extractBilling:function(e){var t={};return $H(e).each(function(e){0==e.key.indexOf("billing")&&-1==e.key.indexOf("password")&&(t[e.key]=e.value)}),t},getAcceptedCards:function(){return this.acceptedCards},combineElementsValues:function(e,t){t||(t=" ");var i=[];return e.each(function(e,t){void 0!==$(e)&&(i[t]=$(e).value)}),i.join(t)},updateCardType:function(e,t){if(t||(t=this.getCardType(e)),void 0!=$("gene_braintree_creditcard_cc_type")&&("card"==t?$("gene_braintree_creditcard_cc_type").value="":$("gene_braintree_creditcard_cc_type").value=t),void 0!=$("card-type-image")){var i=$("card-type-image").src.substring(0,$("card-type-image").src.lastIndexOf("/"));$("card-type-image").setAttribute("src",i+"/"+t+".png")}},observeCardType:function(){void 0!==$$('[data-genebraintree-name="number"]').first()&&(Element.observe($$('[data-genebraintree-name="number"]').first(),"keyup",function(){vzero.updateCardType(this.value)}),$$('[data-genebraintree-name="number"]').first().oninput=function(){var e=this.value.split(" ").join("");e.length>0&&(e=e.match(new RegExp(".{1,4}","g")).join(" ")),this.value=e})},observeAjaxRequests:function(e,t){return vZero.prototype.observingAjaxRequests?!1:(vZero.prototype.observingAjaxRequests=!0,Ajax.Responders.register({onComplete:function(i){return this.handleAjaxRequest(i.url,e,t)}.bind(this)}),void(window.jQuery&&jQuery(document).ajaxComplete(function(i,n,a){return this.handleAjaxRequest(a.url,e,t)}.bind(this))))},handleAjaxRequest:function(e,t,i){if("undefined"!=typeof i&&i instanceof Array&&i.length>0){var n=!1;if(i.each(function(t){e&&-1!=e.indexOf(t)&&(n=!0)}),n===!0)return!1}e&&-1==e.indexOf("/braintree/")&&(t?t(e):this.updateData())},updateData:function(e,t){this._updateDataCallbacks.push(e),this._updateDataParams=t,this._updateDataXhr!==!1&&this._updateDataXhr.transport.abort(),this._updateDataXhr=new Ajax.Request(this.quoteUrl,{method:"post",parameters:this._updateDataParams,onSuccess:function(e){if(e&&(e.responseJSON||e.responseText)){var t=this._parseTransportAsJson(e);void 0!=t.billingName&&(this.billingName=t.billingName),void 0!=t.billingPostcode&&(this.billingPostcode=t.billingPostcode),void 0!=t.grandTotal&&(this.amount=t.grandTotal),void 0!=t.threeDSecure&&this.setThreeDSecure(t.threeDSecure),"undefined"!=typeof vzeroPaypal&&void 0!=t.grandTotal&&void 0!=t.currencyCode&&vzeroPaypal.setPricing(t.grandTotal,t.currencyCode),this._updateDataParams={},this._updateDataXhr=!1,this._updateDataCallbacks.length&&(this._updateDataCallbacks.each(function(e){e(t)}.bind(this)),this._updateDataCallbacks=[])}}.bind(this),onFailure:function(){this._updateDataParams={},this._updateDataXhr=!1,this._updateDataCallbacks=[]}.bind(this)})},close3dSecureMethod:function(e){this.closeMethod=e},tokenize3dSavedCards:function(e){if(this.threeDSecure)if(void 0!==$$("[data-token]").first()){var t=[];$$("[data-token]").each(function(e,i){t[i]=e.getAttribute("data-token")}),new Ajax.Request(this.tokenizeUrl,{method:"post",onSuccess:function(t){if(t&&(t.responseJSON||t.responseText)){var i=this._parseTransportAsJson(t);i.success&&$H(i.tokens).each(function(e){void 0!=$$('[data-token="'+e.key+'"]').first()&&$$('[data-token="'+e.key+'"]').first().setAttribute("data-threedsecure-nonce",e.value)}),e&&e(i)}}.bind(this),parameters:{tokens:Object.toJSON(t)}})}else e();else e()},onUserClose3ds:function(){this._hostedFieldsTokenGenerated=!1,this.closeMethod?this.closeMethod():checkout.setLoadWaiting(!1)},verify3dSecureNonce:function(e,t){var i={amount:this.amount,creditCard:e,onUserClose:this.onUserClose3ds.bind(this)};this.client.verify3DS(i,function(e,i){e?t.onFailure&&t.onFailure(i,e.message):t.onSuccess&&t.onSuccess(i)})},verify3dSecure:function(e){var t={amount:this.amount,creditCard:{number:$$('[data-genebraintree-name="number"]').first().value,expirationMonth:$$('[data-genebraintree-name="expiration_month"]').first().value,expirationYear:$$('[data-genebraintree-name="expiration_year"]').first().value,cardholderName:this.getBillingName()},onUserClose:this.onUserClose3ds.bind(this)};void 0!=$$('[data-genebraintree-name="cvv"]').first()&&(t.creditCard.cvv=$$('[data-genebraintree-name="cvv"]').first().value),""!=this.getBillingPostcode()&&(t.creditCard.billingAddress={postalCode:this.getBillingPostcode()}),this.client.verify3DS(t,function(t,i){t?(alert(t.message),e.onFailure?e.onFailure():checkout.setLoadWaiting(!1)):($("creditcard-payment-nonce").value=i.nonce,$("creditcard-payment-nonce").setAttribute("value",i.nonce),e.onSuccess&&e.onSuccess())})},verify3dSecureVault:function(e){var t=$$("#creditcard-saved-accounts input:checked[type=radio]").first().getAttribute("data-threedsecure-nonce");t?this.client.verify3DS({amount:this.amount,creditCard:t},function(t,i){t?(alert(t.message),e.onFailure?e.onFailure():checkout.setLoadWaiting(!1)):($("creditcard-payment-nonce").removeAttribute("disabled"),$("creditcard-payment-nonce").value=i.nonce,$("creditcard-payment-nonce").setAttribute("value",i.nonce),e.onSuccess&&e.onSuccess())}):(alert("No payment nonce present."),e.onFailure?e.onFailure():checkout.setLoadWaiting(!1))},processCard:function(e){var t={number:$$('[data-genebraintree-name="number"]').first().value,cardholderName:this.getBillingName(),expirationMonth:$$('[data-genebraintree-name="expiration_month"]').first().value,expirationYear:$$('[data-genebraintree-name="expiration_year"]').first().value};void 0!=$$('[data-genebraintree-name="cvv"]').first()&&(t.cvv=$$('[data-genebraintree-name="cvv"]').first().value),""!=this.getBillingPostcode()&&(t.billingAddress={postalCode:this.getBillingPostcode()}),this.client.tokenizeCard(t,function(t,i){if(t){for(var n=0;n<t.length;n++)alert(t[n].code+" "+t[n].message);e.onFailure?e.onFailure():checkout.setLoadWaiting(!1)}else $("creditcard-payment-nonce").value=i,$("creditcard-payment-nonce").setAttribute("value",i),e.onSuccess&&e.onSuccess()})},shouldInterceptCreditCard:function(){return"0.00"!=this.amount},shouldInterceptPayPal:function(){return!0},getCardType:function(e){if(e){if(null!=e.match(/^4/))return"VI";if(null!=e.match(/^(34|37)/))return"AE";if(null!=e.match(/^5[1-5]/))return"MC";if(null!=e.match(/^6011/))return"DI";if(null!=e.match(/^(?:2131|1800|35)/))return"JCB";if(null!=e.match(/^(5018|5020|5038|6304|67[0-9]{2})/))return"ME"}return"card"},process:function(e){e=e||{},this._hostedFieldsTokenGenerated?e.onSuccess&&e.onSuccess():this.usingSavedCard()&&$$("#creditcard-saved-accounts input:checked[type=radio]").first().hasAttribute("data-threedsecure-nonce")?this.verify3dSecureVault(e):this.usingSavedCard()?e.onSuccess&&e.onSuccess():1==this.threeDSecure?this.verify3dSecure(e):this.processCard(e)},creditCardLoaded:function(){return!1},paypalLoaded:function(){return!1},_parseTransportAsJson:function(transport){return transport.responseJSON&&"object"==typeof transport.responseJSON?transport.responseJSON:transport.responseText?"object"==typeof JSON&&"function"==typeof JSON.parse?JSON.parse(transport.responseText):eval("("+transport.responseText+")"):{}}};var vZeroPayPalButton=Class.create();vZeroPayPalButton.prototype={initialize:function(e,t,i,n,a){this.clientToken=e,this.storeFrontName=t,this.singleUse=i,this.locale=n,this.futureSingleUse=a,this._paypalOptions={},this._paypalIntegration=!1,this._paypalButton=!1,this._rebuildTimer=!1,this._rebuildCount=0,this.integration=!1},setPricing:function(e,t){this.amount=parseFloat(e),this.currency=t,null==$("paypal-payment-nonce")||$("paypal-payment-nonce").value||this.rebuildButton()},rebuildButton:function(){if(clearTimeout(this._rebuildTimer),this._paypalIntegration!==!1)try{this._paypalIntegration.teardown(function(){this._paypalIntegration=!1,this.addPayPalButton(this._paypalOptions)}.bind(this))}catch(e){if("Cannot teardown integration more than once"==e.message)this._paypalIntegration=!1,this.addPayPalButton(this._paypalOptions);else{if(this._rebuildCount>=10)return!1;this._rebuildTimer=setTimeout(function(){++this._rebuildCount,this.rebuildButton()}.bind(this),200)}}},addPayPalButton:function(e,t){if(this.integration||"object"!=typeof t||(this.integration=t),null===$("paypal-container")||null===$("braintree-paypal-button"))return!1;var i=$("braintree-paypal-button").innerHTML;if($("paypal-container").update(""),$("paypal-container").insert(i),!$("paypal-container").select(">button").length)return!1;this._paypalButton=$("paypal-container").select(">button").first(),this._paypalButton.addClassName("braintree-paypal-loading"),this._paypalButton.setAttribute("disabled","disabled"),this._paypalOptions=e,this._paypalIntegration=!1;var n={paymentMethodNonceInputField:"paypal-payment-nonce",displayName:this.storeFrontName,onPaymentMethodReceived:function(t){"function"==typeof e.onSuccess?e.onSuccess(t):(payment.switchMethod("gene_braintree_paypal"),$("paypal-payment-nonce").removeAttribute("disabled"),$("paypal-complete").remove(),window.review&&review.save())},onUnsupported:function(){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.")},onReady:function(t){this._paypalIntegration=t,this._attachPayPalButtonEvent(),"function"==typeof e.onReady&&e.onReady(t)}.bind(this),paypal:{headless:!0}};this.locale&&(n.locale=this.locale),1==this.singleUse?(n.singleUse=!0,n.amount=this.amount,n.currency=this.currency):1==this.futureSingleUse?n.singleUse=!0:n.singleUse=!1,braintree.setup(this.clientToken,"paypal",n)},_attachPayPalButtonEvent:function(e){this._paypalIntegration&&this._paypalButton&&(this._paypalButton.removeClassName("braintree-paypal-loading"),this._paypalButton.removeAttribute("disabled"),Event.stopObserving(this._paypalButton,"click"),Event.observe(this._paypalButton,"click",function(e){Event.stop(e),"object"==typeof this.integration&&"function"==typeof this.integration.validateAll?this.integration.validateAll()&&this._paypalIntegration.paypal.initAuthFlow():this._paypalIntegration.paypal.initAuthFlow()}.bind(this)))},closePayPalWindow:function(e){}};var vZeroIntegration=Class.create();vZeroIntegration.prototype={initialize:function(e,t,i,n,a,s,o){return vZeroIntegration.prototype.loaded?(console.error("Your checkout is including the Braintree resources multiple times, please resolve this."),!1):(vZeroIntegration.prototype.loaded=!0,this.vzero=e||!1,this.vzeroPaypal=t||!1,this.vzero===!1&&this.vzeroPaypal===!1?(console.warn("The vzero and vzeroPaypal objects are not initiated."),!1):(this.paypalMarkUp=i||!1,this.paypalButtonClass=n||!1,this.isOnepage=a||!1,this.config=s||{},this.submitAfterPayment=o||!1,this._methodSwitchTimeout=!1,this._hostedFieldsInit=!1,document.observe("dom:loaded",function(){this.prepareSubmitObserver(),this.preparePaymentMethodSwitchObserver()}.bind(this)),this.hostedFieldsGenerated=!1,this.vzero.close3dSecureMethod(function(){this.vzero._hostedFieldsValidationRunning=!1,this.vzero.tokenize3dSavedCards(function(){this.threeDTokenizationComplete()}.bind(this))}.bind(this)),this.isOnepage&&(this.vzero.observeCardType(),this.observeAjaxRequests(),document.observe("dom:loaded",function(){this.initSavedPayPal(),this.initDefaultMethod(),null!==$("braintree-hosted-submit")&&this.initHostedFields()}.bind(this))),void document.observe("dom:loaded",function(){this.initSavedMethods(),null!==$("braintree-hosted-submit")&&this.initHostedFields()}.bind(this))))},initSavedMethods:function(){$$('#creditcard-saved-accounts input[type="radio"], #paypal-saved-accounts input[type="radio"]').each(function(e){var t="",i="";void 0!==e.up("#creditcard-saved-accounts")?(t="#creditcard-saved-accounts",i="#credit-card-form"):void 0!==e.up("#paypal-saved-accounts")&&(t="#paypal-saved-accounts",i=".paypal-info"),$(e).stopObserving("change").observe("change",function(e){return this.showHideOtherMethod(t,i)}.bind(this))}.bind(this))},showHideOtherMethod:function(e,t){void 0!==$$(e+" input:checked[type=radio]").first()&&"other"==$$(e+" input:checked[type=radio]").first().value?void 0!==$$(t).first()&&($$(t).first().show(),$$(t+" input, "+t+" select").each(function(e){e.removeAttribute("disabled")})):void 0!==$$(e+" input:checked[type=radio]").first()&&void 0!==$$(t).first()&&($$(t).first().hide(),$$(t+" input, "+t+" select").each(function(e){e.setAttribute("disabled","disabled")}))},checkSavedOther:function(){var e="",t="";"gene_braintree_creditcard"==this.getPaymentMethod()?(e="#creditcard-saved-accounts",t="#credit-card-form"):"gene_braintree_paypal"==this.getPaymentMethod()&&(e="#paypal-saved-accounts",t=".paypal-info"),void 0!==$$(e).first()&&this.showHideOtherMethod(e,t)},initHostedFields:function(){this.vzero.hostedFields&&null!==$("braintree-hosted-submit")&&(void 0!==$("braintree-hosted-submit").up("form")?(this._hostedFieldsInit=!0,this.form=$("braintree-hosted-submit").up("form"),this.vzero.initHostedFields(this)):console.error("Hosted Fields cannot be initialized as we're unable to locate the parent form."))},afterHostedFieldsNonceReceived:function(e){return this.resetLoading(),this.vzero._hostedFieldsTokenGenerated=!0,this.hostedFieldsGenerated=!0,this.isOnepage||this.submitAfterPayment?this.submitCheckout():this.submitPayment()},afterHostedFieldsError:function(e){return this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,!1},initDefaultMethod:function(){this.shouldAddPayPalButton(!1)&&(this.setLoading(),this.vzero.updateData(function(){this.resetLoading(),this.updatePayPalButton("add")}.bind(this)))},observeAjaxRequests:function(){this.vzero.observeAjaxRequests(function(){this.vzero.updateData(function(){this.isOnepage&&(this.initSavedPayPal(),this.rebuildPayPalButton(),this.checkSavedOther(),this.vzero.hostedFields&&this.initHostedFields()),this.initSavedMethods()}.bind(this))}.bind(this),"undefined"!=typeof this.config.ignoreAjax?this.config.ignoreAjax:!1)},rebuildPayPalButton:function(){null==$("paypal-container")&&this.updatePayPalButton()},initSavedPayPal:function(){void 0!==$$("#paypal-saved-accounts input[type=radio]").first()&&$("paypal-saved-accounts").on("change","input[type=radio]",function(e){this.updatePayPalButton(!1,"gene_braintree_paypal")}.bind(this))},prepareSubmitObserver:function(){return!1},beforeSubmit:function(e){return this._beforeSubmit(e)},_beforeSubmit:function(e){if(this.hostedFieldsGenerated===!1&&this.vzero.hostedFields&&(void 0===$$("#creditcard-saved-accounts input:checked[type=radio]").first()||void 0!==$$("#creditcard-saved-accounts input:checked[type=radio]").first()&&"other"==$$("#creditcard-saved-accounts input:checked[type=radio]").first().value)){var t=$("braintree-hosted-submit").down("button");t.removeAttribute("disabled"),t.click()}else e();this.submitAfterPayment&&$("braintree-submit-after-payment")&&$("braintree-submit-after-payment").remove()},afterSubmit:function(){return!1},submit:function(e,t,i,n){this.shouldInterceptSubmit(e)&&(this.validateAll()?(this.setLoading(),this.beforeSubmit(function(){void 0!=$$('[data-genebraintree-name="number"]').first()&&this.vzero.updateCardType($$('[data-genebraintree-name="number"]').first().value),this.vzero.updateData(function(){this.updateBilling(),this.vzero.process({onSuccess:function(){if(this.enableDeviceData(),this.disableCreditCardForm(),this.resetLoading(),this.afterSubmit(),this.enableDisableNonce(),this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,"function"==typeof t)var e=t();return this.setLoading(),this.enableCreditCardForm(),e}.bind(this),onFailure:function(){return this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,this.resetLoading(),this.afterSubmit(),"function"==typeof i?i():void 0}.bind(this)})}.bind(this),this.getUpdateDataParams())}.bind(this))):(this.vzero._hostedFieldsTokenGenerated=!1,this.hostedFieldsGenerated=!1,this.resetLoading(),"function"==typeof n&&n()))},submitCheckout:function(){window.review&&review.save()},submitPayment:function(){payment.save&&payment.save()},enableDisableNonce:function(){"gene_braintree_creditcard"==this.getPaymentMethod()?(null!==$("creditcard-payment-nonce")&&$("creditcard-payment-nonce").removeAttribute("disabled"),null!==$("paypal-payment-nonce")&&$("paypal-payment-nonce").setAttribute("disabled","disabled")):"gene_braintree_paypal"==this.getPaymentMethod()&&(null!==$("creditcard-payment-nonce")&&$("creditcard-payment-nonce").setAttribute("disabled","disabled"),null!==$("paypal-payment-nonce")&&$("paypal-payment-nonce").removeAttribute("disabled"))},preparePaymentMethodSwitchObserver:function(){return this.defaultPaymentMethodSwitch()},defaultPaymentMethodSwitch:function(){var e=this,t=Payment.prototype.switchMethod;Payment.prototype.switchMethod=function(i){return e.paymentMethodSwitch(i),t.apply(this,arguments)}},paymentMethodSwitch:function(e){clearTimeout(this._methodSwitchTimeout),this._methodSwitchTimeout=setTimeout(function(){this.shouldAddPayPalButton(e)?this.updatePayPalButton("add",e):this.updatePayPalButton("remove",e),"gene_braintree_creditcard"==(e?e:this.getPaymentMethod())&&this.initHostedFields(),this.checkSavedOther()}.bind(this),50)},completePayPal:function(e){return this.enableDisableNonce(),this.enableDeviceData(),e.nonce&&null!==$("paypal-payment-nonce")?($("paypal-payment-nonce").value=e.nonce,$("paypal-payment-nonce").setAttribute("value",e.nonce)):console.warn("Unable to update PayPal nonce, please verify that the nonce input field has the ID: paypal-payment-nonce"),this.afterPayPalComplete(),!1},afterPayPalComplete:function(){return this.resetLoading(),this.submitCheckout()},updatePayPalButton:function(e,t){if(this.paypalMarkUp===!1)return!1;if("refresh"==e)return this.updatePayPalButton("remove"),this.updatePayPalButton("add"),!0;if(this.shouldAddPayPalButton(t)&&"remove"!=e||"add"==e)if(void 0!==$$(this.paypalButtonClass).first()){if(void 0!==$$("#paypal-complete").first()&&$$("#paypal-complete").first().visible())return!0;$$(this.paypalButtonClass).first().hide(),$$(this.paypalButtonClass).first().insert({after:this.paypalMarkUp});var i={onSuccess:this.completePayPal.bind(this),onReady:this.paypalOnReady.bind(this)};this.vzeroPaypal.addPayPalButton(i,this)}else console.warn("We're unable to find the element "+this.paypalButtonClass+". Please check your integration.");else void 0!==$$(this.paypalButtonClass).first()&&$$(this.paypalButtonClass).first().show(),void 0!==$$("#paypal-complete").first()&&$("paypal-complete").remove()},paypalOnReady:function(e){return!0},setLoading:function(){checkout.setLoadWaiting("payment")},resetLoading:function(){checkout.setLoadWaiting(!1)},enableDeviceData:function(){null!==$("device_data")&&$("device_data").removeAttribute("disabled")},disableCreditCardForm:function(){$$("#credit-card-form input, #credit-card-form select").each(function(e){"creditcard-payment-nonce"!=e.id&&"gene_braintree_creditcard_store_in_vault"!=e.id&&e.setAttribute("disabled","disabled")})},enableCreditCardForm:function(){$$("#credit-card-form input, #credit-card-form select").each(function(e){e.removeAttribute("disabled")})},updateBilling:function(){(null!==$("billing-address-select")&&""==$("billing-address-select").value||null===$("billing-address-select"))&&(null!==$("billing:firstname")&&null!==$("billing:lastname")&&this.vzero.setBillingName($("billing:firstname").value+" "+$("billing:lastname").value),null!==$("billing:postcode")&&this.vzero.setBillingPostcode($("billing:postcode").value))},getUpdateDataParams:function(){var e={};return null!==$("billing-address-select")&&""!=$("billing-address-select").value&&(e.addressId=$("billing-address-select").value),e},getPaymentMethod:function(){return payment.currentMethod},shouldInterceptSubmit:function(e){switch(e){case"creditcard":return"gene_braintree_creditcard"==this.getPaymentMethod()&&this.vzero.shouldInterceptCreditCard();break;case"paypal":return"gene_braintree_paypal"==this.getPaymentMethod()&&this.vzero.shouldInterceptCreditCard()}return!1},shouldAddPayPalButton:function(e){return"gene_braintree_paypal"==(e?e:this.getPaymentMethod())&&null===$("paypal-saved-accounts")||"gene_braintree_paypal"==(e?e:this.getPaymentMethod())&&void 0!==$$("#paypal-saved-accounts input:checked[type=radio]").first()&&"other"==$$("#paypal-saved-accounts input:checked[type=radio]").first().value},threeDTokenizationComplete:function(){this.resetLoading()},validateAll:function(){return!0}},function(){for(var e,t=function(){},i=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],n=i.length,a=window.console=window.console||{};n--;)e=i[n],a[e]||(a[e]=t)}();
|
js/gene/braintree/vzero-0.7.js
CHANGED
@@ -118,7 +118,7 @@ vZero.prototype = {
|
|
118 |
* @param callbackFn
|
119 |
*/
|
120 |
teardownHostedFields: function (callbackFn) {
|
121 |
-
if (this._hostedIntegration !== false) {
|
122 |
this._hostedIntegration.teardown(function () {
|
123 |
this._hostedIntegration = false;
|
124 |
|
@@ -258,16 +258,10 @@ vZero.prototype = {
|
|
258 |
parameters: parameters,
|
259 |
onSuccess: function (transport) {
|
260 |
// Verify we have some response text
|
261 |
-
if (transport && transport.responseText) {
|
262 |
|
263 |
// Parse as an object
|
264 |
-
var response;
|
265 |
-
try {
|
266 |
-
response = eval('(' + transport.responseText + ')');
|
267 |
-
}
|
268 |
-
catch (e) {
|
269 |
-
response = {};
|
270 |
-
}
|
271 |
|
272 |
if (response.success && response.nonce) {
|
273 |
callback(response.nonce);
|
@@ -407,7 +401,8 @@ vZero.prototype = {
|
|
407 |
if (
|
408 |
typeof response.message !== 'undefined' &&
|
409 |
response.message.indexOf('Cannot place two elements in') == -1 &&
|
410 |
-
response.message.indexOf('Unable to find element with selector') == -1
|
|
|
411 |
) {
|
412 |
// Let the user know what went wrong
|
413 |
alert(response.message);
|
@@ -768,12 +763,7 @@ vZero.prototype = {
|
|
768 |
if (transport && (transport.responseJSON || transport.responseText)) {
|
769 |
|
770 |
// Parse the response from the server
|
771 |
-
var response;
|
772 |
-
if (transport.responseJSON && typeof transport.responseJSON === 'object') {
|
773 |
-
response = transport.responseJSON;
|
774 |
-
} else if (transport.responseText) {
|
775 |
-
response = JSON.decode(transport.responseText);
|
776 |
-
}
|
777 |
|
778 |
if (response.billingName != undefined) {
|
779 |
this.billingName = response.billingName;
|
@@ -864,15 +854,10 @@ vZero.prototype = {
|
|
864 |
onSuccess: function (transport) {
|
865 |
|
866 |
// Verify we have some response text
|
867 |
-
if (transport && transport.responseText) {
|
868 |
|
869 |
// Parse as an object
|
870 |
-
|
871 |
-
response = eval('(' + transport.responseText + ')');
|
872 |
-
}
|
873 |
-
catch (e) {
|
874 |
-
response = {};
|
875 |
-
}
|
876 |
|
877 |
// Check the response was successful
|
878 |
if (response.success) {
|
@@ -1208,12 +1193,43 @@ vZero.prototype = {
|
|
1208 |
}
|
1209 |
},
|
1210 |
|
|
|
|
|
|
|
|
|
|
|
1211 |
creditCardLoaded: function () {
|
1212 |
return false;
|
1213 |
},
|
1214 |
|
|
|
|
|
|
|
|
|
|
|
1215 |
paypalLoaded: function () {
|
1216 |
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1217 |
}
|
1218 |
|
1219 |
};
|
@@ -1249,6 +1265,8 @@ vZeroPayPalButton.prototype = {
|
|
1249 |
|
1250 |
this._rebuildTimer = false;
|
1251 |
this._rebuildCount = 0;
|
|
|
|
|
1252 |
},
|
1253 |
|
1254 |
/**
|
@@ -1310,10 +1328,15 @@ vZeroPayPalButton.prototype = {
|
|
1310 |
* Inject the PayPal button into the document
|
1311 |
*
|
1312 |
* @param options Object containing onSuccess method
|
1313 |
-
* @param
|
1314 |
*/
|
1315 |
addPayPalButton: function (options, checkoutIntegration) {
|
1316 |
|
|
|
|
|
|
|
|
|
|
|
1317 |
// If the container isn't present on the page we can't add the button
|
1318 |
if ($('paypal-container') === null || $('braintree-paypal-button') === null) {
|
1319 |
return false;
|
@@ -1365,7 +1388,7 @@ vZeroPayPalButton.prototype = {
|
|
1365 |
},
|
1366 |
onReady: function (integration) {
|
1367 |
this._paypalIntegration = integration;
|
1368 |
-
this._attachPayPalButtonEvent(
|
1369 |
if (typeof options.onReady === 'function') {
|
1370 |
options.onReady(integration);
|
1371 |
}
|
@@ -1404,7 +1427,7 @@ vZeroPayPalButton.prototype = {
|
|
1404 |
/**
|
1405 |
* Attach the click event to the paypal button
|
1406 |
*
|
1407 |
-
* @param
|
1408 |
*
|
1409 |
* @private
|
1410 |
*/
|
@@ -1416,8 +1439,8 @@ vZeroPayPalButton.prototype = {
|
|
1416 |
Event.stopObserving(this._paypalButton, 'click');
|
1417 |
Event.observe(this._paypalButton, 'click', function (event) {
|
1418 |
Event.stop(event);
|
1419 |
-
if (typeof
|
1420 |
-
if (
|
1421 |
// Fire the integration
|
1422 |
this._paypalIntegration.paypal.initAuthFlow();
|
1423 |
}
|
118 |
* @param callbackFn
|
119 |
*/
|
120 |
teardownHostedFields: function (callbackFn) {
|
121 |
+
if (typeof this._hostedIntegration !== 'undefined' && this._hostedIntegration !== false) {
|
122 |
this._hostedIntegration.teardown(function () {
|
123 |
this._hostedIntegration = false;
|
124 |
|
258 |
parameters: parameters,
|
259 |
onSuccess: function (transport) {
|
260 |
// Verify we have some response text
|
261 |
+
if (transport && (transport.responseJSON || transport.responseText)) {
|
262 |
|
263 |
// Parse as an object
|
264 |
+
var response = this._parseTransportAsJson(transport);
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
|
266 |
if (response.success && response.nonce) {
|
267 |
callback(response.nonce);
|
401 |
if (
|
402 |
typeof response.message !== 'undefined' &&
|
403 |
response.message.indexOf('Cannot place two elements in') == -1 &&
|
404 |
+
response.message.indexOf('Unable to find element with selector') == -1 &&
|
405 |
+
response.message.indexOf('User did not enter a payment method') == -1
|
406 |
) {
|
407 |
// Let the user know what went wrong
|
408 |
alert(response.message);
|
763 |
if (transport && (transport.responseJSON || transport.responseText)) {
|
764 |
|
765 |
// Parse the response from the server
|
766 |
+
var response = this._parseTransportAsJson(transport);
|
|
|
|
|
|
|
|
|
|
|
767 |
|
768 |
if (response.billingName != undefined) {
|
769 |
this.billingName = response.billingName;
|
854 |
onSuccess: function (transport) {
|
855 |
|
856 |
// Verify we have some response text
|
857 |
+
if (transport && (transport.responseJSON || transport.responseText)) {
|
858 |
|
859 |
// Parse as an object
|
860 |
+
var response = this._parseTransportAsJson(transport);
|
|
|
|
|
|
|
|
|
|
|
861 |
|
862 |
// Check the response was successful
|
863 |
if (response.success) {
|
1193 |
}
|
1194 |
},
|
1195 |
|
1196 |
+
/**
|
1197 |
+
* Called on Credit Card loading
|
1198 |
+
*
|
1199 |
+
* @returns {boolean}
|
1200 |
+
*/
|
1201 |
creditCardLoaded: function () {
|
1202 |
return false;
|
1203 |
},
|
1204 |
|
1205 |
+
/**
|
1206 |
+
* Called on PayPal loading
|
1207 |
+
*
|
1208 |
+
* @returns {boolean}
|
1209 |
+
*/
|
1210 |
paypalLoaded: function () {
|
1211 |
return false;
|
1212 |
+
},
|
1213 |
+
|
1214 |
+
/**
|
1215 |
+
* Parse a transports response into JSON
|
1216 |
+
*
|
1217 |
+
* @param transport
|
1218 |
+
* @returns {*}
|
1219 |
+
* @private
|
1220 |
+
*/
|
1221 |
+
_parseTransportAsJson: function (transport) {
|
1222 |
+
if (transport.responseJSON && typeof transport.responseJSON === 'object') {
|
1223 |
+
return transport.responseJSON;
|
1224 |
+
} else if (transport.responseText) {
|
1225 |
+
if (typeof JSON === 'object' && typeof JSON.parse === 'function') {
|
1226 |
+
return JSON.parse(transport.responseText);
|
1227 |
+
} else {
|
1228 |
+
return eval('(' + transport.responseText + ')');
|
1229 |
+
}
|
1230 |
+
}
|
1231 |
+
|
1232 |
+
return {};
|
1233 |
}
|
1234 |
|
1235 |
};
|
1265 |
|
1266 |
this._rebuildTimer = false;
|
1267 |
this._rebuildCount = 0;
|
1268 |
+
|
1269 |
+
this.integration = false;
|
1270 |
},
|
1271 |
|
1272 |
/**
|
1328 |
* Inject the PayPal button into the document
|
1329 |
*
|
1330 |
* @param options Object containing onSuccess method
|
1331 |
+
* @param checkoutIntegration Object the integration class
|
1332 |
*/
|
1333 |
addPayPalButton: function (options, checkoutIntegration) {
|
1334 |
|
1335 |
+
// Store the integration in the class
|
1336 |
+
if (!this.integration && typeof checkoutIntegration === 'object') {
|
1337 |
+
this.integration = checkoutIntegration;
|
1338 |
+
}
|
1339 |
+
|
1340 |
// If the container isn't present on the page we can't add the button
|
1341 |
if ($('paypal-container') === null || $('braintree-paypal-button') === null) {
|
1342 |
return false;
|
1388 |
},
|
1389 |
onReady: function (integration) {
|
1390 |
this._paypalIntegration = integration;
|
1391 |
+
this._attachPayPalButtonEvent();
|
1392 |
if (typeof options.onReady === 'function') {
|
1393 |
options.onReady(integration);
|
1394 |
}
|
1427 |
/**
|
1428 |
* Attach the click event to the paypal button
|
1429 |
*
|
1430 |
+
* @param checkoutIntegration
|
1431 |
*
|
1432 |
* @private
|
1433 |
*/
|
1439 |
Event.stopObserving(this._paypalButton, 'click');
|
1440 |
Event.observe(this._paypalButton, 'click', function (event) {
|
1441 |
Event.stop(event);
|
1442 |
+
if (typeof this.integration == 'object' && typeof this.integration.validateAll === 'function') {
|
1443 |
+
if (this.integration.validateAll()) {
|
1444 |
// Fire the integration
|
1445 |
this._paypalIntegration.paypal.initAuthFlow();
|
1446 |
}
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Gene_Braintree</name>
|
4 |
-
<version>2.0.
|
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 @@
|
|
36 |
</ul></description>
|
37 |
<notes>Connect your Magento store to Braintree to accept Credit Cards &amp; PayPal using V.Zero SDK</notes>
|
38 |
<authors><author><name>Dave Macaulay</name><user>dave</user><email>support@gene.co.uk</email></author></authors>
|
39 |
-
<date>2016-07-
|
40 |
-
<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="40a2eb78ee6c004b749ec62aaa690bf4"/><file name="Currency.php" hash="9976cc7d6ff80c3ea351ddff9b10b9d8"/><dir name="Kount"><file name="Ens.php" hash="56ef3f1e4da9d09b6bc8d0814a882358"/></dir><file name="Moduleversion.php" hash="eed1f9bcb139b6062e7972d3f98e13c8"/><file name="Version.php" hash="ce58278a4faf965301cc2d8b2da4483c"/></dir><file name="Migration.php" hash="e57911ecb5fb301147cd4940b3f1e4f4"/></dir></dir></dir><dir name="Cart"><file name="Totals.php" hash="a03c441e8143896f92d02931a809f666"/></dir><dir name="Creditcard"><file name="Info.php" hash="6faf4be87ad62f13373a6b2e852a478b"/><file name="Saved.php" hash="2d0a3c3543d8eecc7c94a50cea7810d9"/><file name="Threedsecure.php" hash="7848d4ecac743be985f328fa969318bf"/></dir><file name="Creditcard.php" hash="7871f210f4009cfe53ecfaf5164e43ca"/><dir name="Express"><file name="Button.php" hash="b7bb6fa7e6f80aa4809d1d1dc7dc6950"/><file name="Checkout.php" hash="d0c9bc6f656e93031189e7d6bb1c8533"/></dir><file name="Info.php" hash="4d9513f53e20bf7752c1f826bbd63b0e"/><file name="Js.php" hash="35e604171e4a5d1250732c4a5ad33d9b"/><dir name="Paypal"><file name="Info.php" hash="0874c0839a27c14ec9be47fed152e880"/><file name="Saved.php" hash="6a99ef8a384d7ab8f4537e995867ec85"/></dir><file name="Paypal.php" hash="10cbb40f8801153ac0c04725843f4eee"/><dir name="Saved"><file name="Edit.php" hash="ae2d80ecab7cdda39b18054b057f2dc5"/></dir><file name="Saved.php" hash="782f17589219da087e57035a1c0b9a4a"/></dir><dir name="Helper"><file name="Data.php" hash="b3e5025957b496d3be5cdb865a20e5be"/></dir><dir name="Model"><file name="Debug.php" hash="f3360f71e2346881f93424792ed9f209"/><dir name="Entity"><file name="Setup.php" hash="c580e73ec53ac455698ee6b0ff005e39"/></dir><dir name="Kount"><file name="Ens.php" hash="3f672b000d43363406b1df7e2b52f620"/><file name="Rest.php" hash="5dfb5265a431da0210cb87dba023b7b6"/></dir><file name="Migration.php" hash="cb9cec0c7d57c406e9bad66efe68b07d"/><file name="Observer.php" hash="e1ac13f65517ef889cc41fc8b421cafb"/><dir name="Paymentmethod"><file name="Abstract.php" hash="5a950bf2273b99ceae0eaf8482d67052"/><file name="Creditcard.php" hash="c336f9e0a43459beb57a907cae7f436c"/><dir name="Legacy"><file name="Creditcard.php" hash="cfc791157f3a173ff8ed838e69c96f51"/><file name="Paypal.php" hash="59ef3cfb64f4c4c878015147412c78a7"/></dir><file name="Paypal.php" hash="363575d74739bda8f2446f0f6d87c284"/></dir><file name="Saved.php" hash="3c9318122fbe56bdb915c837d834f392"/><dir name="Source"><file name="Cctype.php" hash="d76aa6c3a4bd798e3a47695f579d21d4"/><dir name="Creditcard"><file name="CaptureAction.php" hash="d39ff81be4b54620410ceeda7f960f0f"/><file name="FormIntegration.php" hash="9788f349430e0d48c9e13c262da3fe06"/><file name="PaymentAction.php" hash="d6e997ae4f6ed57129bf4d5da06a0a82"/></dir><file name="Environment.php" hash="5c2f5ce4d6d9f6f178102b90ec15aa2c"/><dir name="Paypal"><file name="CaptureAction.php" hash="0dd0c6da578aee4b7508f78cab982176"/><file name="Locale.php" hash="adc0ab30619eb3a34d8f5fe1087b07b0"/><file name="PaymentAction.php" hash="ab430eaf7ced39e9d6fd80ad0a7f6b3c"/><file name="Paymenttype.php" hash="48225fa7b3f5e54d81711397dd5bd96b"/></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="dd319741658ff63fd96495772df213a9"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Braintree"><file name="MigrationController.php" hash="cb9ffed24551fb7fff6ccd871a589101"/></dir><file name="BraintreeController.php" hash="d7ece21342a7b4b37ee41ea0e7ff20ad"/></dir><file name="CheckoutController.php" hash="223de3639574a686a68e9210f39c1fad"/><file name="ExpressController.php" hash="89aaef3ec80d0793e918a3674139b4f6"/><dir name="Kount"><file name="EnsController.php" hash="1db795afa1df901c37bbe48a3f01db2f"/></dir><file name="SavedController.php" hash="083777b1536e8dda604107af9f0081a9"/></dir><dir name="etc"><file name="adminhtml.xml" hash="c9c940beffa0ec19e4a1499a66f7fd12"/><file name="config.xml" hash="0ae65f0bd98ea9e9082eb40f712da954"/><file name="system.xml" hash="de3781d5454488230602588b69aac3d2"/></dir><dir name="sql"><dir name="gene_braintree_setup"><file name="install-0.1.0.php" hash="503f428384f687d3f55a19ea57450212"/><file name="upgrade-1.0.5.4-2.0.0.php" hash="62d37c35ba39a77ea14cad842f143393"/><file name="upgrade-2.0.0-2.0.1.php" hash="a08927707bb43a5c22b3b6ce3dd7a3c7"/></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="be31f4ad2992f208cd169f420fee352b"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><dir name="creditcard"><file name="hostedfields.phtml" hash="bfa98d63527cba0990c5cd793325a013"/><file name="info.phtml" hash="2ae1e397b3a633dd305bc26c7b9c1065"/><file name="saved.phtml" hash="579ec8ca726de3b5bea8600663d1e61f"/><file name="threedsecure.phtml" hash="ee8ad689afde041c39dd92ffa5274883"/></dir><file name="creditcard.phtml" hash="2cf07e28ebd141ea73e6e9082096304e"/><dir name="customer"><file name="edit.phtml" hash="ed8a9533f07fbfa36ec78623afd1a04d"/><file name="methods.phtml" hash="794ad8cb20314d1657a746b365c82540"/><file name="saved.phtml" hash="0457b0fa38f9db788133e54f359baa63"/></dir><dir name="express"><file name="cart.phtml" hash="dc6546baaa5c0c37fe3a6221ed978e87"/><file name="catalog.phtml" hash="e24ee8a37661e4cc82c19aaae3b669c3"/><file name="error.phtml" hash="0ec2ea2f9b909d9f0543e5df83eea055"/><file name="shipping_details.phtml" hash="0bb6ceafaac0ba522278df310d6136e2"/></dir><dir name="js"><file name="aheadworks.phtml" hash="533ba9aebbba6768649668386a74a1c2"/><file name="amasty.phtml" hash="2bfc5623dd9a98721b53a4d8cd13c0c3"/><file name="awesomecheckout.phtml" hash="ee42abb3b9211a31b3d4454ba1e92fe9"/><file name="data.phtml" hash="f8b04e3d0d7154cc75332eb5bec3e54e"/><file name="default.phtml" hash="fdcfb27a06ebab20268ef4ed820625c1"/><file name="firecheckout.phtml" hash="06acaa71a28ff9029242c4906cc05314"/><file name="fme.phtml" hash="263fb201b77696cf21cc677696c53fdd"/><file name="idev.phtml" hash="f8677f5296e573b8bfc3e63603e62bf6"/><file name="iwd.phtml" hash="d7e12c84b629306529d3d8beb0c4814d"/><file name="magestore.phtml" hash="ff6a622a4048b8e533f3e672a40e6296"/><file name="multishipping.phtml" hash="a1e777e99df26d81f7c4b9e7b4a7c109"/><file name="oye.phtml" hash="51ef48f818e79acb6d1e8b9eb7889cc9"/><file name="setup.phtml" hash="804d63a30f8d6c985644b545a768da97"/><file name="unicode.phtml" hash="dd07e924a01b0a28ef46c9a62f22e3b5"/></dir><dir name="paypal"><file name="info.phtml" hash="5149b273730121e4dec3c3179820f747"/><file name="saved.phtml" hash="3dd56f96bcdd14be594d355ae8fff329"/></dir><file name="paypal.phtml" hash="d12c20e5fb76f31270a5d47061e42715"/></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="9d57a85acb47d23341af91f4143b4f5e"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><dir name="creditcard"><file name="hostedfields.phtml" hash="152e09ed938c47ffc056a7c11247375a"/><file name="info.phtml" hash="24c67bab482ea7383ce57d9a06bb9d6f"/><file name="saved.phtml" hash="ca27adb601aebf97cd25a892082a8663"/></dir><file name="creditcard.phtml" hash="2d77487c6b7e9e6c77b2ddb25597bd8b"/><file name="js.phtml" hash="7253799710792ed1f8611e21c2b100bf"/><dir name="paypal"><file name="info.phtml" hash="a8f92f312f8aa5a9463f1d5c2a38cd1b"/><file name="saved.phtml" hash="779ca8e907d7d463eafce58dfaf94f0c"/></dir><file name="paypal.phtml" hash="f81578f64c8a30560299bd993d8e996d"/><dir name="system"><dir name="config"><file name="migration.phtml" hash="4cfe0ffb6a9e03d1297eb66a51f77429"/></dir></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-0.1.js" hash="a72cc4545d0d01dd0947dae1474516dd"/><file name="config.codekit" hash="ac2da34ea9ef3ca9c6dd616a0ae830d6"/><file name="express.js" hash="a32735940fb8313c150e6567a59a1f0e"/><file name="vzero-0.7-min.js" hash="5039e9442c8560323fed45c11714e4f6"/><file name="vzero-0.7-min.js.map" hash="1fc5d50c5cdcb138131930ac92362053"/><file name="vzero-0.7.js" hash="128cd8642deca1fdb0ce1a2afe9e3c76"/></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="paypal-loading.gif" hash="078a2daf55245b227c09a7bed86750c6"/><file name="paypal.png" hash="40d5f74305e565bd14aef19bcf696541"/></dir><file name="loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/><file name="loader-white.gif" hash="1fc0e911558e8dfe77cfdfafa0d38f88"/></dir></dir><dir name="css"><dir name="gene"><dir name="braintree"><dir name="account"><file name="account.less" hash="ddf6bf208f290316300ab20682f34473"/></dir><file name="account.css" hash="73bb46f85320b2f2b4de9beb6c0e0bd6"/><file name="aheadworks.css" hash="f5a06971e4dbac94df48fb0ff1912f98"/><file name="amasty.css" hash="5a4a845ea4a16cca2195cb836e25571e"/><file name="awesomecheckout.css" hash="5f858ec9549f6b04b0c2885fbf193e7b"/><file name="config.codekit" hash="abccddbb4a8dc17b0126bd223c2a2ac0"/><dir name="core"><file name="_general.less" hash="5848708373d8ed5eda5e5b23c3e4e05c"/><file name="_hostedfields.less" hash="555bd4655d78a3b379c4b86a3e2d86e5"/><file name="_paypal.less" hash="e7e55d959247956253a0af1df0c9e899"/><file name="_saved.less" hash="66ec8d894e336f9934a1e54972c4b220"/></dir><file name="default.css" hash="229df9c1e39496d64a96c1b17e7a1823"/><file name="express.css" hash="23fdeca7804baa026615f4e54eeaf66b"/><file name="express.less" hash="0d752abca5f300beadc5a2948b5565ae"/><file name="firecheckout.css" hash="6605fd097c6b509fd8ef758a5a2ea236"/><file name="fme.css" hash="5809c809abc0cc6dde9ff2accebe4f38"/><file name="idev.css" hash="89104fad2a084ec8ed229d119d9c276c"/><dir name="integrations"><file name="aheadworks.less" hash="09b0304383e198885f030119c15641f7"/><file name="amasty.less" hash="4cdf236e1d44112205750cefa11448b4"/><file name="awesomecheckout.less" hash="e774da637a5c6bbdb2e5decc998afae1"/><file name="default.less" hash="d366d4560ed1ce3e9e120309e56bec2f"/><file name="firecheckout.less" hash="459704b8b6efca52fcee7c335b3ad625"/><file name="fme.less" hash="580ed66608560fcd1195246c22e3559c"/><file name="idev.less" hash="47485cc963e16d12e673c06cd9efe4b1"/><file name="iwd.less" hash="5081477c7946e0f5cf8cc4198895ca11"/><file name="magestore.less" hash="0af5cd105be3995dc2044d33f990bbb5"/><file name="oye.less" hash="06a0f79190b16dfbce3aec6d14f07461"/><file name="unicode.less" hash="1416abe9a38965d9aead022b238f7d4f"/></dir><file name="iwd.css" hash="651ba890cc76d1f9fdaa7d6137b2a106"/><file name="magestore.css" hash="fdeca676628bd2e1c732a15640a42ff3"/><file name="oye.css" hash="ec24b4a2541dd3d01540d1f065025d7b"/><file name="unicode.css" hash="82acd70dca47bb484a17296c2ca11e81"/><file name=".DS_Store" hash="1405352d803d5c88cf3ec19a82f173d0"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="gene"><dir name="braintree"><file name="adminhtml.css" hash="2847eb017b959db61659562d1e8cfaea"/><file name="adminhtml.less" hash="6456950844fcd86471cf78400f922915"/><file name="config.codekit" hash="a41f2e0e0faacce3bd7f194f03bdd365"/><file name="migration.css" hash="c67c92df36fe23fecaa1db9f1f1cd996"/><file name="migration.less" hash="2f76dd2f55cc5268bd70197bfe344b20"/><file name=".DS_Store" hash="63617e9dd9988a3d3773937a3f7e2f9a"/></dir></dir></dir><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"/><dir name="migration"><file name="braintree.png" hash="396d721824a86b169ce0055090ce9766"/><file name="gene-logo.png" hash="16efb1b148acc59c46c84a21d726b6e9"/><file name="loader.gif" hash="66b9100930b8e58d46acf2e13d41f7ea"/></dir></dir><file name="loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="Gene"><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="bb4a81807fefc76db286e615128c5d8c"/><file name="ApplePayCard.php" hash="b895256bcb867854bcaaffc1ce833fbd"/><file name="Base.php" hash="60d52fd1bef5655bcb607fba45bb4c1c"/><file name="ClientToken.php" hash="358c0a1dba687baf635db818cb7d1dac"/><file name="ClientTokenGateway.php" hash="9c24bb9de2c419c7e377c046da2a1ffa"/><file name="CoinbaseAccount.php" hash="ee5cb6963f675a9a71293c453b128866"/><file name="Collection.php" hash="0e7d31ffcbd9780fb554186bd2c194b0"/><file name="Configuration.php" hash="2a416a1eae0c22329d9bef88b25039b2"/><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="5367d9d8a878572106e3a94c60132b1b"/><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><file name="EuropeBankAccount.php" hash="82ae4f4d1c45ce2c421305bf9397c866"/><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="TestOperationPerformedInProduction.php" hash="fde4c6a8b708420b26785fb67a2548ef"/><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="d2fac69479243ef4cea7d7a8add798f7"/><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="9a0b2b692eaf8fb5f337922044b20cc1"/><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="4c93b070cb79c86ec9384e069fbae777"/><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="d39c75e07c12c005c837c33003cb9ec2"/><file name="Transaction.php" hash="f7ef8730ede38eda778679c7056ae7c7"/><file name="TransactionAmounts.php" hash="ed9bf1f57d871542c32d11de9e031f05"/><file name="VenmoSdk.php" hash="6ce94deccd1f968596011487c7e69cc7"/></dir><file name="TestingGateway.php" hash="ccb1126142799ac3dc9f8d6f1a1f48d4"/><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="0d7716a3c992dfb0833e7ecd437ef346"/><file name="ApplePayCardDetails.php" hash="23f7ba70521889585fa40f4f0388524d"/><file name="CoinbaseDetails.php" hash="d19a625f8de98698b8277c25660358f0"/><file name="CreditCardDetails.php" hash="aac5eb1f5804d4f979b9c71f7b98cb36"/><file name="CustomerDetails.php" hash="e137895c646127312be44292c84a2d81"/><file name="EuropeBankAccountDetails.php" hash="afe4fdc3ab3714ef2995f514ce2be2a6"/><file name="PayPalDetails.php" hash="06903d1ee21879f7329b920138df9ac6"/><file name="StatusDetails.php" hash="7c6e719c51bf13bdfd07615030100ac6"/><file name="SubscriptionDetails.php" hash="1cf1f511d1545a2e27b8d3f4bee800ca"/></dir><file name="Transaction.php" hash="afe5d8ef7fc73633424d26b942c4e5a1"/><file name="TransactionGateway.php" hash="39684956db79fe58891876e5c7845413"/><file name="TransactionSearch.php" hash="aa58846182b909fb8747e165ec7e9b92"/><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="43e074bc53780cb92af4a9ef4887c63e"/><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><file name="Braintree.php" hash="2c75cf27b3c9a6e1bc557e6b239d2594"/><dir name="ssl"><file name="api_braintreegateway_com.ca.crt" hash="04beb23c767547e980c76eb68c7eab15"/><file name="sandbox_braintreegateway_com.ca.crt" hash="f1b529883c7c2cbb4251658f5da7b4c9"/></dir></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Gene_Braintree.csv" hash="b0c520cbdf0f42b11c8c6dfafbe999bd"/></dir></dir></target></contents>
|
42 |
<compatible/>
|
43 |
<dependencies><required><php><min>5.4.0</min><max>6.0.0</max></php><package><name></name><channel>connect.magentocommerce.com/core</channel><min></min><max></max></package></required></dependencies>
|
44 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Gene_Braintree</name>
|
4 |
+
<version>2.0.3</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/mit-license.php">MIT License</license>
|
7 |
<channel>community</channel>
|
36 |
</ul></description>
|
37 |
<notes>Connect your Magento store to Braintree to accept Credit Cards &amp; PayPal using V.Zero SDK</notes>
|
38 |
<authors><author><name>Dave Macaulay</name><user>dave</user><email>support@gene.co.uk</email></author></authors>
|
39 |
+
<date>2016-07-27</date>
|
40 |
+
<time>09:15:33</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="40a2eb78ee6c004b749ec62aaa690bf4"/><file name="Currency.php" hash="9976cc7d6ff80c3ea351ddff9b10b9d8"/><dir name="Kount"><file name="Ens.php" hash="56ef3f1e4da9d09b6bc8d0814a882358"/></dir><file name="Moduleversion.php" hash="eed1f9bcb139b6062e7972d3f98e13c8"/><file name="Version.php" hash="ce58278a4faf965301cc2d8b2da4483c"/></dir><file name="Migration.php" hash="e57911ecb5fb301147cd4940b3f1e4f4"/></dir></dir></dir><dir name="Cart"><file name="Totals.php" hash="a03c441e8143896f92d02931a809f666"/></dir><dir name="Creditcard"><file name="Info.php" hash="6faf4be87ad62f13373a6b2e852a478b"/><file name="Saved.php" hash="2d0a3c3543d8eecc7c94a50cea7810d9"/><file name="Threedsecure.php" hash="7848d4ecac743be985f328fa969318bf"/></dir><file name="Creditcard.php" hash="7871f210f4009cfe53ecfaf5164e43ca"/><dir name="Express"><file name="Button.php" hash="b7bb6fa7e6f80aa4809d1d1dc7dc6950"/><file name="Checkout.php" hash="d0c9bc6f656e93031189e7d6bb1c8533"/></dir><file name="Info.php" hash="4d9513f53e20bf7752c1f826bbd63b0e"/><file name="Js.php" hash="35e604171e4a5d1250732c4a5ad33d9b"/><dir name="Paypal"><file name="Info.php" hash="0874c0839a27c14ec9be47fed152e880"/><file name="Saved.php" hash="6a99ef8a384d7ab8f4537e995867ec85"/></dir><file name="Paypal.php" hash="10cbb40f8801153ac0c04725843f4eee"/><dir name="Saved"><file name="Edit.php" hash="ae2d80ecab7cdda39b18054b057f2dc5"/></dir><file name="Saved.php" hash="782f17589219da087e57035a1c0b9a4a"/></dir><dir name="Helper"><file name="Data.php" hash="b3e5025957b496d3be5cdb865a20e5be"/></dir><dir name="Model"><file name="Debug.php" hash="f3360f71e2346881f93424792ed9f209"/><dir name="Entity"><file name="Setup.php" hash="c580e73ec53ac455698ee6b0ff005e39"/></dir><dir name="Kount"><file name="Ens.php" hash="3f672b000d43363406b1df7e2b52f620"/><file name="Rest.php" hash="5dfb5265a431da0210cb87dba023b7b6"/></dir><file name="Migration.php" hash="cb9cec0c7d57c406e9bad66efe68b07d"/><file name="Observer.php" hash="e1ac13f65517ef889cc41fc8b421cafb"/><dir name="Paymentmethod"><file name="Abstract.php" hash="5a950bf2273b99ceae0eaf8482d67052"/><file name="Creditcard.php" hash="c336f9e0a43459beb57a907cae7f436c"/><dir name="Legacy"><file name="Creditcard.php" hash="cfc791157f3a173ff8ed838e69c96f51"/><file name="Paypal.php" hash="59ef3cfb64f4c4c878015147412c78a7"/></dir><file name="Paypal.php" hash="363575d74739bda8f2446f0f6d87c284"/></dir><file name="Saved.php" hash="3c9318122fbe56bdb915c837d834f392"/><dir name="Source"><file name="Cctype.php" hash="d76aa6c3a4bd798e3a47695f579d21d4"/><dir name="Creditcard"><file name="CaptureAction.php" hash="d39ff81be4b54620410ceeda7f960f0f"/><file name="FormIntegration.php" hash="9788f349430e0d48c9e13c262da3fe06"/><file name="PaymentAction.php" hash="d6e997ae4f6ed57129bf4d5da06a0a82"/></dir><file name="Environment.php" hash="5c2f5ce4d6d9f6f178102b90ec15aa2c"/><dir name="Paypal"><file name="CaptureAction.php" hash="0dd0c6da578aee4b7508f78cab982176"/><file name="Locale.php" hash="adc0ab30619eb3a34d8f5fe1087b07b0"/><file name="PaymentAction.php" hash="ab430eaf7ced39e9d6fd80ad0a7f6b3c"/><file name="Paymenttype.php" hash="48225fa7b3f5e54d81711397dd5bd96b"/></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="dd319741658ff63fd96495772df213a9"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Braintree"><file name="MigrationController.php" hash="cb9ffed24551fb7fff6ccd871a589101"/></dir><file name="BraintreeController.php" hash="d7ece21342a7b4b37ee41ea0e7ff20ad"/></dir><file name="CheckoutController.php" hash="223de3639574a686a68e9210f39c1fad"/><file name="ExpressController.php" hash="89aaef3ec80d0793e918a3674139b4f6"/><dir name="Kount"><file name="EnsController.php" hash="1db795afa1df901c37bbe48a3f01db2f"/></dir><file name="SavedController.php" hash="083777b1536e8dda604107af9f0081a9"/></dir><dir name="etc"><file name="adminhtml.xml" hash="c9c940beffa0ec19e4a1499a66f7fd12"/><file name="config.xml" hash="9b386b32741f91d490021aefdaf3fee5"/><file name="system.xml" hash="de3781d5454488230602588b69aac3d2"/></dir><dir name="sql"><dir name="gene_braintree_setup"><file name="install-0.1.0.php" hash="503f428384f687d3f55a19ea57450212"/><file name="upgrade-1.0.5.4-2.0.0.php" hash="62d37c35ba39a77ea14cad842f143393"/><file name="upgrade-2.0.0-2.0.1.php" hash="a08927707bb43a5c22b3b6ce3dd7a3c7"/></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="97cf1ff702b5fe0697bcb0d725f37e6b"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><dir name="creditcard"><file name="hostedfields.phtml" hash="bfa98d63527cba0990c5cd793325a013"/><file name="info.phtml" hash="2ae1e397b3a633dd305bc26c7b9c1065"/><file name="saved.phtml" hash="579ec8ca726de3b5bea8600663d1e61f"/><file name="threedsecure.phtml" hash="ee8ad689afde041c39dd92ffa5274883"/></dir><file name="creditcard.phtml" hash="2cf07e28ebd141ea73e6e9082096304e"/><dir name="customer"><file name="edit.phtml" hash="ed8a9533f07fbfa36ec78623afd1a04d"/><file name="methods.phtml" hash="794ad8cb20314d1657a746b365c82540"/><file name="saved.phtml" hash="0457b0fa38f9db788133e54f359baa63"/></dir><dir name="express"><file name="cart.phtml" hash="dc6546baaa5c0c37fe3a6221ed978e87"/><file name="catalog.phtml" hash="e24ee8a37661e4cc82c19aaae3b669c3"/><file name="error.phtml" hash="0ec2ea2f9b909d9f0543e5df83eea055"/><file name="shipping_details.phtml" hash="0bb6ceafaac0ba522278df310d6136e2"/></dir><dir name="js"><file name="aheadworks.phtml" hash="533ba9aebbba6768649668386a74a1c2"/><file name="amasty.phtml" hash="2bfc5623dd9a98721b53a4d8cd13c0c3"/><file name="awesomecheckout.phtml" hash="ee42abb3b9211a31b3d4454ba1e92fe9"/><file name="data.phtml" hash="f8b04e3d0d7154cc75332eb5bec3e54e"/><file name="default.phtml" hash="fdcfb27a06ebab20268ef4ed820625c1"/><file name="fancycheckout.phtml" hash="f603bcd50dea98dbb45c1ec8b692314c"/><file name="firecheckout.phtml" hash="7d5df6424093021b06c9c5882b378be5"/><file name="fme.phtml" hash="263fb201b77696cf21cc677696c53fdd"/><file name="idev.phtml" hash="3b586cd9dbef7b5d0be7b2999be356b6"/><file name="iwd.phtml" hash="d7e12c84b629306529d3d8beb0c4814d"/><file name="magestore.phtml" hash="ff6a622a4048b8e533f3e672a40e6296"/><file name="multishipping.phtml" hash="a1e777e99df26d81f7c4b9e7b4a7c109"/><file name="oye.phtml" hash="51ef48f818e79acb6d1e8b9eb7889cc9"/><file name="setup.phtml" hash="804d63a30f8d6c985644b545a768da97"/><file name="unicode.phtml" hash="dd07e924a01b0a28ef46c9a62f22e3b5"/></dir><dir name="paypal"><file name="info.phtml" hash="5149b273730121e4dec3c3179820f747"/><file name="saved.phtml" hash="3dd56f96bcdd14be594d355ae8fff329"/></dir><file name="paypal.phtml" hash="d12c20e5fb76f31270a5d47061e42715"/></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="9d57a85acb47d23341af91f4143b4f5e"/></dir></dir><dir name="template"><dir name="gene"><dir name="braintree"><dir name="creditcard"><file name="hostedfields.phtml" hash="152e09ed938c47ffc056a7c11247375a"/><file name="info.phtml" hash="24c67bab482ea7383ce57d9a06bb9d6f"/><file name="saved.phtml" hash="ca27adb601aebf97cd25a892082a8663"/></dir><file name="creditcard.phtml" hash="2d77487c6b7e9e6c77b2ddb25597bd8b"/><file name="js.phtml" hash="7253799710792ed1f8611e21c2b100bf"/><dir name="paypal"><file name="info.phtml" hash="a8f92f312f8aa5a9463f1d5c2a38cd1b"/><file name="saved.phtml" hash="779ca8e907d7d463eafce58dfaf94f0c"/></dir><file name="paypal.phtml" hash="f81578f64c8a30560299bd993d8e996d"/><dir name="system"><dir name="config"><file name="migration.phtml" hash="4cfe0ffb6a9e03d1297eb66a51f77429"/></dir></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-0.1.js" hash="a72cc4545d0d01dd0947dae1474516dd"/><file name="config.codekit" hash="ac2da34ea9ef3ca9c6dd616a0ae830d6"/><file name="express.js" hash="a32735940fb8313c150e6567a59a1f0e"/><file name="vzero-0.7-min.js" hash="67f02f3f52819c5af8db913d7780dc33"/><file name="vzero-0.7-min.js.map" hash="1fc5d50c5cdcb138131930ac92362053"/><file name="vzero-0.7.js" hash="9df7e368f0ba3d900940cec112f56dc1"/></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="paypal-loading.gif" hash="078a2daf55245b227c09a7bed86750c6"/><file name="paypal.png" hash="40d5f74305e565bd14aef19bcf696541"/></dir><file name="loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/><file name="loader-white.gif" hash="1fc0e911558e8dfe77cfdfafa0d38f88"/></dir></dir><dir name="css"><dir name="gene"><dir name="braintree"><dir name="account"><file name="account.less" hash="ddf6bf208f290316300ab20682f34473"/></dir><file name="account.css" hash="73bb46f85320b2f2b4de9beb6c0e0bd6"/><file name="aheadworks.css" hash="f5a06971e4dbac94df48fb0ff1912f98"/><file name="amasty.css" hash="5a4a845ea4a16cca2195cb836e25571e"/><file name="awesomecheckout.css" hash="5f858ec9549f6b04b0c2885fbf193e7b"/><file name="config.codekit" hash="845cf6e31d4c2b88906908d7fb65b249"/><dir name="core"><file name="_general.less" hash="5848708373d8ed5eda5e5b23c3e4e05c"/><file name="_hostedfields.less" hash="555bd4655d78a3b379c4b86a3e2d86e5"/><file name="_paypal.less" hash="e7e55d959247956253a0af1df0c9e899"/><file name="_saved.less" hash="66ec8d894e336f9934a1e54972c4b220"/></dir><file name="default.css" hash="229df9c1e39496d64a96c1b17e7a1823"/><file name="express.css" hash="23fdeca7804baa026615f4e54eeaf66b"/><file name="express.less" hash="0d752abca5f300beadc5a2948b5565ae"/><file name="fancycheckout.css" hash="69b7d8ce592bffde444edf77234109bd"/><file name="firecheckout.css" hash="6605fd097c6b509fd8ef758a5a2ea236"/><file name="fme.css" hash="5809c809abc0cc6dde9ff2accebe4f38"/><file name="idev.css" hash="89104fad2a084ec8ed229d119d9c276c"/><dir name="integrations"><file name="aheadworks.less" hash="09b0304383e198885f030119c15641f7"/><file name="amasty.less" hash="4cdf236e1d44112205750cefa11448b4"/><file name="awesomecheckout.less" hash="e774da637a5c6bbdb2e5decc998afae1"/><file name="default.less" hash="d366d4560ed1ce3e9e120309e56bec2f"/><file name="fancycheckout.less" hash="18281c460bb32da164964abe585b092b"/><file name="firecheckout.less" hash="459704b8b6efca52fcee7c335b3ad625"/><file name="fme.less" hash="580ed66608560fcd1195246c22e3559c"/><file name="idev.less" hash="47485cc963e16d12e673c06cd9efe4b1"/><file name="iwd.less" hash="5081477c7946e0f5cf8cc4198895ca11"/><file name="magestore.less" hash="0af5cd105be3995dc2044d33f990bbb5"/><file name="oye.less" hash="06a0f79190b16dfbce3aec6d14f07461"/><file name="unicode.less" hash="1416abe9a38965d9aead022b238f7d4f"/></dir><file name="iwd.css" hash="651ba890cc76d1f9fdaa7d6137b2a106"/><file name="magestore.css" hash="fdeca676628bd2e1c732a15640a42ff3"/><file name="oye.css" hash="ec24b4a2541dd3d01540d1f065025d7b"/><file name="unicode.css" hash="82acd70dca47bb484a17296c2ca11e81"/><file name=".DS_Store" hash="1405352d803d5c88cf3ec19a82f173d0"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="gene"><dir name="braintree"><file name="adminhtml.css" hash="2847eb017b959db61659562d1e8cfaea"/><file name="adminhtml.less" hash="6456950844fcd86471cf78400f922915"/><file name="config.codekit" hash="a41f2e0e0faacce3bd7f194f03bdd365"/><file name="migration.css" hash="c67c92df36fe23fecaa1db9f1f1cd996"/><file name="migration.less" hash="2f76dd2f55cc5268bd70197bfe344b20"/><file name=".DS_Store" hash="63617e9dd9988a3d3773937a3f7e2f9a"/></dir></dir></dir><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"/><dir name="migration"><file name="braintree.png" hash="396d721824a86b169ce0055090ce9766"/><file name="gene-logo.png" hash="16efb1b148acc59c46c84a21d726b6e9"/><file name="loader.gif" hash="66b9100930b8e58d46acf2e13d41f7ea"/></dir></dir><file name="loader.gif" hash="f48ee069890b16455c3ddcacee9b5f75"/></dir></dir></dir></dir></dir></target><target name="magelib"><dir name="Gene"><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="bb4a81807fefc76db286e615128c5d8c"/><file name="ApplePayCard.php" hash="b895256bcb867854bcaaffc1ce833fbd"/><file name="Base.php" hash="60d52fd1bef5655bcb607fba45bb4c1c"/><file name="ClientToken.php" hash="358c0a1dba687baf635db818cb7d1dac"/><file name="ClientTokenGateway.php" hash="9c24bb9de2c419c7e377c046da2a1ffa"/><file name="CoinbaseAccount.php" hash="ee5cb6963f675a9a71293c453b128866"/><file name="Collection.php" hash="0e7d31ffcbd9780fb554186bd2c194b0"/><file name="Configuration.php" hash="2a416a1eae0c22329d9bef88b25039b2"/><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="5367d9d8a878572106e3a94c60132b1b"/><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><file name="EuropeBankAccount.php" hash="82ae4f4d1c45ce2c421305bf9397c866"/><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="TestOperationPerformedInProduction.php" hash="fde4c6a8b708420b26785fb67a2548ef"/><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="d2fac69479243ef4cea7d7a8add798f7"/><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="9a0b2b692eaf8fb5f337922044b20cc1"/><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="4c93b070cb79c86ec9384e069fbae777"/><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="d39c75e07c12c005c837c33003cb9ec2"/><file name="Transaction.php" hash="f7ef8730ede38eda778679c7056ae7c7"/><file name="TransactionAmounts.php" hash="ed9bf1f57d871542c32d11de9e031f05"/><file name="VenmoSdk.php" hash="6ce94deccd1f968596011487c7e69cc7"/></dir><file name="TestingGateway.php" hash="ccb1126142799ac3dc9f8d6f1a1f48d4"/><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="0d7716a3c992dfb0833e7ecd437ef346"/><file name="ApplePayCardDetails.php" hash="23f7ba70521889585fa40f4f0388524d"/><file name="CoinbaseDetails.php" hash="d19a625f8de98698b8277c25660358f0"/><file name="CreditCardDetails.php" hash="aac5eb1f5804d4f979b9c71f7b98cb36"/><file name="CustomerDetails.php" hash="e137895c646127312be44292c84a2d81"/><file name="EuropeBankAccountDetails.php" hash="afe4fdc3ab3714ef2995f514ce2be2a6"/><file name="PayPalDetails.php" hash="06903d1ee21879f7329b920138df9ac6"/><file name="StatusDetails.php" hash="7c6e719c51bf13bdfd07615030100ac6"/><file name="SubscriptionDetails.php" hash="1cf1f511d1545a2e27b8d3f4bee800ca"/></dir><file name="Transaction.php" hash="afe5d8ef7fc73633424d26b942c4e5a1"/><file name="TransactionGateway.php" hash="39684956db79fe58891876e5c7845413"/><file name="TransactionSearch.php" hash="aa58846182b909fb8747e165ec7e9b92"/><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="43e074bc53780cb92af4a9ef4887c63e"/><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><file name="Braintree.php" hash="2c75cf27b3c9a6e1bc557e6b239d2594"/><dir name="ssl"><file name="api_braintreegateway_com.ca.crt" hash="04beb23c767547e980c76eb68c7eab15"/><file name="sandbox_braintreegateway_com.ca.crt" hash="f1b529883c7c2cbb4251658f5da7b4c9"/></dir></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Gene_Braintree.csv" hash="b0c520cbdf0f42b11c8c6dfafbe999bd"/></dir></dir></target></contents>
|
42 |
<compatible/>
|
43 |
<dependencies><required><php><min>5.4.0</min><max>6.0.0</max></php><package><name></name><channel>connect.magentocommerce.com/core</channel><min></min><max></max></package></required></dependencies>
|
44 |
</package>
|
skin/frontend/base/default/css/gene/braintree/config.codekit
CHANGED
@@ -176,6 +176,15 @@
|
|
176 |
"strictMath": 0,
|
177 |
"strictUnits": 0
|
178 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
"\/firecheckout.css": {
|
180 |
"fileType": 16,
|
181 |
"ignore": 1,
|
@@ -283,6 +292,26 @@
|
|
283 |
"strictMath": 0,
|
284 |
"strictUnits": 0
|
285 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
"\/integrations\/firecheckout.less": {
|
287 |
"allowInsecureImports": 0,
|
288 |
"createSourceMap": 0,
|
176 |
"strictMath": 0,
|
177 |
"strictUnits": 0
|
178 |
},
|
179 |
+
"\/fancycheckout.css": {
|
180 |
+
"fileType": 16,
|
181 |
+
"ignore": 1,
|
182 |
+
"ignoreWasSetByUser": 0,
|
183 |
+
"inputAbbreviatedPath": "\/fancycheckout.css",
|
184 |
+
"outputAbbreviatedPath": "No Output Path",
|
185 |
+
"outputPathIsOutsideProject": 0,
|
186 |
+
"outputPathIsSetByUser": 0
|
187 |
+
},
|
188 |
"\/firecheckout.css": {
|
189 |
"fileType": 16,
|
190 |
"ignore": 1,
|
292 |
"strictMath": 0,
|
293 |
"strictUnits": 0
|
294 |
},
|
295 |
+
"\/integrations\/fancycheckout.less": {
|
296 |
+
"allowInsecureImports": 0,
|
297 |
+
"createSourceMap": 0,
|
298 |
+
"disableJavascript": 0,
|
299 |
+
"fileType": 1,
|
300 |
+
"ieCompatibility": 1,
|
301 |
+
"ignore": 0,
|
302 |
+
"ignoreWasSetByUser": 0,
|
303 |
+
"inputAbbreviatedPath": "\/integrations\/fancycheckout.less",
|
304 |
+
"outputAbbreviatedPath": "\/fancycheckout.css",
|
305 |
+
"outputPathIsOutsideProject": 0,
|
306 |
+
"outputPathIsSetByUser": 1,
|
307 |
+
"outputStyle": 0,
|
308 |
+
"relativeURLS": 0,
|
309 |
+
"shouldRunAutoprefixer": 0,
|
310 |
+
"shouldRunBless": 0,
|
311 |
+
"strictImports": 0,
|
312 |
+
"strictMath": 0,
|
313 |
+
"strictUnits": 0
|
314 |
+
},
|
315 |
"\/integrations\/firecheckout.less": {
|
316 |
"allowInsecureImports": 0,
|
317 |
"createSourceMap": 0,
|
skin/frontend/base/default/css/gene/braintree/fancycheckout.css
ADDED
@@ -0,0 +1,256 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Accepted Cards */
|
2 |
+
#braintree-accepted-cards img {
|
3 |
+
display: inline-block;
|
4 |
+
margin-right: 4px;
|
5 |
+
}
|
6 |
+
/* Hosted Fields Loading State */
|
7 |
+
#credit-card-form.loading {
|
8 |
+
position: relative;
|
9 |
+
}
|
10 |
+
#credit-card-form .braintree-hostedfield {
|
11 |
+
opacity: 1;
|
12 |
+
}
|
13 |
+
#credit-card-form .credit-card-loading {
|
14 |
+
display: none;
|
15 |
+
}
|
16 |
+
#credit-card-form.loading .credit-card-loading {
|
17 |
+
position: absolute;
|
18 |
+
top: 30%;
|
19 |
+
left: 0;
|
20 |
+
right: 0;
|
21 |
+
width: 100%;
|
22 |
+
height: 70%;
|
23 |
+
text-align: center;
|
24 |
+
display: block;
|
25 |
+
}
|
26 |
+
#credit-card-form.loading .credit-card-loading img {
|
27 |
+
margin: 16px auto;
|
28 |
+
}
|
29 |
+
#credit-card-form.loading .braintree-hostedfield {
|
30 |
+
opacity: 0;
|
31 |
+
}
|
32 |
+
/* Hosted Fields */
|
33 |
+
#braintree-hosted-submit {
|
34 |
+
display: none;
|
35 |
+
}
|
36 |
+
.braintree-input-field {
|
37 |
+
height: 42px;
|
38 |
+
max-width: 340px;
|
39 |
+
padding: 0 10px;
|
40 |
+
border: 1px solid lightgrey;
|
41 |
+
background: white;
|
42 |
+
}
|
43 |
+
.braintree-card-input-field {
|
44 |
+
height: 50px;
|
45 |
+
width: 100%;
|
46 |
+
max-width: 372px;
|
47 |
+
border: 1px solid lightgrey;
|
48 |
+
position: relative;
|
49 |
+
background: white;
|
50 |
+
}
|
51 |
+
.braintree-card-input-field .card-type {
|
52 |
+
position: absolute;
|
53 |
+
top: 0;
|
54 |
+
left: 0;
|
55 |
+
bottom: 0;
|
56 |
+
padding: 0 10px 0 8px;
|
57 |
+
}
|
58 |
+
.braintree-card-input-field .card-type img {
|
59 |
+
height: 48px;
|
60 |
+
}
|
61 |
+
.braintree-card-input-field #card-number {
|
62 |
+
float: left;
|
63 |
+
height: 48px;
|
64 |
+
width: 100%;
|
65 |
+
padding-left: 66px;
|
66 |
+
box-sizing: border-box;
|
67 |
+
}
|
68 |
+
#braintree-expiration-container {
|
69 |
+
display: block;
|
70 |
+
width: 100%;
|
71 |
+
vertical-align: middle;
|
72 |
+
font-size: 0;
|
73 |
+
}
|
74 |
+
.braintree-expiration {
|
75 |
+
width: 70px;
|
76 |
+
display: inline-block;
|
77 |
+
*zoom: 1;
|
78 |
+
*display: inline;
|
79 |
+
}
|
80 |
+
.braintree-expiration-seperator {
|
81 |
+
vertical-align: top;
|
82 |
+
line-height: 42px;
|
83 |
+
display: inline-block;
|
84 |
+
*zoom: 1;
|
85 |
+
*display: inline;
|
86 |
+
font-size: 30px;
|
87 |
+
padding: 0 8px;
|
88 |
+
}
|
89 |
+
.braintree-cvv {
|
90 |
+
width: 80px;
|
91 |
+
}
|
92 |
+
.braintree-hostedfield .cvv-what-is-this {
|
93 |
+
margin-left: 0;
|
94 |
+
}
|
95 |
+
#paypal-container iframe {
|
96 |
+
display: none;
|
97 |
+
}
|
98 |
+
/* PayPal headless button */
|
99 |
+
button.braintree-paypal-button {
|
100 |
+
background: #019cde;
|
101 |
+
color: white;
|
102 |
+
height: 46px;
|
103 |
+
line-height: 46px;
|
104 |
+
padding: 0 20px 0 18px;
|
105 |
+
border: none;
|
106 |
+
border-radius: 3px;
|
107 |
+
-webkit-border-radius: 3px;
|
108 |
+
font-size: 14px;
|
109 |
+
float: left;
|
110 |
+
cursor: pointer;
|
111 |
+
}
|
112 |
+
button.braintree-paypal-button.braintree-paypal-loading {
|
113 |
+
background: #014c6b url('../../../images/gene/braintree/paypal-loading.gif') center center no-repeat;
|
114 |
+
background-size: 32px;
|
115 |
+
}
|
116 |
+
button.braintree-paypal-button.braintree-paypal-loading > span {
|
117 |
+
opacity: 0;
|
118 |
+
}
|
119 |
+
button.braintree-paypal-button.braintree-paypal-loading:hover {
|
120 |
+
background: #014c6b url('../../../images/gene/braintree/paypal-loading.gif') center center no-repeat;
|
121 |
+
}
|
122 |
+
button.braintree-paypal-button:hover {
|
123 |
+
background: #0175a6;
|
124 |
+
}
|
125 |
+
button.braintree-paypal-button > span {
|
126 |
+
display: block;
|
127 |
+
height: 46px;
|
128 |
+
line-height: 46px;
|
129 |
+
background: url('../../../images/gene/braintree/paypal.png') right center no-repeat;
|
130 |
+
background-size: 80px;
|
131 |
+
padding-right: 94px;
|
132 |
+
}
|
133 |
+
/* Saved Accounts */
|
134 |
+
#creditcard-saved-accounts,
|
135 |
+
#paypal-saved-accounts {
|
136 |
+
font-size: 0;
|
137 |
+
width: 100%;
|
138 |
+
}
|
139 |
+
#creditcard-saved-accounts tr,
|
140 |
+
#paypal-saved-accounts tr {
|
141 |
+
border-bottom: 1px dotted lightgrey;
|
142 |
+
}
|
143 |
+
#creditcard-saved-accounts tr td,
|
144 |
+
#paypal-saved-accounts tr td {
|
145 |
+
vertical-align: middle;
|
146 |
+
}
|
147 |
+
#payment_form_gene_braintree_creditcard #creditcard-saved-accounts label,
|
148 |
+
#payment_form_gene_braintree_paypal #paypal-saved-accounts label,
|
149 |
+
#payment_form_gene_braintree_creditcard #creditcard-saved-accounts .label,
|
150 |
+
#payment_form_gene_braintree_paypal #paypal-saved-accounts .label {
|
151 |
+
width: 100%;
|
152 |
+
padding: 0;
|
153 |
+
text-align: left;
|
154 |
+
float: none;
|
155 |
+
}
|
156 |
+
#payment_form_gene_braintree_creditcard p,
|
157 |
+
#payment_form_gene_braintree_paypal p {
|
158 |
+
padding: 0;
|
159 |
+
}
|
160 |
+
#creditcard-saved-accounts tr.other-row,
|
161 |
+
#paypal-saved-accounts tr.other-row {
|
162 |
+
border-bottom: 0;
|
163 |
+
}
|
164 |
+
#creditcard-saved-accounts label {
|
165 |
+
float: left;
|
166 |
+
padding: 10px 0;
|
167 |
+
line-height: 40px;
|
168 |
+
width: 100%;
|
169 |
+
}
|
170 |
+
#creditcard-saved-accounts tr.other-row label,
|
171 |
+
#paypal-saved-accounts tr.other-row label {
|
172 |
+
padding: 8px 0;
|
173 |
+
}
|
174 |
+
#paypal-saved-accounts label {
|
175 |
+
padding: 6px 0;
|
176 |
+
line-height: 40px;
|
177 |
+
}
|
178 |
+
#creditcard-saved-accounts label img,
|
179 |
+
#paypal-saved-accounts label img {
|
180 |
+
margin-left: 6px;
|
181 |
+
height: 40px;
|
182 |
+
float: left;
|
183 |
+
}
|
184 |
+
#creditcard-saved-accounts label .saved-card-info,
|
185 |
+
#paypal-saved-accounts label .saved-paypal-email {
|
186 |
+
margin-left: 14px;
|
187 |
+
float: left;
|
188 |
+
}
|
189 |
+
#creditcard-saved-accounts label .saved-card-info span {
|
190 |
+
line-height: 40px;
|
191 |
+
}
|
192 |
+
#creditcard-saved-accounts label .saved-card-info span.saved-expiry-date {
|
193 |
+
font-size: 12px;
|
194 |
+
font-weight: normal;
|
195 |
+
margin-left: 14px;
|
196 |
+
}
|
197 |
+
#gene_braintree_creditcard_store_in_vault_div label,
|
198 |
+
label[for="gene_braintree_paypal_store_in_vault"] {
|
199 |
+
width: auto!important;
|
200 |
+
}
|
201 |
+
#paypal-container {
|
202 |
+
float: right;
|
203 |
+
}
|
204 |
+
/* Saved Accounts */
|
205 |
+
#creditcard-saved-accounts,
|
206 |
+
#paypal-saved-accounts {
|
207 |
+
font-size: 0;
|
208 |
+
width: 100%;
|
209 |
+
}
|
210 |
+
#creditcard-saved-accounts em,
|
211 |
+
#paypal-saved-accounts em {
|
212 |
+
float: none;
|
213 |
+
position: static;
|
214 |
+
right: 0;
|
215 |
+
top: 0;
|
216 |
+
color: #636363;
|
217 |
+
}
|
218 |
+
#creditcard-saved-accounts tr,
|
219 |
+
#paypal-saved-accounts tr {
|
220 |
+
border-bottom: 1px dotted lightgrey;
|
221 |
+
}
|
222 |
+
#creditcard-saved-accounts tr.other-row,
|
223 |
+
#paypal-saved-accounts tr.other-row {
|
224 |
+
border-bottom: 0;
|
225 |
+
}
|
226 |
+
#creditcard-saved-accounts label {
|
227 |
+
padding: 14px 0;
|
228 |
+
line-height: 48px;
|
229 |
+
width: auto;
|
230 |
+
}
|
231 |
+
#creditcard-saved-accounts tr.other-row label,
|
232 |
+
#paypal-saved-accounts tr.other-row label {
|
233 |
+
padding: 18px 0;
|
234 |
+
}
|
235 |
+
#paypal-saved-accounts label {
|
236 |
+
padding: 8px 0;
|
237 |
+
line-height: 48px;
|
238 |
+
width: auto;
|
239 |
+
}
|
240 |
+
#creditcard-saved-accounts label img {
|
241 |
+
float: left;
|
242 |
+
}
|
243 |
+
#creditcard-saved-accounts label .saved-card-info,
|
244 |
+
#paypal-saved-accounts label .saved-paypal-email {
|
245 |
+
margin-left: 12px;
|
246 |
+
float: left;
|
247 |
+
}
|
248 |
+
#creditcard-saved-accounts label .saved-card-info span {
|
249 |
+
display: block;
|
250 |
+
line-height: 24px;
|
251 |
+
}
|
252 |
+
#creditcard-saved-accounts label .saved-card-info span.saved-expiry-date {
|
253 |
+
font-size: 12px;
|
254 |
+
margin-left: 0;
|
255 |
+
padding-left: 7px;
|
256 |
+
}
|
skin/frontend/base/default/css/gene/braintree/integrations/fancycheckout.less
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@import '../core/_general';
|
2 |
+
@import '../core/_hostedfields';
|
3 |
+
@import '../core/_paypal';
|
4 |
+
@import '../core/_saved';
|
5 |
+
|
6 |
+
#paypal-container {
|
7 |
+
float: right;
|
8 |
+
}
|
9 |
+
|
10 |
+
/* Saved Accounts */
|
11 |
+
#creditcard-saved-accounts, #paypal-saved-accounts {
|
12 |
+
font-size: 0;
|
13 |
+
width: 100%;
|
14 |
+
|
15 |
+
em {
|
16 |
+
float: none;
|
17 |
+
position: static;
|
18 |
+
right: 0;
|
19 |
+
top: 0;
|
20 |
+
color: #636363;
|
21 |
+
}
|
22 |
+
}
|
23 |
+
#creditcard-saved-accounts tr, #paypal-saved-accounts tr {
|
24 |
+
border-bottom: 1px dotted lightgrey;
|
25 |
+
}
|
26 |
+
#creditcard-saved-accounts tr.other-row, #paypal-saved-accounts tr.other-row {
|
27 |
+
border-bottom: 0;
|
28 |
+
}
|
29 |
+
#creditcard-saved-accounts label {
|
30 |
+
padding: 14px 0;
|
31 |
+
line-height: 48px;
|
32 |
+
width: auto;
|
33 |
+
}
|
34 |
+
#creditcard-saved-accounts tr.other-row label, #paypal-saved-accounts tr.other-row label {
|
35 |
+
padding: 18px 0;
|
36 |
+
}
|
37 |
+
#paypal-saved-accounts label {
|
38 |
+
padding: 8px 0;
|
39 |
+
line-height: 48px;
|
40 |
+
width: auto;
|
41 |
+
}
|
42 |
+
#creditcard-saved-accounts label img {
|
43 |
+
float: left;
|
44 |
+
}
|
45 |
+
#creditcard-saved-accounts label .saved-card-info, #paypal-saved-accounts label .saved-paypal-email {
|
46 |
+
margin-left: 12px;
|
47 |
+
float: left;
|
48 |
+
}
|
49 |
+
#creditcard-saved-accounts label .saved-card-info span {
|
50 |
+
display: block;
|
51 |
+
line-height: 24px;
|
52 |
+
}
|
53 |
+
#creditcard-saved-accounts label .saved-card-info span.saved-expiry-date {
|
54 |
+
font-size: 12px;
|
55 |
+
margin-left: 0;
|
56 |
+
padding-left: 7px;
|
57 |
+
}
|