PageSourceSearch

https://www.drivelog.de/static/js/9055.383bf3f6.js

js drivelog.de collected 2026-10-03 23:12:45 UTC 9,087 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkng_new_technology||=[]).push([[7592,9055],{5069(t,e,n){n.d(e,{k:()=>i});let a=new Map;function i(t){let e=a.get(t);if(e)return e;let n=new Promise((e,n)=>{let i=document.querySelector(`script[src="${t}"]`);if(i)return"true"===i.dataset.loaded?void e():(i.addEventListener("load",()=>e(),{once:!0}),void i.addEventListener("error",()=>n(Error(`Script load error: ${t}`)),{once:!0}));let r=document.createElement("script");r.src=t,r.async=!0,r.onload=()=>{r.dataset.loaded="true",e()},r.onerror=()=>{a.delete(t),r.remove(),n(Error(`Script load error: ${t}`))},document.head.appendChild(r)});return a.set(t,n),n}},7592(t,e,n){n.d(e,{Sy:()=>o,x6:()=>r});let a=null;function i(){return a||(a=n.e(485).then(()=>n(3183)).then(t=>t.default)),a}async function r(t,e=new FormData,n=!0,a="POST"){return(await i()).fetchJson(t,e,n,a)}async function o(t,e=new FormData,n=!0,a="POST"){return(await i()).fetchText(t,e,n,a)}},3424(t,e,n){n.d(e,{A:()=>c});let a=new Map;var i=n(5069),r=n(1794),o=n(9433),s=n(739);class c{checkout;ENVIRONMENT_SANDBOX="TEST";ENVIRONMENT_PRODUCTION="PRODUCTION";paymentService="";isExpress=!1;session;sdk;buttonContainer=null;configuration=null;initialized=!1;abortController=null;constructor(t,e,n=!1,a=""){this.checkout=t,this.paymentService=e,this.isExpress=n,this.session={sessionId:a}}get getConfig(){if(!this.configuration)throw Error(`Zahlungskonfiguration f\xfcr ${this.paymentService} wurde noch nicht initialisiert.`);return this.configuration}
1async init(){this.startCspMonitoring(),this.initialized||(await this.loadConfiguration(),this.initialized=!0)}isInitialized(){return this.initialized}async tokenize(){return""}async submit(t){try{if(!this.needsApi()||this.isExpress)return;let e=new FormData;await this.beforeSubmit(e,t),await s.A.submitToken(this.paymentService,t,e),await this.afterSubmit(e,t)}catch(t){throw console.error("Fehler beim Setzen des Transaktionstokens:",t),await this.onSubmitError(t),t}}needsApi(){return!1}needsContainer(){return!0}async activate(){this.startCspMonitoring()}async deactivate(){this.stopCspMonitoring()}usesOwnButton(){return!1}destroy(){this.abortController&&(this.abortController.abort(),this.abortController=null),this.buttonContainer&&(this.buttonContainer.removeEventListener("click",this.handleButtonContainerClick,!0),this.buttonContainer.parentNode&&this.buttonContainer.parentNode.removeChild(this.buttonContainer)),this.buttonContainer=null,this.sdk=null,this.initialized=!1}activateButton(){this.buttonContainer&&(this.buttonContainer.style.display="")}deactivateButton(){this.buttonContainer&&(this.buttonContainer.style.display="none")}appendButtonContainer(){this.buttonContainer&&this.checkout.getSubmitButtonParentElement().appendChild(this.buttonContainer)}isSandbox(){return this.getConfig.environment===this.ENVIRONMENT_SANDBOX}async beforeSubmit(t,e){}async afterSubmit(t,e){}async onSubmitError(t){}async loadSdk(t,e=null){let n=[(0,i.k)(t)];e&&n.push(function(t){let e=a.get(t);if(e)return e;let n=new Promise((e,n)=>{let i=document.querySelector(`link[href="${t}"]`);if(i)return"true"===i.dataset.loaded?void e():(i.addEventListener("load",()=>{i.dataset.loaded="true",e()},{once:!0}),void i.addEventListener("error",()=>{a.delete(t),n(Error(`Failed to load CSS: ${t}`))},{once:!0}));let r=document.createElement("link");r.rel="stylesheet",r.href=t,r.onload=()=>{r.dataset.loaded="true",e()},r.onerror=()=>{a.delete(t),n(Error(`Failed to load CSS: ${t}`))},document.head.appendChild(r)});return a.set(t,n),n}(e));try{await Promise.all(n)}catch(t){throw console.error(`Fehler beim Laden des SDKs f\xfcr ${this.paymentService||"Zahlungsart"}:`,t),Error(`SDK_LOAD_FAILED: ${t instanceof Error?t.message:"Network or CORS error"}`)}}getTotalAmount(){return r.A.getTotalAmount()}async hasExistingSession(){let t=await s.A.getSessionState(this.paymentService);return t.has_token&&t.is_valid}async createSession(){""===this.session.sessionId&&(this.session=await s.A.createSession(this.paymentService,this.isExpress))}interceptPaymentAction(){this.buttonContainer&&this.buttonContainer.addEventListener("click",this.handleButtonContainerClick,!0)}getCspWhitelistedDomains(){return[]}handleButtonContainerClick=async t=>{let e=this.checkout.getLastForm();if(!e.checkValidity()){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e.reportValidity();return}if(this.isExpress){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),await this.checkout.finalizeCheckout();return}};async loadConfiguration(){if(this.needsApi())try{this.configuration=await o.A.get(this.paymentService)}catch(t){throw console.error(`Fehler beim Laden der Konfiguration f\xfcr ${this.paymentService}:`,t),t}}startCspMonitoring(){this.stopCspMonitoring(),this.paymentService&&""!==this.paymentService.trim()&&(this.abortController=new AbortController,document.addEventListener("securitypolicyviolation",t=>{if(!t.blockedURI)return;let e=t.blockedURI.toLowerCase(),n=this.paymentService.toLowerCase(),a=!1;try{e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname.includes(n)&&(a=!0):n.length>=3&&e.includes(n)&&(a=!0),a||(a=this.getCspWhitelistedDomains().some(t=>{let n=t.trim().toLowerCase();return""!==n&&e.includes(n)}))}catch(t){console.warn("[CSP Monitoring] Fehler beim Parsen der blockierten URI:",t),a=n.length>
1=4&&e.includes(`.${n}.`)}a&&(console.error(`[CSP Blockade] Kritischer Infrastruktur-Versto\xdf: ${this.paymentService} blockiert. Leite Fallback ein.`,{violatedDirective:t.violatedDirective,blockedURI:t.blockedURI}),this.handlePaymentCrashFallback())},{signal:this.abortController.signal}))}stopCspMonitoring(){this.abortController&&(this.abortController.abort(),this.abortController=null)}handlePaymentCrashFallback(){this.destroy(),this.checkout.getService().disablePaymentMethod(this.paymentService)}}},1794(t,e,n){n.d(e,{A:()=>a});class a{static el=null;static getTotalAmount(){return(this.el??=document.querySelector("[data-total-amount]"),this.el)?Number(this.el.dataset.totalAmount??0):0}}},9433(t,e,n){n.d(e,{A:()=>i});var a=n(7592);class i{static urlPaymentConfiguration="/payment/configuration.json";static cache=new Map;static async get(t){let e=this.cache.get(t);if(e)return e;let n=(async()=>{let e=new FormData;e.append("action","get-api-key"),e.append("payment_service",t);let n=await (0,a.x6)(this.urlPaymentConfiguration,e);return{apiKey:n.api_key,merchantId:n.merchant_id,merchantName:n.merchant_name,environment:n.environment,clientId:n.client_id,googlePayName:n.google_pay_name,googlePayMerchantId:n.google_pay_merchant_id}})();return this.cache.set(t,n),n}}},739(t,e,n){n.d(e,{A:()=>i});var a=n(7592);class i{static urlPaymentSession="/payment/session.json";static cache=new Map;static createSession(t,e=!1){let n=this.cacheKey(t,e),i=this.cache.get(n);if(i)return i;let r=(async()=>{let n=new FormData;n.append("payment_service",t),n.append("is_express",e?"1":"0"),n.append("action","create");let i=await (0,a.x6)(this.urlPaymentSession,n),r={sessionId:i.session_id};return i.additional_data&&(r.additionalData={},i.additional_data.crefopay_bill&&(r.additionalData.crefopayBill={paymentServices:i.additional_data.crefopay_bill.payment_services})),r})();return this.cache.set(n,r),r}static async submitToken(t,e,n){let i=n??new FormData;return i.append("payment_service",t),i.append("action","submit"),i.append("token",e),(0,a.x6)(this.urlPaymentSession,i)}static async getSessionState(t){let e=new FormData;return e.append("payment_service",t),e.append("action","status"),(0,a.x6)(this.urlPaymentSession,e)}static invalidate(t){this.cache.delete(this.cacheKey(t,!1)),this.cache.delete(this.cacheKey(t,!0))}static clearCache(){this.cache.clear()}static cacheKey(t,e){return`${t}:${e?"express":"default"}`}}},2724(t,e,n){n.d(e,{B:()=>i});var a=n(5069);async function i(t,e,n,r=()=>{},o=()=>{}){let s="TEST"===e.environment;await Promise.all([(0,a.k)("https://static-eu.payments-amazon.com/checkout.js"),(0,a.k)(s?"https://sandbox.crefopay.de/libs/3.0/amazon-client.js":"https://api.crefopay.de/libs/3.0/amazon-client.js")]),t.dataset.crefopay="amazonPayButton";let c=new window.AmazonClient(e.apiKey,{url:s?"https://sandbox.crefopay.de/secureFields/":"https://api.crefopay.de/secureFields/",placement:n,checkoutLanguage:"de_DE",sandbox:s},r,o);await c.createButton()}},9055(t,e,n){n.r(e),n.d(e,{default:()=>r});var a=n(3424),i=n(2724);class r extends a.A{async init(){await super.init(),await this.createSession(),await this.createButton()}needsApi(){return!0}async activate(){await super.activate(),this.activateButton()}async deactivate(){await super.deactivate(),this.deactivateButton()}usesOwnButton(){return!0}async createButton(){this.buttonContainer=document.createElement("div"),this.interceptPaymentAction(),this.appendButtonContainer(),await (0,i.B)(this.buttonContainer,this.getConfig,"Checkout"),setTimeout(()=>{this.buttonContainer?.style.setProperty("width","100%","important")},500)}getCspWhitelistedDomains(){return["crefopay.de","amazon.com","media-amazon.com","payments-amazon.com"]}}}}]);

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.