(function(bv){var u=bv.CC_NUMBER="number";var a9=bv.CC_EXP_MONTH="exp_month";var aJ=bv.CC_EXP_YEAR="exp_year"; var J=bv.CC_HOLDER="cardholder";var bu=bv.CC_CVC="cvc";var aE=bv.CC_AMOUNT="amount"; var bl=bv.CC_AMOUNT_INT="amount_int";var bh=bv.CC_CURRENCY="currency";var bp=bv.CC_SHOPPER_ID="shopper_id"; var bd=bv.CC_EMAIL="email";var K=bv.CC_FIRST_NAME="first_name";var E=bv.CC_LAST_NAME="last_name"; var o=bv.DD_NUMBER="number";var t=bv.DD_BANK="bank";var C=bv.DD_HOLDER="accountholder"; var r=bv.DD_COUNTRY="country";var k=bv.DD_BIC="bic";var Y=bv.DD_IBAN="iban";var av=bv.E_CC_PREFIX="field_invalid_card_"; var bi=bv.E_CC_INVALID_NUMBER="field_invalid_card_number";var az=bv.E_CC_INVALID_EXPIRY="field_invalid_card_exp"; var aO=bv.E_CC_INVALID_EXP_MONTH="field_invalid_card_exp_month";var bt=bv.E_CC_INVALID_EXP_YEAR="field_invalid_card_exp_year"; var ad=bv.E_CC_INVALID_CVC="field_invalid_card_cvc";var bw=bv.E_CC_INVALID_HOLDER="field_invalid_card_holder"; var Q=bv.E_CC_INVALID_AMOUNT="field_invalid_amount";var N=bv.E_CC_INVALID_AMOUNT_INT="field_invalid_amount_int"; var v=bv.E_CC_INVALID_CURRENCY="field_invalid_currency";var ae=bv.E_CC_INVALID_SHOPPER_ID="field_invalid_shopper_id"; var x=bv.E_CC_INVALID_EMAIL="field_invalid_email";var a7=bv.E_CC_INVALID_FIRST_NAME="field_invalid_first_name"; var B=bv.E_CC_INVALID_LAST_NAME="field_invalid_last_name";var ai=bv.E_DD_INVALID_NUMBER="field_invalid_account_number"; var af=bv.E_DD_INVALID_BANK="field_invalid_bank_code";var au=bv.E_DD_INVALID_HOLDER="field_invalid_account_holder"; var P=bv.E_DD_INVALID_BANK_DATA="field_invalid_bank_data";var aN=bv.E_DD_INVALID_IBAN="field_invalid_iban"; var w=bv.E_DD_INVALID_COUNTRY="field_invalid_country";var a0=bv.E_DD_INVALID_BIC="field_invalid_bic"; var ac=bv.DEBIT_TYPE_ELV="elv";var be=bv.DEBIT_TYPE_SEPA="sepa";var Z=bv.PAYMENT_NOT_TESTDATA="payment_not_testdata"; var a4=bv.RDP_TYPE="type";var aY=bv.RDP_TYPE_POSTFINANCE_CARD="postfinance_card"; var a2=bv.RDP_TYPE_PAYPAL="paypal";var T=bv.RDP_TYPE_SOFORT="sofort";var g=bv.RDP_TYPE_KONTOSECURE="kontosecure"; var i=bv.RDP_CHECKSUM="checksum";var bo=bv.RDP_PUBLIC_KEY="public_key";var D=bv.RDP_RETURN_URL="return_url"; var A=bv.RDP_CANCEL_URL="cancel_url";var aw=bv.RDP_APP_ID="app_id";var aa=bv.E_RDP_INVALID_PUBLIC_KEY="field_invalid_public_key"; var aU=bv.E_RDP_INVALID_CHECKSUM="field_invalid_checksum";var aQ=bv.E_RDP_INVALID_APP_ID="field_invalid_app_id"; var h=bv.E_USE_CREATE_TRANSACTION="use_create_transaction";var bj=bv.E_FRAME_NOT_FOUND="frame_not_found"; var a3=bv.E_FRAME_NOT_LOADED="frame_not_loaded";var c=bv.E_FRAME_CONTAINER_NOT_FOUND="container_not_found"; var bn=bv.E_FRAME_INVALID_STYLESHEET="invalid_stylesheet_url";var am=bv.FRAME_MESSAGE_LOADED="frame_loaded"; var bb=bv.FRAME_MESSAGE_READY="frame_ready";var F=bv.FRAME_MESSAGE_RESIZED="frame_resized"; var aC=bv.FRAME_MESSAGE_CREATE_TOKEN="create_token";var j=bv.FRAME_MESSAGE_OPTIONS="options"; var aj=bv.FRAME_MESSAGE_CREATE_TOKEN_DATA="create_token_data";var al=bv.FRAME_MESSAGE_CREATE_TOKEN_RESULT="create_token_result"; var b=bv.FRAME_MESSAGE_GET_META_REQUEST="get_meta_request";var H=bv.FRAME_MESSAGE_GET_META_RESULT="get_meta_result"; var aV=bv.FRAME_PARAM_KEY_APIKEY="apiKey";var bA=bv.FRAME_PARAM_KEY_WINLOC="windowLocation"; var f=bv.BRIDGE_HOST="https://bridge.paymill.de";var W=bv.FRAME_HOST=f+"/frame"; var aS=bv.FRAME_MESSAGE_HEADER="paymill:";var L=10000;var ay={};var aK=bv.RDP_NAMES={}; aK[aY]="";aK[a2]="";var aI={sessionCreateUrl:{test:"https://test-psp.paymill.de/rdp/start",live:"https://psp.paymill.de/rdp/start"},endUrl:{test:"https://test-psp.paymill.de/rdp/finish",live:"https://psp.paymill.de/rdp/finish"}}; var aL={"4012888888881881":true,"5169147129584558":true};var ah=[{type:"American Express",pattern:/^3[47][0-9]{13}$/,luhn:true,cvcLength:[3,4],numLength:[15]},{type:"Discover",pattern:/^6011[0-9]{12}$/,luhn:true,cvcLength:[3],numLength:[16]},{type:"Discover",pattern:/^64[4-9][0-9]{13}$/,luhn:true,cvcLength:[3],numLength:[16]},{type:"Discover",pattern:/^65[0-9]{14}$/,luhn:true,cvcLength:[3],numLength:[17]},{type:"Discover",pattern:/^622(12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|91[0-9]|92[0-5])[0-9]{10}$/,luhn:true,cvcLength:[3],numLength:[16]},{type:"UnionPay",pattern:/^62[0-9]{14,17}$/,luhn:false,cvcLength:[3],numLength:[16,17,18,19]},{type:"Diners Club",pattern:/^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,luhn:true,cvcLength:[3],numLength:[13,14]},{type:"JCB",pattern:/^(?:2131|1800|35[0-9]{3})[0-9]{11}$/,luhn:true,cvcLength:[3],numLength:[15,16]},{type:"Maestro",pattern:/^(6759[0-9]{2})[0-9]{6,13}$/,luhn:true,cvcLength:[0,3,4],numLength:[12,13,14,15,16,17,18,19]},{type:"Maestro",pattern:/^(50[0-9]{4})[0-9]{6,13}$/,luhn:true,cvcLength:[0,3,4],numLength:[12,13,14,15,16,17,18,19]},{type:"Maestro",pattern:/^5[6-9][0-9]{10,17}$/,luhn:true,cvcLength:[0,3,4],numLength:[12,13,14,15,16,17,18,19]},{type:"Maestro",pattern:/^6[0-9]{11,18}$/,luhn:true,cvcLength:[0,3,4],numLength:[12,13,14,15,16,17,18,19]},{type:"MasterCard",pattern:/^5[1-5][0-9]{14}$/,luhn:true,cvcLength:[3],numLength:[16]},{type:"MasterCard",pattern:/^2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12})$/,luhn:true,cvcLength:[3],numLength:[16]},{type:"Visa",pattern:/^4([0-9]{12}|[0-9]{15})$/,luhn:true,cvcLength:[3],numLength:[13,16]}]; var aM={DE:22,AT:20,BE:16,BG:22,HR:21,CY:28,CZ:24,DK:18,EE:20,FI:18,FR:27,GR:27,HU:28,IE:22,IT:27,LV:21,LT:20,LU:20,MT:31,NL:18,PL:28,PT:25,RO:24,SK:24,SI:19,ES:24,SE:24,GB:22,IS:26,LI:21,MC:27,NO:15,SM:27,CH:21}; var ak={A:"10",B:"11",C:"12",D:"13",E:"14",F:"15",G:"16",H:"17",I:"18",J:"19",K:"20",L:"21",M:"22",N:"23",O:"24",P:"25",Q:"26",R:"27",S:"28",T:"29",U:"30",V:"31",W:"32",X:"33",Y:"34",Z:"35"}; if(!Array.prototype.indexOf){Array.prototype.indexOf=function(bD){if(this===null||this===undefined){throw new TypeError() }var bE=Object(this);var bB=bE.length>>>0;if(bB===0){return -1}var bF=0;if(arguments.length>1){bF=Number(arguments[1]); if(isNaN(bF)){bF=0}else{if(bF!==0&&bF!=Infinity&&bF!=-Infinity){bF=(bF>0||-1)*Math.floor(Math.abs(bF)) }}}if(bF>=bB){return -1}var bC=bF>=0?bF:Math.max(bB-Math.abs(bF),0);for(;bC0){return bC.cvcLength.indexOf(bE.length)!=-1&&null!==bE.match(/^\d+$/) }else{return bC.cvcLength.indexOf(bE.length)!=-1}}}return false};bv.validateExpMonth=function bs(bB){return/^([1-9]|0[1-9]|1[012])$/.test(bv.tr(bB)) };bv.validateExpYear=function I(bB){return/^\d{4}$/.test(bv.tr(bB))};bv.validateExpiry=function aG(bF,bD){var bE,bB,bC; if(!bv.validateExpMonth(bF)||!bv.validateExpYear(bD)){return false}bF=parseInt(bv.tr(bF),10); bD=parseInt(bv.tr(bD),10);bE=new Date();bB=bE.getFullYear();bC=bE.getMonth()+1;return(bD>bB)||(bD===bB&&bF>=bC) };bv.validateAmount=function V(bB){bB=bv.tr(bB);return/^([0-9]+)(\.[0-9]+)?$/.test(bB) };bv.validateAmountInt=function n(bB){bB=bv.tr(bB);return/^[0-9]+$/.test(bB)};bv.validateCurrency=function O(bB){bB=bv.tr(bB); return/^[A-Z]{3}$/.test(bB)};bv.validateHolder=function a(bB){if(!bB){return false }return/^.{4,128}$/.test(bv.tr(bB))};bv.validateAccountNumber=function bg(bB){return/^\d+$/.test(bv.clr(bB)) };bv.validateBankCode=function q(bB){return/^\d{8}$/.test(bv.clr(bB))};bv.validateEmail=function at(bB){var bC=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/; return bC.test(bB)};bv.validateCPF=function p(bC){var bH=0;var bJ=10;var bK,bB,bI,bE,bD; if(typeof bC!=="object"||!d(bC)){return false}else{if([9,10,11].indexOf(bC.length)===-1){return false }else{if(bC.length===9){bC.unshift(0,0)}else{if(bC.length===10){bC.unshift(0)}}}}bK=bC.pop(); bB=bC.pop();for(var bG=0;bG=0){return bv.validateCPF(bB) }else{if([13,14].indexOf(bB.length)>=0){return bv.validateCNPJ(bB)}else{return false }}};bv.cardType=function ap(bC){var bB;if(bv.validateCardNumber(bC)){bB=bv.cardFromNumber(bC) }return bB?bB.type:"Unknown"};bv.getApiKey=function m(){if(typeof PAYMILL_PUBLIC_KEY==="undefined"){throw new Error("No public api key is set. You need to set the global PAYMILL_PUBLIC_KEY variable to your public api key in order to use this api.") }return PAYMILL_PUBLIC_KEY};bv.isTestKey=function ar(bB){return(bB+"").match(/^\d{10}/)||(typeof PAYMILL_TEST_MODE!=="undefined"&&PAYMILL_TEST_MODE===true) };bv.transport={execute:function z(bC,bB,bD){throw new Error("paymill.transport.execute() not available!") }};bv.sessions={execute:function z(bC,bB,bD){throw new Error("paymill.sessions.execute() not available!") }};bv.dom={css:function aD(bC,bB){throw new Error("paymill.dom.css() not available!") },computedStyle:function bc(bB,bC){throw new Error("paymill.dom.computedStyle() not available!") },bind:function(bC,bB,bD){throw new Error("paymill.dom.bind() not available!")},unbind:function(bC,bB,bD){throw new Error("paymill.dom.unbind() not available!") },innerWidth:function(){throw new Error("paymill.dom.innerWidth() not available!") },innerHeight:function(){throw new Error("paymill.dom.innerHeight() not available!") }};bv.createToken=function a6(bF,bH,bB,bE){var bG=bv.getApiKey();var bD={type:"createToken"}; try{if(bF[i]!==undefined){throw h}bD.data=(bF[t]===undefined&&bF[k]===undefined)?bv.validateCreditCardRequest(bF,bG):bv.validateDirectDebitRequest(bF); bv.transport.execute(bG,bD,bH,bB,bE)}catch(bC){setTimeout(function(){bH({apierror:bC}) },0)}};bv.createCORSRequest=function bz(bD,bB){var bC=new window.XMLHttpRequest(); if("withCredentials" in bC){bC.open(bD,bB,true)}else{if(typeof window.XDomainRequest!="undefined"){bC=new window.XDomainRequest(); bC.open(bD,bB)}else{bC=null}}return bC};bv.getBankName=function aH(bF,bG){if(bF===""){return }var bE="";try{bE=bv.getBlzFromBankParam(bF)}catch(bB){bG({apierror:bB});return}if(typeof JSON!=="object"){setTimeout(function(){bG({apierror:"Woops, there was an error creating the request."}) },0);return}var bC=bv.getBlzUrl(bE);var bD=bv.createCORSRequest("GET",bC);if(!bD){setTimeout(function(){bG({apierror:"Woops, there was an error creating the request."}) },0);return}bD.onload=function(){var bI=bD.responseText;var bH=JSON.parse(bI).data; if(typeof bH.success!=="undefined"){if(bH.success){bG(null,bH.name)}else{bG({apierror:bH.error}) }}else{bG({apierror:"Woops, there was an error extracting the request."})}};bD.onerror=function(){bG({apierror:"Woops, there was an error making the request."}) };bD.send()};bv.getBlzFromBankParam=function a5(bC){if(/\D/.test(bC)){var bB=bC.toString(); if(bB.length==8){return bB+"XXX"}else{if(bB.length==11){return bB}else{if(bv.validateIban(bB)){return bB.substr(4,8) }else{throw aN}}}}else{if(bC.toString().length!=8){throw af}return bC.toString()}}; bv.getBlzUrl=function l(bB){return bv.BRIDGE_HOST+"/blz/"+bB};bv.disableTds=function an(bC,bB){return(bv.isTestKey(bC)&&aL[bB]!==true) };bv.validateCreditCardRequest=function U(bD,bC){var bB={};bB[u]=bv.clr(bD[u]);bB[a9]=bv.tr(bD[a9]); bB[aJ]=bv.tr(bD[aJ]);bB[bu]=bv.tr(bD[bu]);bB[J]=bv.tr(bD[J]);bB[bd]=bv.tr(bD[bd]); bB[aE]=bv.tr(bD[aE]);bB[bl]=bv.tr(bD[bl]);bB[bh]=bv.tr(bD[bh]);bB[bp]=bv.tr(bD[bp]); bB[a9]=("0"+bB[a9]).slice(-2);if(!bv.validateCardNumber(bB[u])){throw bi}if(!bv.validateExpiry(bB[a9],bB[aJ])){throw az }if(!bv.validateCvc(bB[bu],bB[u])){throw ad}if(bB[J]===""){delete bB[J]}if(bB[bd]===""){delete bB[bd] }else{if(!bv.validateEmail(bB[bd])){throw x}}if(bv.validateAmountInt(bB[bl])){bB[aE]=bv.increaseMonetaryUnit(bB[bl]); delete bB[bl]}else{if(bB[bl]!==undefined&&bB[bl]!==""){throw N}else{delete bB[bl] }}if(bv.validateAmount(bB[aE])){bB[aE]=bv.increaseMonetaryUnit(bB[aE],1,2)}else{if(bB[aE]!==undefined&&bB[aE]!==""){throw Q }}if(bB[bh]!==undefined&&bB[bh]!==""&&!bv.validateCurrency(bB[bh])){throw v}if((bB[aE]===undefined||bB[aE]==="")&&(bB[bh]!==undefined&&bB[bh]!=="")){throw Q }else{if((bB[aE]!==undefined&&bB[aE]!=="")&&(bB[bh]===undefined||bB[bh]==="")){throw v }}if(bB[bp]!==undefined&&bB[bp]!==""){bB[bp]=bv.clrShopperId(bB[bp]);bB[K]=bv.tr(bD[K]); bB[E]=bv.tr(bD[E]);if(!bv.validateShopperId(bB[bp])){throw ae}else{if(!bB[bd]){throw x }else{if(bB[K]===undefined||bB[K]===""){throw a7}else{if(bB[E]===undefined||bB[E]===""){throw B }}}}}else{delete bB[bp]}return bB};bv.validateDirectDebitRequest=function R(bD){var bC={}; var bB=bv.getDebitType(bD);if(bB==be){bC[Y]=bv.clr(bD[Y]);bC[k]=bv.clr(bD[k]);bv.validateIban(bC[Y],true); if(!bv.validateBic(bC[k])){throw a0}if(bC[k].toString().length==8){bC[k]=bC[k]+"XXX" }if(bC[k].toString().length!=11){throw a0}bC[r]=bD[Y].substr(0,2)}else{if(bB==ac){bC[o]=bv.clr(bD[o]); bC[t]=bv.clr(bD[t]);if(!bv.validateAccountNumber(bC[o])){throw ai}if(!bv.validateBankCode(bC[t])){throw af }bC[r]="DE"}else{throw P}}bC[C]=bv.tr(bD[C]);if(bC[C]===undefined||bC[C]===""){throw au }if(!bv.validateHolder(bC[C])){throw au}return bC};bv.getDebitType=function aA(bC){var bB="unknown"; if((bC[Y]!==undefined)&&(bC[k]!==undefined)){bB=be}else{if((bC[t]!==undefined)&&(bC[o]!==undefined)){bB=ac }}return bB};bv.validateIban=function aZ(bC,bB){var bF,bD;try{bC=bv.clr(bC.toString()).toUpperCase(); if(bC.length<5){throw aN}if(!/^[A-Z]{2}[0-9]{2}[A-Z0-9]+$/.test(bC)){throw aN}bF=bC.substr(0,2); if(aM[bF]===undefined){throw w}bD=aM[bF];if(bD!=bC.length){throw aN}return true}catch(bE){if(bB){throw bE }else{return false}}};bv.checkIbanChecksum=function br(bC){var bB=bv.getIbanChecksumNumber(bC); return bv.getIbanModulo(bB)==="01"};bv.getIbanChecksumNumber=function ao(bB){var bD=bB.substr(4)+bB.substr(0,4); bD=bD.toUpperCase();for(var bC in ak){bD=bD.replace(bC,ak[bC])}return bD};bv.getIbanModulo=function aB(bC){var bG=0; var bE=9;var bB=true;var bF="";while(bB){if(bC.substr(bG,bE).length<7){bB=false;bE=bC.substr(bG,bE).length }var bD=bF+bC.substr(bG,bE);bF=(bD%97)+"";if(bF.length===1){bF="0"+bF}bG=bG+bE;bE=7 }return bF};bv.validateBic=function bq(bB){bB=bv.clr(bB).toUpperCase();return/[A-Z]{6}[A-Z1-9]{2}([A-Z\d]{3})?/.test(bB) };var a8=function a8(bB,bG,bJ,bH){try{var bD=bv.validateCheckoutData(bB,bG);var bE=bv.getApiKey(); var bI=bv.isTestKey(bE)?aI.sessionCreateUrl.test:aI.sessionCreateUrl.live;var bC=bv.isTestKey(bE)?aI.endUrl.test:aI.endUrl.live; bv.makeGetCorsRequest(bI,bD,function(bK){if(bK.brand===aY){var bL={termUrl:bK.termUrl,aiReq:bK.aiReq}; bv.handlePostfinanceStart(bK.rdp_session_id,bK.url,bC,bL,bD[i],aK[aY],bG,bJ,bH)}else{if([a2,T,g].indexOf(bK.brand)>=0){bv.handleRdp(bK.url) }}},bG)}catch(bF){setTimeout(function(){bG({apierror:bF})},0)}};bv.createTransaction=a8; bv.createPayment=a8;bv.makeGetCorsRequest=function bx(bB,bD,bC,bF){if(bD!==null){bB=bB+"?"+bv.getUrlParamsFromObject(bD) }if(typeof JSON!=="object"){setTimeout(function(){bF({apierror:"Woops, there was an error creating the request."}) },0);return}var bE=bv.createCORSRequest("GET",bB);if(!bE){setTimeout(function(){bF({apierror:"Woops, there was an error creating the request."}) },0);return}bE.onload=function(){var bH=bE.responseText;var bG=JSON.parse(bH);if(bG.data!==undefined){bC(bG.data) }else{if(bG.error!==undefined){bF({apierror:bG.error})}else{bF({apierror:"unknown_error"}) }}};bE.onerror=function(){setTimeout(function(){bF({apierror:"Woops, there was an error making the request."}) },0);return};bE.send()};bv.getUrlParamsFromObject=function s(bC){var bD=[];for(var bB in bC){if(bC.hasOwnProperty(bB)){bD.push(encodeURIComponent(bB)+"="+encodeURIComponent(bC[bB])) }}return bD.join("&")};bv.validateCheckoutData=function bf(bD){var bC={};bC[i]=bv.tr(bD[i]); bC[bo]=bv.tr(bD[bo]);if(!bv.validateNonEmptyString(bC[bo])){try{bC[bo]=bv.getApiKey() }catch(bB){throw aa}}if(!bv.validateNonEmptyString(bC[i])){throw aU}if(aw in bD){bC[aw]=bv.tr(bD[aw]); if(!bv.validateNonEmptyString(bC[aw])){throw aQ}}return bC};bv.validateNonEmptyString=function aW(bB){if(bB===undefined||bB===null){return false }return bv.tr(bB.toString()).length>0};bv.isString=function bm(bB){return(Object.prototype.toString.call(bB)==="[object String]") };bv.isArray=function d(bB){return(Object.prototype.toString.call(bB)==="[object Array]") };bv.debounce=function by(bD,bF,bC){var bI,bH,bB,bG,bJ;var bE=function(){var bK=new Date().getTime()-bG; if(bK=0){bI=setTimeout(bE,bF-bK)}else{bI=null;if(!bC){bJ=bD.apply(bB,bH); if(!bI){bB=bH=null}}}};return function(){bB=this;bH=arguments;bG=new Date().getTime(); var bK=bC&&!bI;if(!bI){bI=setTimeout(bE,bF)}if(bK){bJ=bD.apply(bB,bH);bB=bH=null}return bJ }};bv.getRandomInt=function aT(bC,bB){if(bC===undefined){bC=0}if(bB===undefined){bB=L }return Math.floor(Math.random()*(bB-bC))+bC};bv.registerMessageListener=function ax(bB){if(window.addEventListener){window.addEventListener("message",bB,false) }else{if(window.attachEvent){window.attachEvent("onmessage",bB)}else{}}};bv.callbackImmediately=function ab(bE,bD,bC,bB){if(!bE){return }if(bD){bE(ba(bD,bC))}else{if(bB){bE(undefined,bB)}else{bE()}}};bv.callbackDelayed=function M(bE,bD,bC,bB){setTimeout(function(){bv.callbackImmediately(bE,bD,bC,bB) },0)};var ba=function ba(bC,bB){if(bB===undefined){return{apierror:bC}}return{apierror:bC,message:bB} }})(window.paymill={});(function(b,d,a){b.getDeviceIdent=function c(){var e={v:"paymill-com"}; (function(){var g=a.createElement("script");g.type="text/javascript";g.async=true; g.src="https://showcase.deviceident.com/pmcom/di-js.js";var f=a.getElementsByTagName("script")[0]; f.parentNode.insertBefore(g,f)})()}})(window.paymill===undefined?window.paymill={}:window.paymill,window,document); (function(d){d.dom=d.dom||{};d.dom.css=function c(h,g){for(var j in g){var i=g[j]; if(typeof i==="number"){i+="px"}h.style[j]=i}};d.dom.computedStyle=function b(h,i){var g=""; if(document.defaultView&&document.defaultView.getComputedStyle){g=document.defaultView.getComputedStyle(h,"").getPropertyValue(i) }else{if(h.currentStyle){i=i.replace(/\-(\w)/g,function(j,k){return k.toUpperCase() });g=h.currentStyle[i]}}return g};d.dom.bind=function f(h,g,i){if(h.addEventListener){h.addEventListener(g,i,false) }else{if(h.attachEvent){h.attachEvent("on"+g,i)}}};d.dom.unbind=function f(h,g,i){if(h.removeEventListener){h.removeEventListener(g,i,false) }else{if(h.detachEvent){h.detachEvent("on"+g,i)}}};d.dom.innerWidth=function a(){if(typeof window.innerWidth==="number"){return window.innerWidth }if(window.documentElement&&typeof window.documentElement.clientWidth==="number"){return window.documentElement.clientWidth }if(document.body&&typeof document.body.clientWidth==="number"){return document.body.clientWidth }};d.dom.innerHeight=function e(){if(typeof window.innerHeight==="number"){return window.innerHeight }if(window.documentElement&&typeof window.documentElement.clientHeight==="number"){return window.documentElement.clientHeight }if(document.body&&typeof document.body.clientHeight==="number"){return document.body.clientHeight }}})(window.paymill===undefined?window.paymill={}:window.paymill);(function(c,i,o){var a=c.frameHandler={}; var g={};a.createTokenViaFrameCallbacks={};a.getMetadataViaFrameCallbacks={};a.createTokenViaFrameTdsInit={}; a.createTokenViaFrameTdsCleanup={};a.frameLoaded=false;var q=a.messageListener=function q(v){if(v.origin!==c.BRIDGE_HOST){return }var w=JSON.parse(v.data);if(!w.frameId||w.frameId!=a.frameId){return}if(w.message&&w.message.indexOf(c.FRAME_MESSAGE_HEADER)===0){var u=w.message.slice(c.FRAME_MESSAGE_HEADER.length); g[u](w.data)}};var h=function h(u){var v=u.callId;if(v&&a.createTokenViaFrameCallbacks[v]){a.createTokenViaFrameCallbacks[v](u.error,u.result) }};var n=function n(u){var v=u.callId;if(v&&a.createTokenViaFrameCallbacks[v]){paymill.transport.handleResponse(u.data,a.createTokenViaFrameCallbacks[v],a.createTokenViaFrameTdsInit[v],a.createTokenViaFrameTdsCleanup[v]) }};var s=function s(u){a.sendFrameMessage(paymill.FRAME_MESSAGE_OPTIONS,a.frameOptions) };var j=function j(u){a.frameLoaded=true;if(a.embedFrameCallback){a.embedFrameCallback() }};var t=function t(u){a.frame.setAttribute("height",u.height)};var b=function b(u){a.getMetadataViaFrameCallbacks[u.callId](u.data) };var f=function f(x){var v=o.location.protocol+"//"+o.location.hostname;var w=["paybutton","partner"]; var u;if(o.location.port!==""){v=v+":"+o.location.port}u=c.FRAME_HOST+"?parent="+encodeURIComponent(v)+"&id="+encodeURIComponent(x); if(i.PAYMILL_PUBLIC_KEY){u+="&public_key="+encodeURIComponent(PAYMILL_PUBLIC_KEY) }if(typeof a.frameOptions.lang==="string"&&a.frameOptions.lang.length===2){u+="&lang="+a.frameOptions.lang.toLowerCase() }if(typeof a.frameOptions.type==="string"&&w.indexOf(a.frameOptions.type)>=0){u+="&type="+a.frameOptions.type }if(a.frameOptions.type==="partner"&&a.frameOptions.theme&&typeof a.frameOptions.theme==="string"&&a.frameOptions.theme.length>=1){u+="&theme="+a.frameOptions.theme }return u};c.createTokenViaFrame=function l(x,y,u,w){if(!a.frame){c.callbackDelayed(y,c.E_FRAME_NOT_FOUND,"Frame not found. Call embedFrame() first!"); return}if(!a.frameLoaded){c.callbackDelayed(y,c.E_FRAME_NOT_LOADED,"Frame not yet loaded. Please wait for embedFrame() to finish, before creating a token!"); return}var v=c.getRandomInt();a.createTokenViaFrameCallbacks[v]=y;a.createTokenViaFrameTdsInit[v]=u; a.createTokenViaFrameTdsCleanup[v]=w;x[paymill.FRAME_PARAM_KEY_APIKEY]=c.getApiKey(); x[paymill.FRAME_PARAM_KEY_WINLOC]=i.location.href;x.callId=v;a.sendFrameMessage(paymill.FRAME_MESSAGE_CREATE_TOKEN,x) };c.getMetadataViaFrame=function d(v){if(!a.frame){c.callbackDelayed(v,c.E_FRAME_NOT_FOUND,"Frame not found. Call embedFrame() first!"); return}if(!a.frameLoaded){c.callbackDelayed(v,c.E_FRAME_NOT_LOADED,"Frame not yet loaded. Please wait for embedFrame() to finish, before creating a token!"); return}var u={callId:c.getRandomInt()};a.getMetadataViaFrameCallbacks[u.callId]=v; a.sendFrameMessage(paymill.FRAME_MESSAGE_GET_META_REQUEST,u)};a.sendFrameMessage=function e(u,v){var w={message:"paymill:"+u,data:v,frameId:a.frameId}; a.frame.contentWindow.postMessage(JSON.stringify(w),c.BRIDGE_HOST)};c.embedFrame=function p(u,w,z){var y; a.removeFrame();if(c.isString(u)){y=o.getElementById(u)}else{if(i.jQuery&&u instanceof jQuery){y=u.get(0) }else{if(u&&u.appendChild){y=u}}}if(!y){c.callbackDelayed(z,c.E_FRAME_CONTAINER_NOT_FOUND,"Container element cannot be found!"); return}var x=c.getRandomInt();var v=(w&&(w.resize||w.resize===false))?"100%":"0"; a.frameReady=false;a.embedFrameCallback=z;a.frameOptions=a.validateFrameOptions(w); a.frameId=x;a.frame=a.createFrame(x,v);y.appendChild(a.frame);a.frame.src=f(x);delete a.frameOptions.lang; if(typeof a.frameOptions.resize==="function"){g[c.FRAME_MESSAGE_RESIZED]=a.frameOptions.resize; delete a.frameOptions.resize}};a.validateFrameOptions=function k(v){var u=["lang","resize","type","theme"]; var x={};if(typeof v==="object"){for(var w=0;w=0){P+="&"+Q}else{P+="?"+Q }return P};var J=f.transport.handleResponse=function J(T,U,P,R){var Q=null;T=T||null; if(T===null){f.logging.createEntry("PaymillBridge",["bridge-jsonp.js","handleResponse()"],"ERROR","JSONP_response_returns_null"); return U(v("internal_server_error"),null)}else{if(T.error){if(/check channelId or login/.test(T.error.message)){return U(v("invalid_public_key")) }return U(v("unknown_error",T.error.message||T.error))}else{var S=T.transaction.processing; if(S.result===u){Q=T.transaction.identification.uniqueId;if(S.redirect){h(T,Q,U,P,R) }else{return U(null,o(Q,T))}}else{return U(a(T),null)}}}};var o=function o(Q,S){var T=S.transaction.customer; var P={token:Q};if(T){var R=S.transaction.account;P.bin=R.bin;P.binCountry=R.binCountry; P.brand=R.brand;P.last4Digits=R.last4Digits;P.ip=T.contact.ip;P.ipCountry=T.contact.ipCountry }return P};var F=function F(){var P=g.createElement("div");P.style.cssText="position: fixed;z-index: 2147483646;top: 0;right: 0;bottom: 0;left: 0;background-color: #000;opacity: 0.5;"; return P};var x=function x(){var S=g.createElement("div");var Q=g.createElement("div"); var R=600;var P=490;S.style.cssText="position: fixed;z-index: 2147483647;top: 0;right: 0;bottom: 0;left: 0;"; Q.id="tdsModalContainer";Q.style.cssText="position: relative;width:"+R+"px;margin-top:"+Math.floor(Math.max(0,f.dom.innerHeight()/2)-(P/2))+"px;margin-right: auto;margin-bottom: 0;margin-left: auto;-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;background: white;font-family: sans-serif;font-size: 14px;-webkit-box-shadow: 0 0 50px rgba(0,0,0,0.3);-moz-box-shadow: 0 0 50px rgba(0,0,0,0.3);box-shadow: 0 0 50px rgba(0,0,0,0.3);"; S.appendChild(Q);return S};var O=function O(Q){var P=g.createElement("div");Q=Q||"3D-Secure"; P.style.cssText="border-bottom: 1px solid #c0c0c0!important;-webkit-border-radius: 5px 5px 0 0;-moz-border-radius: 5px 5px 0 0;border-radius: 5px 5px 0 0;background-color: #dcdcdc;background-image: -moz-linear-gradient(top, #ededed, #c3c3c3);background-image: -ms-linear-gradient(top, #ededed, #c3c3c3);background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ededed), to(#c3c3c3));background-image: -webkit-linear-gradient(top, #ededed, #c3c3c3);background-image: -o-linear-gradient(top, #ededed, #c3c3c3);background-image: linear-gradient(top, #ededed, #c3c3c3);background-repeat: repeat-x;filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#c3c3c3', GradientType=0);*zoom: 1;padding: 9px 0 0 0;height: 30px;text-align: center;"; P.innerHTML=Q;return P};var w=function w(Q){var P=g.createElement("div");var R=g.createElement("iframe"); P.style.cssText="overflow: scroll;-webkit-overflow-scrolling: touch;";R.id="tdsFrame"; R.style.cssText="border:none;width: 600px;height: 400px;";R.src=Q;P.appendChild(R); return P};var N=function N(P){var R=g.createElement("div");var Q=g.createElement("input"); R.style.cssText="padding: 14px 15px 15px;margin-bottom: 0;text-align: right;background-color: #f5f5f5;border-top: 1px solid #ddd;-webkit-border-radius: 0 0 5px 5px;-moz-border-radius: 0 0 5px 5px;border-radius: 0 0 5px 5px;-webkit-box-shadow: inset 0 1px 0 #ffffff;-moz-box-shadow: inset 0 1px 0 #ffffff;box-shadow: inset 0 1px 0 #ffffff;height: 60px;*zoom: 1;"; Q.type="submit";Q.value=f.config("3ds_cancel_label")||"Cancel";Q.style.cssText="display: inline-block;*display: inline;*zoom: 1;padding: 4px 10px 4px;margin-bottom: 0;font-size: 13px;line-height: 20px;*line-height: 20px;color: #333333;text-align: center;text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);vertical-align: middle;cursor: pointer;background-color: #f5f5f5;background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);background-image: linear-gradient(top, #ffffff, #e6e6e6);background-repeat: repeat-x;filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6',GradientType=0);border-color: #e6e6e6 #e6e6e6 #bfbfbf;border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color: #e6e6e6;filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);border: 1px solid #cccccc;*border: 0;border-bottom-color: #b3b3b3;-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;*margin-left: .3em;-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);"; f.dom.bind(Q,"click",P);R.appendChild(Q);return R};var D=function D(){var Q=600;var P=g.getElementById("tdsModalContainer"); if(f.dom.innerWidth()<=(Q/90*100)){P.style.width="90%"}else{P.style.width=Q+"px"}P.style.marginTop=Math.floor(Math.max(0,f.dom.innerHeight()/2)-(P.clientHeight/2))+"px" };var M=function M(S,X,W){var U=g.body||g.getElementsByTagName("body")[0];var R=F(); var T=x();var P=O(W);var V=w(S.tdsUrl);var Q=N(X);T.firstChild.appendChild(P);T.firstChild.appendChild(V); T.firstChild.appendChild(Q);U.insertBefore(T,U.firstChild);t.push(T);U.insertBefore(R,U.firstChild); t.push(R);f.dom.bind(G,"resize",D);D()};var d=function d(){var P=t.length;while(P--){if(t[P]&&t[P].parentNode){t[P].parentNode.removeChild(t[P]) }}t.length=0;f.dom.unbind(G,"resize",D)};var h=function h(U,Q,aa,X,P){var W=U.transaction.processing.redirect; var Y=(U.transaction.mode===p);var T={url:decodeURIComponent(W.url),tdsUrl:decodeURIComponent(W.tdsUrl),params:{}}; for(var S in W.parameters){T.params[S]=W.parameters[S]}var Z=X||M;var R=P||d;var V=L[Y?"test":"live"]; Z(T,function(){R();aa(v("3ds_cancelled"))});f.receiveMessage();f.receiveMessage(function(ab){if(ab.data==="ok"){R(); aa(null,o(Q,U))}if(ab.data==="cancelled"){R();aa(v("3ds_cancelled"))}},V.replace(/([^:]+:\/\/[^\/]+).*/,"$1")) };var a=function a(R){var Q=R.transaction.processing["return"].code;var P=R.transaction.processing["return"].message; if(n[Q]!==undefined){var S=n[Q];if(Object.prototype.toString.apply(S)==="[object Array]"){return v(S[0]) }return v(S)}return v("unknown_error",P)};var v=function v(Q,P){if(P===undefined){return{apierror:Q} }return{apierror:Q,message:P}};f.sessions.execute=function k(T,S,X,W,R){var U="paymillCallback"+parseInt(Math.random()*4294967295,10); var V=g.createElement("script");var Q=f.isTestKey(T);var P=H[Q?"testCreateUrl":"liveCreateUrl"]+"?jsonPFunction=window.paymill.sessions."+U; E[U]=null;f.sessions[U]=function(Y){E[U]=Y};V.async="async";V.src=P;V.onload=V.onerror=V.onreadystatechange=function(Y){if(!V.readyState||/loaded|complete/.test(V.readyState)){if(E[U]&&E[U].session_id){var Z=E[U].session_id; S.data.session_id=Z;setTimeout(function(){i(Z)},0);delete paymill.sessions[U];delete E[U] }V.onload=V.onerror=V.onreadystatechange=null;q.removeChild(V);f.transport.execute(T,S,X,W,R) }};q.insertBefore(V,q.firstChild)};var i=function i(R){var Q=H.iframeUrl+"?s="+R; var S=H.iframeImg+"?s="+R;var P=g.body||g.getElementsByTagName("body")[0];if(!I){I=g.createElement("div"); I.setAttribute("style","position:fixed; z-index:-9007199254740992; width:1; height:1; bottom:0; right:0"); I.setAttribute("width",1);I.setAttribute("height",1);P.insertBefore(I,P.lastChild) }I.innerHTML='' };f.transport.execute=function m(U,T,Z,Y,Q){var W="paymillCallback"+parseInt(Math.random()*4294967295,10); K[W]=null;f.transport[W]=function(ab){K[W]=ab};var P=f.isTestKey(U);var X=P?p:C;var aa=L[P?"test":"live"]; aa+="?parentUrl="+encodeURIComponent(encodeURIComponent(f.transport.getTdsResultUrl()))+"&"; var S={"transaction.mode":X,"channel.id":U,"response.url":aa,jsonPFunction:"window.paymill.transport."+W}; for(var R in T.data){if(B[R]===undefined){continue}S[B[R]]=T.data[R]}var V=g.createElement("script"); V.async="async";V.src=f.transport.buildRequestUrl(U,S,T.data);V.onload=V.onerror=V.onreadystatechange=function(ac){if(!V.readyState||/loaded|complete/.test(V.readyState)){var ab=K[W]; delete paymill.transport[W];delete K[W];V.onload=V.onerror=V.onreadystatechange=null; q.removeChild(V);f.transport.handleResponse(ab,Z,Y,Q)}};q.insertBefore(V,q.firstChild) };f.transport.getTdsResultUrl=function j(){return G.location.href};f.handlePostfinanceStart=function y(T,aa,V,X,W,U,Z,P,S){var R={url:decodeURIComponent(aa)}; var Y=P||M;var Q=S||d;R.params=X;Y(R,function(){z(T,W,Z,Q)},U);f.receiveMessage(); f.receiveMessage(function(ab){if(ab.data==="rdpready"){z(T,W,Z,Q)}},V.replace(/([^:]+:\/\/[^\/]+).*/,"$1")) };var z=function z(R,Q,S,P){P();f.makeGetCorsRequest(e(R,Q),null,function(T){if(T.status===undefined||T.transaction===undefined){S(v("unknown_error")) }else{S(null,{status:T.status,transaction:T.transaction})}},S)};var e=function e(Q,P){return l+Q+"/"+P };f.handleRdp=function s(P){G.location=P}})(window.paymill===undefined?window.paymill={}:window.paymill,window,document); (function(b){b.logging=b.logging||{};b.logging.getUrlParamsFromObject=function d(h){var i=[]; if(typeof h!=="object"||Object.keys(h).length<1){return""}for(var g in h){if(h.hasOwnProperty(g)){i.push(encodeURIComponent(g)+"="+encodeURIComponent(h[g])) }}return i.join("&")};b.logging.getNavigatorInformation=function c(){var l=["cookieEnabled","doNotTrack","language","onLine","platform","userAgent"]; var h=window.navigator.plugins;var m={};for(var k=0,g=l.length;k0){m.plugins=[];for(var k=0,g=h.length; k