/** * NOTICE OF LICENSE * * This source file is subject to the MIT License (MIT) * that is bundled with this package in the file LICENSE.md. * * @author mElements S.A. * @copyright mElements S.A. * @license MIT License **/ // jQuery Mask Plugin v1.14.16 // github.com/igorescobar/jQuery-Mask-Plugin var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,n,f){a instanceof String&&(a=String(a));for(var p=a.length,k=0;kg?h=10*d:e>=h&&e!==g?c.maskDigitPosMapOld[h]||(e=h,h=h-(k-l)-a,c.maskDigitPosMap[h]&&(h=e)):h>e&&(h=h+(l-k)+f)}return h},behaviour:function(d){d= d||window.event;c.invalid=[];var e=b.data("mask-keycode");if(-1===a.inArray(e,l.byPassKeys)){e=c.getMasked();var h=c.getCaret(),g=b.data("mask-previus-value")||"";setTimeout(function(){c.setCaret(c.calculateCaretPosition(g))},a.jMaskGlobals.keyStrokeCompensation);c.val(e);c.setCaret(h);return c.callbacks(d)}},getMasked:function(a,b){var h=[],f=void 0===b?c.val():b+"",g=0,k=d.length,n=0,p=f.length,m=1,r="push",u=-1,w=0;b=[];if(e.reverse){r="unshift";m=-1;var x=0;g=k-1;n=p-1;var A=function(){return-1< g&&-1') } paynow.addApplePayEnabledToCookie(); }, overrideDefaults: function() { if (!window.hasOwnProperty('paynowOverrides')) { return; } if (window.paynowOverrides.hasOwnProperty('selectors')) { for (const [key, value] of Object.entries(window.paynowOverrides.selectors)) { if (paynow.selectors.hasOwnProperty(key)) { paynow.selectors[key] = value; } } } if (window.paynowOverrides.hasOwnProperty('config')) { for (const [key, value] of Object.entries(window.paynowOverrides.config)) { if (paynow.config.hasOwnProperty(key)) { paynow.config[key] = value; } } } }, termsValidate: function() { if (paynow.config.validateTerms == false) { return true } if (paynow.isTermsChecked()) { $(paynow.selectors.termsErrorLabel).text('') return true } else { return false } }, blikFormSubmit: function (e) { if (e && e.preventDefault) { e.preventDefault() } $(paynow.selectors.blikErrorLabel).text('') $(paynow.selectors.termsErrorLabel).text('') if (paynow.termsValidate() == false) { $(paynow.selectors.termsErrorLabel).text($(paynow.selectors.form).data('terms-message')) prestashop.emit('paynow_event_blik_submit_fail', { type: 'terms_not_accepted', }) return } if (paynow.isOnePageCheckout()) { paynow.triggerOnePageCheckoutPlaceOrder() return; } paynow.blikButton.disable() paynow.chargeBlik( function (data, textStatus, jqXHR) { window.location.href = data.redirect_url }, function (data, textStatus, jqXHR) { paynow.blikButton.enable() $(paynow.selectors.blikErrorLabel).text(data.message) prestashop.emit('paynow_event_blik_submit_fail', { type: 'xhr_ok_but_error', response: data, textStatus: textStatus, jqXHR: jqXHR, }) }, function (jqXHR, textStatus, errorThrown) { paynow.blikButton.enable() $(paynow.selectors.blikErrorLabel).text($(paynow.selectors.form).data('error-message')) prestashop.emit('paynow_event_blik_submit_fail', { type: 'xhr_error', jqXHR: jqXHR, textStatus: textStatus, errorThrown: errorThrown }) } ) }, blikFormPrepare: function() { if ($(paynow.selectors.blikCode).length != 1) { return } $(paynow.selectors.blikCode).mask('000 000', {placeholder: "___ ___"}) if ($(paynow.selectors.form).data('blik-autofocus') == '1') { $(paynow.selectors.blikCode).focus(); } if ($(paynow.selectors.blikCode).is(':visible')) { paynow.paymentButton.disable() paynow.paymentButton.hide() } else { paynow.paymentButton.enable() paynow.paymentButton.show() } }, blikValidate: function () { blik_code_value = $(paynow.selectors.blikCode).val().replace(/\s/g, ''); if (blik_code_value.length === 6 && !isNaN(parseInt(blik_code_value)) && parseInt(blik_code_value)) { $(paynow.selectors.blikErrorLabel).text(''); paynow.blikButton.enable() return true } else { paynow.blikButton.disable() return false } }, pblValidate: function () { if (paynow.config.validateTerms && paynow.isTermsChecked()) { paynow.paymentButton.enable(); return true } else { paynow.paymentButton.disable(); return false } }, isOnePageCheckout: function () { // support for: Supercheckout by Knownband if ($('#velsof_supercheckout_form').length) { return true } return false }, isTermsChecked: function () { if (paynow.config.allTermsHaveToBeChecked) { return !$(paynow.selectors.terms).is(':not(:checked)') } else { return $(paynow.selectors.terms).is(':checked') } }, triggerOnePageCheckoutPlaceOrder: function () { // support for: Supercheckout by Knownband if ($('#velsof_supercheckout_form').length) { $("#supercheckout_confirm_order").trigger('click') } }, chargeBlik: function (onSuccess, onFail, onError) { $.ajax($(paynow.selectors.form).data('action'), { method: 'POST', type: 'POST', data: { 'blikCode': $(paynow.selectors.blikCode).val().replace(/\s/g, ""), 'token': $(paynow.selectors.form).data('token') }, }).success(function (data, textStatus, jqXHR) { if (data.success === true) { if (typeof onSuccess == 'function') { onSuccess(data, textStatus, jqXHR) } } else { if (typeof onFail == 'function') { onFail(data, textStatus, jqXHR) } } }).error(function (jqXHR, textStatus, errorThrown) { if (typeof onError == 'function') { onError(jqXHR, textStatus, errorThrown) } }); }, addApplePayEnabledToCookie: function () { let applePayEnabled = false; if (window.ApplePaySession) { applePayEnabled = window.ApplePaySession.canMakePayments(); } document.cookie = 'applePayEnabled=' + (applePayEnabled ? '1' : '0'); }, paymentButton: { show: function () { $(paynow.selectors.paymentButton).show(); }, hide: function () { $(paynow.selectors.paymentButton).hide(); }, disable: function () { $(paynow.selectors.paymentButton).prop('disabled', true); if (paynow.config.useCssClassDisabled) { $(paynow.selectors.paymentButton).addClass('disabled'); } }, enable: function () { $(paynow.selectors.paymentButton).prop('disabled', false); if (paynow.config.useCssClassDisabled) { $(paynow.selectors.paymentButton).removeClass('disabled'); } } }, blikButton: { disable: function () { $(paynow.selectors.blikButton).prop('disabled', true); if (paynow.config.useCssClassDisabled) { $(paynow.selectors.blikButton).addClass('disabled'); } }, enable: function () { $(paynow.selectors.blikButton).prop('disabled', false); if (paynow.config.useCssClassDisabled) { $(paynow.selectors.blikButton).removeClass('disabled'); } }, show: function () { $(paynow.selectors.blikButton).show(); }, hide: function () { $(paynow.selectors.blikButton).hide(); } } }; $(document).ready(paynow.init); // backward compatibility; in case someone is using old functions in own code function enableBlikSupport() { paynow.blikFormPrepare() } function paynowPblPaymentBtnCheck() { paynow.pblValidate() } function enablePblSupport() {}