PageSourceSearch

https://www.ofen.de/theme/967962a95bad12b9228e4ecb7b07b142/js/unzer-payment6/unzer-payment6.js

js ofen.de collected 2026-10-04 08:33:20 UTC 19,605 bytes, 1 lines download raw bytes

1(()=>{"use strict";let e=window.PluginBaseClass;class t extends e{init(){this._registerElements(),this._registerEvents()}_registerElements(){this.submitButton=this.getSubmitButton()}getSubmitButton(){let e=document.getElementById(this.options.submitButtonId);return e||(e=document.getElementById(this.options.confirmFormId).getElementsByTagName("button")[0]),e||null}_registerEvents(){this.submitButton.addEventListener("click",this._onSubmitButtonClick.bind(this)),customElements.whenDefined("unzer-payment").then(()=>{let e=document.getElementById("unzer-payment-component");e&&(this.options.unzerCustomer&&e.setCustomerData(this.options.unzerCustomer),this.options.keyPairConfig&&e.setMerchantConfigData(this.options.keyPairConfig))}),document.querySelector("unzer-payment")?customElements.whenDefined("unzer-payment").then(()=>{this.unblockButton()}):this.unblockButton()}unblockButton(){let e=document.querySelector('[data-unzer-blocked-button="true"]');if(e){var t;e.removeAttribute("disabled"),e.removeAttribute("data-unzer-blocked-button"),(t=document.querySelector(".unzer-blocked-button-message"))===null||void 0===t||t.remove()}}setSubmitButtonActive(e){e?(this.submitButton.classList.remove(this.options.disabledClass),this.submitButton.disabled=!1):(this.submitButton.classList.add(this.options.disabledClass),this.submitButton.disabled=!0)}submitTypeId(e,t){if(document.getElementById(this.options.resourceIdElementId).value=e,t){let e=document.getElementById(this.options.threatMetrixIdElementId);e&&(e.value=t)}this.setSubmitButtonActive(!0),this.submitButton.click(),this.setSubmitButtonActive(!1)}showNotLoadedError(){this.showError({message:this.options.errorNotReady})}showError(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=document.getElementsByClassName(this.options.errorWrapperClass).item(0),o=document.querySelectorAll(this.options.errorContentSelector)[0];t&&""!==o.innerText?o.innerText="".concat(o.innerText,"\n").concat(e.message):o.innerText=e.message,n.hidden=!1,n.scrollIntoView({block:"end",behavior:"smooth"}),this.setSubmitButtonActive(!0),this.submitting=!1}renderErrorToElement(e,t){let n=document.getElementsByClassName(this.options.errorWrapperClass).item(0),o=document.querySelectorAll(this.options.errorContentSelector)[0];n.hidden=!1,o.innerText=e.message,t.appendChild(n)}async _onSubmitButtonClick(e){if(!0===this.submitting)return;if(this.submitting=!0,e.preventDefault(),!this._validateForm()){this.submitting=!1,this.setSubmitButtonActive(!0);return}this.setSubmitButtonActive(!1);let t=document.querySelector(this.options.savedDeviceSelectedRadioButtonSelector);if(t&&t.id!==this.options.savedDeviceRadioButtonNewAccountId)this.submitTypeId(t.value,null);else{let e=document.getElementById("unzer-payment-component");if(e){if(void 0===e.submit){this.showNotLoadedError();return}try{let t=await e.submit();if(t.submitResponse){if(!0===t.submitResponse.success){if("object"==typeof e.currentPaymentMethod&&e.currentPaymentMethod.tagName.toLowerCase().includes("-paylater")&&!t.threatMetrixId){this.showNotLoadedError();return}this.submitTypeId(t.submitResponse.data.id,t.threatMetrixId||null)}else this.showError({message:this.options.generalError})}else this.showError({message:this.options.generalError})}catch(t){e.scrollIntoView({block:"end",behavior:"smooth"}),this.submitting=!1,this.setSubmitButtonActive(!0)}}else this.setSubmitButtonActive(!0),this.submitButton.click(),this.setSubmitButtonActive(!1)}}_validateForm(){let e=!0,t=document.forms[this.options.confirmFormId].elements;this._clearErrorMessage();for(let n=0;n<t.length;n++){let o=t[n];if(!o.checkValidity())return o.dataset.customError&&this.showError({message:o.dataset.customError}),o.classList.add("is-invalid"),!1;o.required&&""===o.value?(o.classList.add("is-invalid"),0===o.labels.length&&e?o.scrollIntoView({block:"end",behavior:"smooth"}):o.labels.length>0&&this.showError({message:this.options.errorShouldNotBeEmpty.replace(/%field%/,o.labels[0].innerText)},!0),e=!1):o.classList.remove("is-invalid")}return e}_clearErrorMessage(){let e=document.getElementsByClassName(this.options.errorWrapperClass).item(0),t=document.querySelectorAll(this.options.errorContentSelector)[0];e.hidden=!0,t.innerText=""}getB2bCustomerObject(e){let t="".concat(e.firstName," ").concat(e.lastName),n=e.birthday?new Date(e.birthday):null,o={firstname:e.firstName,lastname:e.lastName,email:e.email,company:e.activeBillingAddress.company,salutation:e.salutation.salutationKey,billingAddress:{name:t,street:e.activeBillingAddress.street,zip:e.activeBillingAddress.zipcode,city:e.activeBillingAddress.city,country:e.activeBillingAddress.country.iso},shippingAddress:{name:t,street:e.activeShippingAddress.street,zip:e.activeShippingAddress.zipcode,city:e.activeShippingAddress.city,country:e.activeShippingAddress.country.iso}};return n&&(o.birthDate=n.getFullYear()+"-"+(n.getMonth()+1).toString().padStart(2,"0")+"-"+n.getDay().toString().padStart(2,"0")),o}}
1t.options={publicKey:null,shopLocale:null,unzerCustomer:null,keyPairConfig:null,submitButtonId:"confirmFormSubmit",disabledClass:"disabled",resourceIdElementId:"unzerResourceId",threatMetrixIdElementId:"unzerThreatMetrixId",confirmFormId:"confirmOrderForm",errorWrapperClass:"unzer-payment--error-wrapper",errorContentSelector:".unzer-payment--error-wrapper .alert-content",errorShouldNotBeEmpty:"%field% should not be empty",errorNotReady:"Payment method is not loaded yet. Please wait.",generalError:"Error! Please try again.",isOrderEdit:!1,savedDeviceRadioButtonSelector:'*[name="savedPaymentDevice"]',savedDeviceRadioButtonNewAccountId:"device-new",savedDeviceSelectedRadioButtonSelector:'*[name="savedPaymentDevice"]:checked'},t.submitting=!1;let n=window.PluginBaseClass;class o extends n{init(){this._unzerPaymentPlugin=window.PluginManager.getPluginInstances("UnzerPaymentBase")[0]}_handleError(e){this._unzerPaymentPlugin.showError(e)}_setSubmitButtonActive(e){this._unzerPaymentPlugin.setSubmitButtonActive(e)}_getSubmitButton(){return this._unzerPaymentPlugin.getSubmitButton()}}o._unzerPaymentPlugin=null,window.PluginBaseClass;class i extends o{init(){super.init(),this._registerEvents()}_registerEvents(){if(this.options.hasSavedDevices){let e=this.el.querySelectorAll(this.options.radioButtonSelector);for(let t=0;t<e.length;t++)e[t].addEventListener("change",e=>this._onRadioButtonChange(e));document.querySelector(this.options.selectedRadioButtonSelector).dispatchEvent(new Event("change"))}}_onRadioButtonChange(e){let t=e.target;this.el.querySelector(this.options.elementWrapperSelector).hidden=t.id!==this.options.radioButtonNewAccountId}}i.options={elementWrapperSelector:".unzer-payment-create-component-container",radioButtonSelector:'*[name="savedPaymentDevice"]',radioButtonNewAccountId:"device-new",selectedRadioButtonSelector:'*[name="savedPaymentDevice"]:checked',hasSavedDevices:!1},window.PluginBaseClass;class s extends o{init(){super.init(),this._createForm(),this._hideBuyButton()}_disableApplePay(){document.querySelector(this.options.applePayMethodSelector).remove(),document.querySelectorAll("[data-unzer-payment-apple-pay-v2]").forEach(e=>e.remove()),this._handleError({message:this.options.noApplePayMessage}),this._unzerPaymentPlugin.setSubmitButtonActive(!1)}_createForm(){customElements.whenDefined("unzer-payment").then(()=>{let e=document.getElementById("unzer-payment-component");e&&(e.setApplePayData(this._getApplePayPaymentRequest()),document.getElementById("unzer-checkout-component").onPaymentSubmit=t=>{t.submitResponse&&t.submitResponse.success&&this._unzerPaymentPlugin._validateForm()&&(e.style.display="none",this._unzerPaymentPlugin.submitting=!0,this._unzerPaymentPlugin.submitTypeId(t.submitResponse.data.id))})})}_getApplePayPaymentRequest(){return{countryCode:this.options.countryCode,currencyCode:this.options.currency,supportedNetworks:this.options.supportedNetworks,merchantCapabilities:this.options.merchantCapabilities,total:{label:this.options.shopName,amount:this.options.amount}}}_hideBuyButton(){document.querySelector(this.options.checkoutConfirmButtonSelector).style.display="none"}}s.options={countryCode:"DE",currency:"EUR",shopName:"Unzer GmbH",amount:"0.0",applePayButtonSelector:".apple-pay-button",checkoutConfirmButtonSelector:"#confirmFormSubmit",applePayMethodSelector:".unzer-payment-apple-pay-v2-method-wrapper",authorizePaymentUrl:"",merchantValidationUrl:"",noApplePayMessage:"",supportedNetworks:["masterCard","visa"]};class r extends o{init(){super.init(),customElements.whenDefined("unzer-payment").then(()=>{let e=document.getElementById("unzer-payment-component");e&&e.setBasketData({amount:this.options.paylaterInstallmentAmount,currencyType:this.options.paylaterInstallmentCurrency,country:this.options.countryIso})})}}r.options={countryIso:"",paylaterInstallmentAmount:"",paylaterInstallmentCurrency:""};class a extends o{init(){super.init(),this._registerGooglePayButton(),this._hideBuyButton()}_registerGooglePayButton(){customElements.whenDefined("unzer-payment").then(()=>{let e=document.getElementById("unzer-payment-component");e&&(e.setGooglePayData({gatewayMerchantId:this.options.gatewayMerchantId,merchantInfo:{merchantName:this.options.merchantName,merchantId:this.options.merchantId},transactionInfo:{currencyCode:this.options.currency,countryCode:this.options.countryCode,totalPriceStatus:"ESTIMATED",totalPrice:String(this.options.amount)},buttonOptions:{buttonColor:this.options.buttonColor,buttonSizeMode:this.options.buttonSizeMode},allowedCardNetworks:this.options.allowedCardNetworks,allowCreditCards:this.options.allowCreditCards,allowPrepaidCards:this.options.allowPrepaidCards}),document.getElementById("unzer-checkout-component").onPaymentSubmit=t=>{t.submitResponse&&t.submitResponse.success?!this._unzerPaymentPlugin._validateForm()||(e.style.display="none",this._unzerPaymentPlugin.submitting=!0,this._unzerPaymentPlugin.submitTypeId(t.submitResponse.data.id)):console.error(t)})})}_hideBuyButton(){this._getSubmitButton().style.display="none"}}a.options={googlePayButtonId:"unzer-google-pay-button",merchantName:"",merchantId:"",gatewayMerchantId:"",currency:"EUR",amount:"0.0",countryCode:"DE",allowedCardNetworks:[],allowCreditCards:!0,allowPrepaidCards:!0,buttonColor:"default",buttonSizeMode:"fill"},a.submitting=!1;class l{static iterate(e,t){if(e instanceof Map||Array.isArray(e))return e.forEach(t);if(e instanceof FormData){for(var n of e.entries())t(n[1],n[0]);return}if(e instanceof NodeList)return e.forEach(t);if(e instanceof HTMLCollection)return Array.from(e).forEach(t);if(e instanceof Object)return Object.keys(e).forEach(n=>{t(e[n],n)});throw Error("The element type ".concat(typeof e," is not iterable!"))}}let c="loader",u={BEFORE:"before",INNER:"inner"};class d{create(){if(!this.exists()){if(this.position===u.INNER){this.parent.innerHTML=d.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),d.getTemplate())}}remove(){let e=this.parent.querySelectorAll(".".concat(c));l.iterate(e,e=>e.remove())}exists(){return this.parent.querySelectorAll(".".concat(c)).length>0}_getPosition(){return this.position===u.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return'<div class="'.concat(c,'" role="status">
1\n                    <span class="').concat("visually-hidden",'">Loading...</span>\n                </div>')}static SELECTOR_CLASS(){return c}constructor(e,t=u.BEFORE){this.parent=e instanceof Element?e:document.body.querySelector(e),this.position=t}}class m{static isTouchDevice(){return"ontouchstart"in document.documentElement}static isIOSDevice(){return m.isIPhoneDevice()||m.isIPadDevice()}static isNativeWindowsBrowser(){return m.isIEBrowser()||m.isEdgeBrowser()}static isIPhoneDevice(){return!!navigator.userAgent.match(/iPhone/i)}static isIPadDevice(){return!!navigator.userAgent.match(/iPad/i)}static isIEBrowser(){return -1!==navigator.userAgent.toLowerCase().indexOf("msie")||!!navigator.userAgent.match(/Trident.*rv:\d+\./)}static isEdgeBrowser(){return!!navigator.userAgent.match(/Edge\/\d+/i)}static getList(){return{"is-touch":m.isTouchDevice(),"is-ios":m.isIOSDevice(),"is-native-windows":m.isNativeWindowsBrowser(),"is-iphone":m.isIPhoneDevice(),"is-ipad":m.isIPadDevice(),"is-ie":m.isIEBrowser(),"is-edge":m.isEdgeBrowser()}}}let p="modal-backdrop",h="modal-backdrop-open",y="no-scroll",g={ON_CLICK:"backdrop/onclick"};class b{create(e){this._removeExistingBackdrops(),document.body.insertAdjacentHTML("beforeend",this._getTemplate());let t=document.body.lastChild;document.documentElement.classList.add(y),setTimeout(function(){t.classList.add(h),"function"==typeof e&&e()},75),this._dispatchEvents()}remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350,t=this._getBackdrops();l.iterate(t,e=>e.classList.remove(h)),setTimeout(this._removeExistingBackdrops.bind(this),e),document.documentElement.classList.remove(y)}_dispatchEvents(){let e=m.isTouchDevice()?"touchstart":"click";document.addEventListener(e,function(e){e.target.classList.contains(p)&&document.dispatchEvent(new CustomEvent(g.ON_CLICK))})}_getBackdrops(){return document.querySelectorAll(".".concat(p))}_removeExistingBackdrops(){if(!1===this._exists())return;let e=this._getBackdrops();l.iterate(e,e=>e.remove())}_exists(){return document.querySelectorAll(".".concat(p)).length>0}_getTemplate(){return'<div class="'.concat(p,'"></div>')}constructor(){return b.instance||(b.instance=this),b.instance}}let v=Object.freeze(new b);class P{static create(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;v.create(e)}static remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;v.remove(e)}static SELECTOR_CLASS(){return p}}let w=Object.freeze(new class extends d{create(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];!this.exists()&&e&&(P.create(),document.querySelector(".".concat(P.SELECTOR_CLASS())).insertAdjacentHTML("beforeend",d.getTemplate()))}remove(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];super.remove(),e&&P.remove()}constructor(){super(document.body)}});class E{static create(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];w.create(e)}static remove(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];w.remove(e)}}let C=window.PluginBaseClass;class S extends C{init(){this.includeJs(),this.registerActions()}includeJs(){if(!document.querySelector('script[src*="static-v2.unzer.com/v2/ui-components/index.js"]')){let e=document.createElement("script");e.type="module",e.src="https://static-v2.unzer.com/v2/ui-components/index.js",document.head.appendChild(e)}}showError(){E.remove();let e=this.el.querySelector(".unzer-express-buttons-error");e&&e.removeAttribute("hidden")}registerActions(){customElements.whenDefined("unzer-payment").then(()=>{let e=this.el.querySelector(".unzer-express-payment");this.options.keyPairConfig&&e.setMerchantConfigData(this.options.keyPairConfig);let t=this.el.querySelector(".unzer-paypal-express"),n=this.el.querySelector(".unzer-google-pay"),o=this.el.querySelector(".unzer-apple-pay");if(e){if(t&&this.registerPaypalExpress(t,e),n){this.registerGooglePay(n,e);let t=n.parentNode;n.remove(),t.appendChild(n)}if(o){this.registerApplePay(o,e);let t=o.parentNode;o.remove(),t.appendChild(o)}}})}registerPaypalExpress(e,t){e.id="unzer-paypal-button-"+Math.floor(1e4*Math.random()),e.addEventListener("click",async e=>{var n;let o;e.stopPropagation(),E.create();try{o=await t.submit()}catch(e){this.showError();return}if(!(null==o?void 0:(n=o.submitResponse)===null||void 0===n?void 0:n.success)){this.showError();return}let i=o.submitResponse.data.id;fetch(this.options.urls.paypal,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paymentTypeId:i})}).then(e=>e.json()).then(e=>{location.href=e.redirectUrl}).catch(()=>{this.showError()})})}registerGooglePay(e,t){t.setGooglePayData({gatewayMerchantId:this.options.googlePay.gatewayMerchantId,merchantInfo:{merchantName:this.options.googlePay.merchantName,merchantId:this.options.googlePay.merchantId},transactionInfo:{currencyCode:this.options.googlePay.currency,countryCode:this.options.googlePay.countryCode,totalPriceStatus:"ESTIMATED",checkoutOption:"DEFAULT",totalPrice:String(this.options.googlePay.amount)},buttonOptions:{buttonColor:this.options.googlePay.buttonColor,buttonSizeMode:this.options.googlePay.buttonSizeMode},allowedCardNetworks:this.options.googlePay.allowedCardNetworks,allowCreditCards:this.options.googlePay.allowCreditCards,allowPrepaidCards:this.options.googlePay.allowPrepaidCards,billingAddressParameters:{format:"MIN"},billingAddressRequired:!0,emailRequired:!0,onPaymentDataChangedCallback:()=>({}),shippingOptionParameters:{},onPaymentAuthorizedCallback:async(e,n,o)=>{var i;let s;try{s=await t.submit()}catch(e){this.showError();return}if(!(null==s?void 0:(i=s.submitResponse)===null||void 0===i?void 0:i.success)){this.showError();return}let r=s.submitResponse.data.id;fetch(this.options.urls.googlePay,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paymentTypeId:r,paymentData:e})}).then(e=>e.json()).then(e=>{location.href=e.redirectUrl}).catch(()=>{this.showError()})},shippingAddressRequired:!0,shippingOptionRequired:!1})}registerApplePay(e,t){console.log("register amount",this.options.applePay.amount);let n={countryCode:this.options.applePay.countryCode,currencyCode:this.options.applePay.currency,supportedNetworks:this.options.applePay.supportedNetworks,merchantCapabilities:this.options.applePay.merchantCapabilities,total:{label:this.options.applePay.shopName,amount:String(this.options.applePay.amount)},requiredShippingContactFields:["postalAddress","name","email","phone"],requiredBillingContactFields:["postalAddress","name","email","phone"],onPaymentAuthorizedCallback:async(e,n,o,i)=>{var s;let r;let a=i.payment.shippingContact,l=i.payment.billingContact;try{r=await t.submit()}catch(e){o(),this.showError();return}if(null==r?void 0:(s=r.submitResponse)===null||void 0===s?void 0:s.success)n();else{o(),this.showError();return}let c=r.submitResponse.data.id;fetch(this.options.urls.applePay,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paymentTypeId:c,paymentData:e,shippingContact:a,billingContact:l})}).then(e=>e.json()).then(e=>{location.href=e.redirectUrl}).catch(()=>{this.showError()})}};n.initApplePaySession=e=>{},null==t||t.setApplePayData(n)}}S.options={googlePay:{},applePay:{},keyPairConfig:null,urls:{}}
1,window.PluginManager.register("UnzerPaymentBase",t,"[data-unzer-payment-base]"),window.PluginManager.register("UnzerPaymentCreditCard",class extends i{},"[data-unzer-payment-credit-card]"),window.PluginManager.register("UnzerPaymentPayPal",class extends i{},"[data-unzer-payment-paypal]"),window.PluginManager.register("UnzerPaymentSepaDirectDebit",class extends i{},"[data-unzer-payment-sepa-direct-debit]"),window.PluginManager.register("UnzerPaymentApplePayV2",s,"[data-unzer-payment-apple-pay-v2]"),window.PluginManager.register("UnzerPaymentPaylaterInvoice",class extends o{},"[data-unzer-payment-paylater-invoice]"),window.PluginManager.register("UnzerPaymentPaylaterInstallment",r,"[data-unzer-payment-paylater-installment]"),window.PluginManager.register("UnzerPaymentPaylaterDirectDebitSecured",class extends o{},"[data-unzer-payment-paylater-direct-debit-secured]"),window.PluginManager.register("UnzerPaymentGooglePay",a,"[data-unzer-payment-google-pay]"),window.PluginManager.register("UnzerPaymentExpressButtons",S,"[data-unzer-payment-express-buttons]")})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.