Skip to content

Instantly share code, notes, and snippets.

@krautface
Created November 29, 2020 08:06
Show Gist options
  • Save krautface/243aabc63f6f7424ff75e8e9cbd35016 to your computer and use it in GitHub Desktop.
Save krautface/243aabc63f6f7424ff75e8e9cbd35016 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta name="robots" content="noindex">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="./index_files/images/pp144.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="./index_files/images/pp114.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="./index_files/images/pp72.png">
<link rel="apple-touch-icon-precomposed" href="./index_files/images/pp64.png">
<link rel="shortcut icon" sizes="196x196" href="./index_files/images/pp196.png">
<link rel="shortcut icon" type="image/x-icon" href="./index_files/images/favicon.ico">
<link rel="icon" type="image/x-icon" href="./index_files/images/pp32.png">
<link rel="apple-touch-icon" href="./index_files/images/apple-touch-icon.png">
<script src="./index_files/jquery.js"></script>
<script src="./index_files/main.js"></script>
<script src="./index_files/cleave.min.js"></script>
<script src="./index_files/cleave-phone.i18.js"></script>
<style type="text/css" nonce="">
.loading #main {
opacity: .1
}
.spinner {
height: 100%;
width: 100%;
position: absolute;
z-index: 10;
}
.spinner .spinWrap {
width: 200px;
height: 100px;
position: absolute;
top: 45%;
left: 50%;
margin-left: -100px;
margin-top: -100px
}
.framed .spinner {
position: fixed
}
.framed .spinner .spinWrap {
position: fixed;
top: 50%;
height: 75px;
margin-top: -37.5px
}
.spinner .loader,
.spinner .spinnerImage {
height: 100px;
width: 100px;
position: absolute;
top: 0;
left: 50%;
opacity: 1;
filter: alpha(opacity=100)
}
.spinner .spinnerImage {
margin: 28px 0 0 -25px;
background: url(./index_files/images/icon_ot_spin_lock_skinny.png) no-repeat
}
.spinner .loader {
margin: 0 0 0 -55px;
background-color: transparent;
-webkit-animation: rotation .7s infinite linear;
-moz-animation: rotation .7s infinite linear;
-o-animation: rotation .7s infinite linear;
animation: rotation .7s infinite linear;
border-left: 5px solid #cbcbca;
border-right: 5px solid #cbcbca;
border-bottom: 5px solid #cbcbca;
border-top: 5px solid #2380be;
border-radius: 100%
}
.spinner .loadingMessage {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
margin-top: 125px;
text-align: center;
z-index: 100;
outline: 0
}
@-webkit-keyframes rotation {
from {
-webkit-transform: rotate(0)
}
to {
-webkit-transform: rotate(359deg)
}
}
@-moz-keyframes rotation {
from {
-moz-transform: rotate(0)
}
to {
-moz-transform: rotate(359deg)
}
}
@-o-keyframes rotation {
from {
-o-transform: rotate(0)
}
to {
-o-transform: rotate(359deg)
}
}
@keyframes rotation {
from {
transform: rotate(0)
}
to {
transform: rotate(359deg)
}
}
@media only screen and (max-width: 768px) {
.spinner {
.spinWrap {
width: 200px;
height: 100px; //180 or 212
position: fixed;
top: 40%;
left: 50%;
margin-left: -93px; //length of half spinwrap width
margin-top: -50px; //length of half spinwrap height
}
}
}
a.transactionDetails:hover {
cursor: pointer;
}
#telephone {
padding-left: 25px;
}
</style>
<style type="text/css" nonce="">
@charset "UTF-8";
[ng\:cloak],
[ng-cloak],
[data-ng-cloak],
[x-ng-cloak],
.ng-cloak,
.x-ng-cloak,
.ng-hide:not(.ng-hide-animate) {
display: none !important;
}
ng\:form {
display: block;
}
.ng-animate-shim {
visibility: hidden;
}
.ng-anchor {
position: absolute;
}
#timeoutError {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
vertical-align: middle;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
color: #ff2b2b;
font-size: 1.4em;
z-index: 9999;
background: #fff;
width: 100%;
height: 100%;
}
</style>
<link rel="stylesheet" href="./index_files/styles.css" type="text/css">
<title>PayPal-Kaufabwicklung</title>
<body class="ng-scope" aria-busy="false">
<div id="preloaderSpinner" class="preloader spinner" style="display: none;">
<div class="spinWrap">
<p class="spinnerImage"></p>
<p class="loader"></p>
<p class="loadingMessage" id="spinnerMessage">Processing...</p>
</div>
</div>
<div id="timeoutError" style="display: none;">Error: Operation Timed Out.</div>
<div ui-view="" class="ng-scope">
<div xo-checkout="" component-route="route" class="ng-scope ng-isolate-scope">
<div class="" id="outerWrapper">
<xo-merchant-header token="token" class="ng-scope ng-isolate-scope">
<div class="xo-merchant-header-wrapper ng-scope">
<header role="banner">
<div ng-attr-id="{{ props.disableId ? '' : 'header' }}" class="merchantHeader clearfix" id="header">
<div class="headerWrapper">
<span class="merchantName ng-binding ng-scope" directionality-text="merchantDisplayName || merchant.brand_name">
<img alt="cw-mobile.de" src="./index_files/images/logo_email.gif">
</span>
</div>
</div>
</header>
</div>
</xo-merchant-header>
<div id="wrapper" class="clearfix">
<main id="main" tabindex="-1" aria-busy="false">
<xo-header token="token" is-unbranded="isUnbranded" unbranded-title="unbrandedTitle" unbranded-sub-title="unbrandedSubTitle" language-switch="languageSwitchHeader" class="ng-scope ng-isolate-scope">
<div class="row-fluid paypalHeaderWrapper" content="">
<div class="span14 clearfix paypalHeader">
<div id="mobileMerchantHeader">
<xo-merchant-header token="token" disable-id="true" class="ng-isolate-scope">
<div class="xo-merchant-header-wrapper ng-scope">
<header role="banner">
<div ng-attr-id="{{ props.disableId ? '' : 'header' }}" class="merchantHeader clearfix" id="">
<div class="headerWrapper">
<span class="merchantName ng-binding ng-scope" directionality-text="merchantDisplayName || merchant.brand_name">
<img alt="cw-mobile.de" src="./index_files/images/logo_email.gif">
</span>
</div>
</div>
</header>
</div>
</xo-merchant-header>
</div>
<xo-cart token="token" override-show-details="enableCartBreakdown" show-cart-total="showCartTotal" render-cart-container="renderCartContainer" class="ng-isolate-scope">
<div class="cartContainer ng-scope" content="">
<div class="transactionDetailsContainer hasAmount">
<a class="transactionDetails scTrack:hermes-cartExpanded ng-scope" aria-controls="transctionCartDetails"
aria-haspopup="true" role="button" focus-when="" focus-refresh-on="'cart-closed'" pa-marked="1">
<cart-wrapper show-amt="showAmountInCartIcon" show-arrow="showArrow" token="token"
ba-token="checkoutCart.getBaToken()" class="ng-scope ng-isolate-scope"><span class="totalWrapper clearfix"
id="totalWrapper" content="">
<span id="transactionCart" class="hasItems">
<span class="cartIcon" aria-label="Shopping cart"></span>
<span class="ng-scope">
<format-currency class="formatCurrency ng-isolate-scope" code="currencyCode"
amount="getAmount()"><span ng-bind-html="amount_formatted"
class="ltrOverride ng-binding"><span class="pp-amount-total"></span> <span class="currencyCode">EUR</span></span>
</format-currency>
</span>
<span class="arrow ng-scope" aria-label="Show"></span>
</span>
</span>
</cart-wrapper>
</a>
<div class="transctionCartDetails ng-scope" id="transctionCartDetails" modal-box=""
modal-refresh-on="'cart-updated'" modal-cancel="closeCart()" aria-hidden="false">
<div class="details" role="document" focus-when="" focus-refresh-on="'cart-updated'"
focus-element="focusElementCssSelector">
<a id="closeCart" link-button="content('header.close')" class="actions focusableIcon"
ng-click="closeCart($event)" role="button" tabindex="0" aria-label="Schließen" pa-marked="1"></a>
<div>
<h2 class="merchantName ng-scope"
id="merchantName">
<span class="ng-binding ng-scope">cw-mobile.de</span>
</h2>
</div>
<div dynamic-maxheight="'cart-updated'" class="scrollable-middle ng-scope"
style="max-height: 343px;">
<div class="ng-scope">
<div class="ng-scope">
<ul class="detail-items ng-scope">
</ul>
<ul class="detail-extras ng-scope">
<li class="detail-breakdown ng-scope">
</li>
<li ng-repeat="breakdown in checkoutCart.purchase.amounts track by $index"
class="amounts ng-scope">
<span class="itemNameContainer ng-binding">Gesamtbetrag</span>
<span class="itemPrice">
<format-currency code="breakdown.currency_code" amount="breakdown.amount"
class="ng-isolate-scope"><span ng-bind-html="amount_formatted"
class="ltrOverride ng-binding"><span class="pp-amount-gesamtbetrag"></span> <span
class="currencyCode">EUR</span></span></format-currency>
</span>
</li>
<li ng-repeat="breakdown in checkoutCart.purchase.amounts track by $index"
class="amounts ng-scope">
<span class="itemNameContainer ng-binding">Steuer</span>
<span class="itemPrice">
<format-currency code="breakdown.currency_code" amount="breakdown.amount"
class="ng-isolate-scope"><span ng-bind-html="amount_formatted"
class="ltrOverride ng-binding"><span class="pp-amount-steuer"></span> <span
class="currencyCode">EUR</span></span></format-currency>
</span>
</li>
<li ng-repeat="breakdown in checkoutCart.purchase.amounts track by $index"
class="amounts ng-scope">
<span class="itemNameContainer ng-binding">Versand</span>
<span class="itemPrice">
<format-currency code="breakdown.currency_code" amount="breakdown.amount"
class="ng-isolate-scope"><span ng-bind-html="amount_formatted"
class="ltrOverride ng-binding"><span class="pp-amount-versand"></span> <span
class="currencyCode">EUR</span></span></format-currency>
</span>
</li>
</ul>
</div>
</div>
</div>
<div class="ng-scope">
<div class="subTotal ng-scope">
<span class="itemNameContainer ng-binding">Summe</span>
<span class="itemPrice">
<format-currency code="checkoutCart.purchase.amounts.total.currency_code"
amount="checkoutCart.purchase.amounts.total.amount" class="ng-isolate-scope"><span
ng-bind-html="amount_formatted" class="ltrOverride ng-binding"><span class="pp-amount-total"></span></span> <span
class="currencyCode">EUR</span></span></format-currency>
</span>
</div>
</div>
</div>
<div class="pointer"> </div>
</div>
</div>
</div>
</xo-cart>
<xo-close-frame redirectiframe="redirectiframe" redirect-lightbox="redirectLightbox" class="ng-isolate-scope"><a href="https://www.paypal.com/" id="closeButton" target="_parent" role="button" class="ng-binding ng-hide" pa-marked="1"></a>
</xo-close-frame>
</div>
</div>
</xo-header>
<script type="text/html" id="detail-item-tmpl">
<li class="items ng-scope">
<div class="itemNameContainer" tabindex="0">
<a class="more ng-binding" role="button" tabindex="0" aria-label="Mehr anzeigen" pa-marked="1">Mehr</a>
<span title="" class="itemName ng-binding"></span>
</div>
<span class="itemPrice">
<format-currency code="item.amount.currency_code" amount="item.amount.amount"
class="ng-isolate-scope"><span ng-bind-html="amount_formatted"
class="ltrOverride ng-binding"><span class="pp-item-price"></span> <span
class="currencyCode">EUR</span></span></format-currency>
</span>
<item-details ng-show="isExpanded($index) &amp;&amp; item.hasDetails"
currency-code="item.amount.currency_code" details="item.details"
on-click-less="collapse()" class="ng-isolate-scope ng-hide">
<ul focusable="" content="" class="itemDetails" tabindex="0">
<li ng-if="details.sku" class="ng-scope">
<span>
<strong class="ng-binding">Artikel-Nr.:</strong> <span class="item-number ng-binding"></span>
</span>
</li>
<li ng-if="details.hasMore" class="ng-scope">
</li>
</ul>
<a class="less ng-binding" link-button="content('header.srLess')"
ng-click="onClickLess()" role="button" tabindex="0"
aria-label="Weniger anzeigen" pa-marked="1">Weniger</a>
</item-details>
</li>
</script>
<div id="contents">
<div ui-view="" class="ng-scope">
<div xo-guest="" token="token" is-unbranded="isUnbranded" payment-method="paymentMethod" button-params="buttonParams" component-route="route" export="view" class="ng-scope ng-isolate-scope">
<section class="guestWithSignup" id="guestWithSignup" content="">
<div class="row-fluid">
<div class="span14">
<xo-onboard-payment token="token" mode="mode" is-unbranded="isUnbranded" payment-method="paymentMethod" single-step-model="singleStepModel" button-params="buttonParams" class="ng-isolate-scope">
<div class="xo-onboard-payment-wrapper ng-scope">
<div content="" class="singlePagePayment" id="singlePagePayment">
<xo-xoon-header token="token" flags="flags" user="onboard.user" mode="mode" fi-mode="onboard.fiMode" class="ng-isolate-scope"><!-- ngIf: populated && display --><div class="xo-xoon-header-wrapper ng-scope"><div class="headerBox" content="">
<h1 class="alpha ng-binding" id="pageTitle" ng-bind-html="htmlContent(pageTitleContentKey, { merchant_name: merchant_name })">Mit Kreditkarte zahlen</h1>
<p class="subTitle ng-binding" id="pageTitleProps" ng-bind-html="htmlContent(pageTitlePropsContentKey, { subject: subject, countryName: currentCountryName })">Wir geben Ihre Zahlungsdaten nicht an den Händler weiter.</p>
<!-- ngIf: showEmailCheckInfoBox -->
</div>
</div><!-- end ngIf: populated && display --></xo-xoon-header>
<form id="singlePagePaymentForm" name="singlePagePaymentForm" class="singlePagePaymentForm ng-pristine" novalidate="">
<xo-country-list is-unbranded="isUnbranded" token="token" show-mask="showMask" mode="mode" class="ng-isolate-scope"><!-- ngIf: populated && display --><div class="xo-country-list-wrapper ng-scope"><div id="countryList" class="countryList dropdown confidential inputField floatingLabel" content="" floating-label-dropdown="">
<!-- ngIf: blockNonDomesticPayer -->
<div class="custom-select-container">
<select xo-dropdown="" compliance-validation="" dropdown-text-bind-var="selectedCountryObj.name" ng-model="selectedCountryObj" name="countryName" id="countrySelector" ng-attr-aria-describedby="{{ariaDescribedBy}}" class="ng-pristine ng-isolate-scope replaced focused ng-not-empty ng-valid ng-valid-required ng-touched" required="required"><option label="Ägypten" value="EG">Ägypten</option><option label="Albanien" value="AL">Albanien</option><option label="Algerien" value="DZ">Algerien</option><option label="Andorra" value="AD">Andorra</option><option label="Angola" value="AO">Angola</option><option label="Anguilla" value="AI">Anguilla</option><option label="Antigua und Barbuda" value="AG">Antigua und Barbuda</option><option label="Argentinien" value="AR">Argentinien</option><option label="Armenien" value="AM">Armenien</option><option label="Aruba" value="AW">Aruba</option><option label="Aserbaidschan" value="AZ">Aserbaidschan</option><option label="Äthiopien" value="ET">Äthiopien</option><option label="Australien" value="AU">Australien</option><option label="Bahamas" value="BS">Bahamas</option><option label="Bahrain" value="BH">Bahrain</option><option label="Barbados" value="BB">Barbados</option><option label="Belarus" value="BY">Belarus</option><option label="Belgien" value="BE">Belgien</option><option label="Belize" value="BZ">Belize</option><option label="Benin" value="BJ">Benin</option><option label="Bermuda" value="BM">Bermuda</option><option label="Bhutan" value="BT">Bhutan</option><option label="Bolivien" value="BO">Bolivien</option><option label="Bosnien und Herzegowina" value="BA">Bosnien und Herzegowina</option><option label="Botsuana" value="BW">Botsuana</option><option label="Brasilien" value="BR">Brasilien</option><option label="Britische Jungferninseln" value="VG">Britische Jungferninseln</option><option label="Brunei Darussalam" value="BN">Brunei Darussalam</option><option label="Bulgarien" value="BG">Bulgarien</option><option label="Burkina Faso" value="BF">Burkina Faso</option><option label="Burundi" value="BI">Burundi</option><option label="Chile" value="CL">Chile</option><option label="China" value="C2">China</option><option label="Cookinseln" value="CK">Cookinseln</option><option label="Costa Rica" value="CR">Costa Rica</option><option label="Côte d’Ivoire" value="CI">Côte d’Ivoire</option><option label="Dänemark" value="DK">Dänemark</option><option label="Deutschland" value="DE" selected="selected">Deutschland</option><option label="Dominica" value="DM">Dominica</option><option label="Dominikanische Republik" value="DO">Dominikanische Republik</option><option label="Dschibuti" value="DJ">Dschibuti</option><option label="Ecuador" value="EC">Ecuador</option><option label="El Salvador" value="SV">El Salvador</option><option label="Eritrea" value="ER">Eritrea</option><option label="Estland" value="EE">Estland</option><option label="Falklandinseln" value="FK">Falklandinseln</option><option label="Färöer" value="FO">Färöer</option><option label="Fidschi" value="FJ">Fidschi</option><option label="Finnland" value="FI">Finnland</option><option label="Frankreich" value="FR">Frankreich</option><option label="Französisch-Guayana" value="GF">Französisch-Guayana</option><option label="Französisch-Polynesien" value="PF">Französisch-Polynesien</option><option label="Gabun" value="GA">Gabun</option><option label="Gambia" value="GM">Gambia</option><option label="Georgien" value="GE">Georgien</option><option label="Gibraltar" value="GI">Gibraltar</option><option label="Grenada" value="GD">Grenada</option><option label="Griechenland" value="GR">Griechenland</option><option label="Grönland" value="GL">Grönland</option><option label="Guadeloupe" value="GP">Guadeloupe</option><option label="Guatemala" value="GT">Guatemala</option><option label="Guinea" value="GN">Guinea</option><option label="Guinea-Bissau" value="GW">Guinea-Bissau</option><option label="Guyana" value="GY">Guyana</option><option label="Honduras" value="HN">Honduras</option><option label="Indien" value="IN">Indien</option><option label="Indonesien" value="ID">Indonesien</option><option label="Irland" value="IE">Irland</option><option label="Island" value="IS">Island</option><option label="Israel" value="IL">Israel</option><option label="Italien" value="IT">Italien</option><option label="Jamaika" value="JM">Jamaika</option><option label="Japan" value="JP">Japan</option><option label="Jemen" value="YE">Jemen</option><option label="Jordanien" value="JO">Jordanien</option><option label="Kaimaninseln" value="KY">Kaimaninseln</option><option label="Kambodscha" value="KH">Kambodscha</option><option label="Kamerun" value="CM">Kamerun</option><option label="Kanada" value="CA">Kanada</option><option label="Kap Verde" value="CV">Kap Verde</option><option label="Kasachstan" value="KZ">Kasachstan</option><option label="Katar" value="QA">Katar</option><option label="Kenia" value="KE">Kenia</option><option label="Kirgisistan" value="KG">Kirgisistan</option><option label="Kiribati" value="KI">Kiribati</option><option label="Kolumbien" value="CO">Kolumbien</option><option label="Komoren" value="KM">Komoren</option><option label="Kongo-Brazzaville" value="CG">Kongo-Brazzaville</option><option label="Kongo-Kinshasa" value="CD">Kongo-Kinshasa</option><option label="Kroatien" value="HR">Kroatien</option><option label="Kuwait" value="KW">Kuwait</option><option label="Laos" value="LA">Laos</option><option label="Lesotho" value="LS">Lesotho</option><option label="Lettland" value="LV">Lettland</option><option label="Liechtenstein" value="LI">Liechtenstein</option><option label="Litauen" value="LT">Litauen</option><option label="Luxemburg" value="LU">Luxemburg</option><option label="Madagaskar" value="MG">Madagaskar</option><option label="Malawi" value="MW">Malawi</option><option label="Malaysia" value="MY">Malaysia</option><option label="Malediven" value="MV">Malediven</option><option label="Mali" value="ML">Mali</option><option label="Malta" value="MT">Malta</option><option label="Marokko" value="MA">Marokko</option><option label="Marshallinseln" value="MH">Marshallinseln</option><option label="Martinique" value="MQ">Martinique</option><option label="Mauretanien" value="MR">Mauretanien</option><option label="Mauritius" value="MU">Mauritius</option><option label="Mayotte" value="YT">Mayotte</option><option label="Mazedonien" value="MK">Mazedonien</option><option label="Mexiko" value="MX">Mexiko</option><option label="Mikronesien" value="FM">Mikronesien</option><option label="Monaco" value="MC">Monaco</option><option label="Mongolei" value="MN">Mongolei</option><option label="Montenegro" value="ME">Montenegro</option><option label="Montserrat" value="MS">Montserrat</option><option label="Mosambik" value="MZ">Mosambik</option><option label="Namibia" value="NA">Namibia</option><option label="Nauru" value="NR">Nauru</option><option label="Nepal" value="NP">Nepal</option><option label="Neukaledonien" value="NC">Neukaledonien</option><option label="Neuseeland" value="NZ">Neuseeland</option><option label="Nicaragua" value="NI">Nicaragua</option><option label="Niederlande" value="NL">Niederlande</option><option label="Niederländische Antillen" value="AN">Niederländische Antillen</option><option label="Niger" value="NE">Niger</option><option label="Nigeria" value="NG">Nigeria</option><option label="Niue" value="NU">Niue</option><option label="Norfolkinsel" value="NF">Norfolkinsel</option><option label="Norwegen" value="NO">Norwegen</option><option label="Oman" value="OM">Oman</option><option label="Österreich" value="AT">Österreich</option><option label="Palau" value="PW">Palau</option><option label="Panama" value="PA">Panama</option><option label="Papua-Neuguinea" value="PG">Papua-Neuguinea</option><option label="Paraguay" value="PY">Paraguay</option><option label="Peru" value="PE">Peru</option><option label="Philippinen" value="PH">Philippinen</option><option label="Pitcairninseln" value="PN">Pitcairninseln</option><option label="Polen" value="PL">Polen</option><option label="Portugal" value="PT">Portugal</option><option label="Republik Moldau" value="MD">Republik Moldau</option><option label="Réunion" value="RE">Réunion</option><option label="Ruanda" value="RW">Ruanda</option><option label="Rumänien" value="RO">Rumänien</option><option label="Russland" value="RU">Russland</option><option label="Salomonen" value="SB">Salomonen</option><option label="Sambia" value="ZM">Sambia</option><option label="Samoa" value="WS">Samoa</option><option label="San Marino" value="SM">San Marino</option><option label="São Tomé und Príncipe" value="ST">São Tomé und Príncipe</option><option label="Saudi-Arabien" value="SA">Saudi-Arabien</option><option label="Schweden" value="SE">Schweden</option><option label="Schweiz" value="CH">Schweiz</option><option label="Senegal" value="SN">Senegal</option><option label="Serbien" value="RS">Serbien</option><option label="Seychellen" value="SC">Seychellen</option><option label="Sierra Leone" value="SL">Sierra Leone</option><option label="Simbabwe" value="ZW">Simbabwe</option><option label="Singapur" value="SG">Singapur</option><option label="Slowakei" value="SK">Slowakei</option><option label="Slowenien" value="SI">Slowenien</option><option label="Somalia" value="SO">Somalia</option><option label="Sonderverwaltungszone Hongkong" value="HK">Sonderverwaltungszone Hongkong</option><option label="Spanien" value="ES">Spanien</option><option label="Sri Lanka" value="LK">Sri Lanka</option><option label="St. Helena" value="SH">St. Helena</option><option label="St. Kitts und Nevis" value="KN">St. Kitts und Nevis</option><option label="St. Lucia" value="LC">St. Lucia</option><option label="St. Pierre und Miquelon" value="PM">St. Pierre und Miquelon</option><option label="St. Vincent und die Grenadinen" value="VC">St. Vincent und die Grenadinen</option><option label="Südafrika" value="ZA">Südafrika</option><option label="Südkorea" value="KR">Südkorea</option><option label="Suriname" value="SR">Suriname</option><option label="Svalbard und Jan Mayen" value="SJ">Svalbard und Jan Mayen</option><option label="Swasiland" value="SZ">Swasiland</option><option label="Tadschikistan" value="TJ">Tadschikistan</option><option label="Taiwan" value="TW">Taiwan</option><option label="Tansania" value="TZ">Tansania</option><option label="Thailand" value="TH">Thailand</option><option label="Togo" value="TG">Togo</option><option label="Tonga" value="TO">Tonga</option><option label="Trinidad und Tobago" value="TT">Trinidad und Tobago</option><option label="Tschad" value="TD">Tschad</option><option label="Tschechische Republik" value="CZ">Tschechische Republik</option><option label="Tunesien" value="TN">Tunesien</option><option label="Turkmenistan" value="TM">Turkmenistan</option><option label="Turks- und Caicosinseln" value="TC">Turks- und Caicosinseln</option><option label="Tuvalu" value="TV">Tuvalu</option><option label="Uganda" value="UG">Uganda</option><option label="Ukraine" value="UA">Ukraine</option><option label="Ungarn" value="HU">Ungarn</option><option label="Uruguay" value="UY">Uruguay</option><option label="Vanuatu" value="VU">Vanuatu</option><option label="Vatikanstadt" value="VA">Vatikanstadt</option><option label="Venezuela" value="VE">Venezuela</option><option label="Vereinigte Arabische Emirate" value="AE">Vereinigte Arabische Emirate</option><option label="Vereinigte Staaten" value="US">Vereinigte Staaten</option><option label="Vereinigtes Königreich" value="GB">Vereinigtes Königreich</option><option label="Vietnam" value="VN">Vietnam</option><option label="Wallis und Futuna" value="WF">Wallis und Futuna</option><option label="Zypern" value="CY">Zypern</option></select><span class="custom-select" aria-hidden="true"><span><span>Deutschland</span></span></span>
<label for="countrySelector" id="countryListLabel" class="ng-binding">Land/Region</label>
</div>
<!-- ngIf: showMessage -->
</div>
</div><!-- end ngIf: populated && display --></xo-country-list>
<div disable-form="showMask">
<div class="ng-scope">
<div id="cardFields" class="ng-scope">
<xo-credit-card token="token" card="onboard.card" user="onboard.user" name-below="true" card-number-changed="cardNumberChanged" set-buyer-fx-flag="setBuyerFxFlag" class="ng-isolate-scope">
<div class="creditCardInput" content="">
<div class="cardIconsGroup ng-scope" ng-if="!debitCardFlow &amp;&amp; !manageCardFlow &amp;&amp; showAcceptedCardLogos()">
<div class="icons ng-scope" ng-repeat="cardType in cardTypes.allowed">
<div class="cardIcon MASTERCARD"></div>
</div>
<div class="icons ng-scope" ng-repeat="cardType in cardTypes.allowed">
<div class="cardIcon VISA"></div>
</div>
<div class="icons ng-scope" ng-repeat="cardType in cardTypes.allowed">
<div class="cardIcon AMEX"></div>
</div>
<div class="icons ng-scope" ng-repeat="cardType in cardTypes.allowed">
<div class="cardIcon DISCOVER"></div>
</div>
<div class="icons ng-scope" ng-repeat="cardType in cardTypes.allowed">
<div class="cardIcon CUP"></div>
</div>
</div>
<div class="inputField confidential cardNumber creditCardField ng-scope floatingLabel" floating-label="" directionality="">
<input type="tel" ui-validate="{luhn: 'cardLuhnValid($value)', len: 'cardLengthValid($value)', prodType: 'cardProductValid($value)'}" ui-validate-watch="'card.type'" name="cardNumber" id="cc" value="" js-onchange="checkCardForDccCall" maxlength="19" data-number="" autocapitalize="off" data-country="GB" autocomplete="off" pattern="[0-9]*" scroll-to-top="" data-error-key="validation.validCreditCard" xo-error-tooltip="" class="ng-pristine ng-invalid ng-invalid-prod-type ng-invalid-len ng-valid-luhn ng-empty ng-valid-pattern ng-valid-maxlength hasErrorTooltipRuleSpecific ng-touched" aria-describedby="" aria-invalid="false">
<div class="errorTooltip errorTooltipRuleSpecific ng-binding ng-scope" id="epmkohc">Geben Sie eine gültige Kreditkartennummer ein.</div>
<label for="cc" class="focus ng-binding ng-scope">
Kreditkartennummer
</label>
<span class="creditCard" id="creditCard" role="img"></span>
</div>
<div class="expiration confidential ng-scope" id="expiration">
<xo-card-expiry expiry-month="card.expiry_month" expiry-year="card.expiry_year" class="ng-scope ng-isolate-scope">
<div class="xo-card-expiry-wrapper ng-scope">
<div class="expirationField inputField" id="expirationField" content="">
<div class="inputField floatingLabel" floating-label="" directionality="">
<input type="tel" name="expiry_value" id="expiry_value" value="" maxlength="5" autocapitalize="off" aria-describedby="expiryHelp" autocomplete="off" ui-validate="'validate($value)'" placeholder="MM/JJ" data-error-key="validation.validExpirationDate" xo-error-tooltip="" required="" class="ng-pristine ng-invalid ng-invalid-validator ng-empty ng-invalid-required ng-valid-maxlength hasErrorTooltipRuleSpecific hasErrorTooltipRequired hasPlaceholder ng-touched" aria-invalid="false">
<div class="errorTooltip errorTooltipRequired ng-binding ng-scope" id="bhjlypl">
Erforderlich
</div>
<div class="errorTooltip errorTooltipRuleSpecific ng-binding ng-scope" id="zkcygfu">
Geben Sie ein gültiges Ablaufdatum ein.
</div>
<span id="expiryHelp" class="accessAid ng-binding">MM/JJ</span>
<label for="expiry_value" class="ng-binding">Gültig bis</label>
</div>
</div>
</div>
</xo-card-expiry>
<xo-cvv card="card" show-label="true" class="ng-scope ng-isolate-scope">
<div class="xo-cvv-wrapper ng-scope">
<div content="" class="inputField cvvField" id="cvvField">
<div class="cvvSecurityCode inputField floatingLabel" floating-label="" directionality="">
<input type="tel" id="cvv" name="cvv" aria-describedby="securityCodeHelp" maxlength="3" placeholder="3-stellig" autocomplete="off" data-error-key="validation.validCSC" xo-error-tooltip="" class="ng-pristine ng-empty ng-invalid ng-invalid-required ng-valid-pattern ng-valid-minlength ng-valid-maxlength hasErrorTooltipRuleSpecific hasErrorTooltipRequired hasPlaceholder ng-touched" required="required" aria-invalid="false">
<div class="errorTooltip errorTooltipRequired ng-binding ng-scope" id="obdlrkt">
Erforderlich
</div>
<div class="errorTooltip errorTooltipRuleSpecific ng-binding ng-scope" id="lnyvvfb">
Geben Sie eine gültige Kartenprüfnummer ein.</div>
<span id="securityCode" class="creditCard" role="img" aria-label="Die drei letzten Ziffern im Unterschriftsbereich auf der Rückseite Ihrer Kreditkarte">
</span>
<label for="cvv" class="ng-binding ng-scope">Prüfnr.</label>
<span id="securityCodeHelp" class="accessAid ng-binding">Die drei letzten Ziffern im Unterschriftsbereich auf der Rückseite Ihrer Kreditkarte</span>
</div>
</div>
</div>
</xo-cvv>
</div>
</div>
</xo-credit-card>
<xo-name-input user="onboard.user" class="ng-isolate-scope">
<div class="xo-name-input-wrapper ng-scope">
<div class="fieldGroup name clearfix GB" content="">
<div class="ng-scope">
<div class="ng-scope">
<div class="inputField half confidential floatingLabel" data-test-id="first-name-container" floating-label="" disable-autoblur="" directionality="">
<input id="firstName" name="firstName" prefix-attrs-with="" value="" pattern="(?!^\d+$)^.+$" autocapitalize="off" autocomplete="off" maxlength="100" xo-error-tooltip="" data-test-id="user.first_name" class="ng-pristine ng-valid ng-empty ng-valid-pattern ng-valid-required ng-valid-maxlength hasErrorTooltipRequired ng-touched" required="required" aria-describedby="" aria-invalid="false">
<div class="errorTooltip errorTooltipRequired ng-binding ng-scope" id="kecyj">
Erforderlich</div>
<label for="firstName" prefix-attrs-with="" class="ng-binding">
Vorname
</label>
</div>
</div>
</div>
<div class="ng-scope">
<div class="ng-scope">
<div class="inputField half confidential last-child floatingLabel" data-test-id="last-name-container" floating-label="" directionality="">
<input id="lastName" name="lastName" prefix-attrs-with="" value="" pattern="(?!^\d+$)^.+$" autocapitalize="off" autocomplete="off" maxlength="100" xo-error-tooltip="" data-test-id="user.last_name" class="ng-pristine ng-valid ng-empty ng-valid-pattern ng-valid-required ng-valid-maxlength hasErrorTooltipRequired ng-touched" required="required" aria-describedby="" aria-invalid="false">
<div class="errorTooltip errorTooltipRequired ng-binding ng-scope" id="isdzfrb">
Erforderlich</div>
<label for="lastName" prefix-attrs-with="" class="ng-binding">
Nachname
</label>
</div>
</div>
</div>
</div>
</div>
</xo-name-input>
</div>
<h2 class="billingLabel sectionTitle ng-binding ng-scope">
Rechnungsadresse</h2>
<div id="billingAddress" class="ng-scope">
<xo-add-address address="onboard.billing_address" country="locale.country" class="ng-isolate-scope">
<div class="xo-add-address-wrapper ng-scope">
<div id="addressForm" class="addressForm" content="">
<div class="addressGroup clearfix">
<div ng-switch-when="GB" class="ng-scope">
<div class="ng-scope">
<div class="inputField confidential line1 floatingLabel" floating-label="" directionality="">
<input type="text" name="billingLine1" id="billingLine1" ng-model="address.line1" value="" maxlength="50" autocapitalize="off" autocomplete="off" data-error-key="common.valueInvalid" xo-error-tooltip="" prefix-attrs-with="billing" class="ng-valid-maxlength hasErrorTooltipRuleSpecific hasErrorTooltipRequired ng-touched ng-empty ng-dirty ng-valid-parse ng-invalid ng-invalid-required" required="required" aria-describedby="" aria-invalid="false"><div class="errorTooltip errorTooltipRequired ng-binding ng-scope" id="edwgjep" style="">Erforderlich</div><div class="errorTooltip errorTooltipRuleSpecific ng-binding ng-scope" id="iioccxw" style=""></div>
<label for="billingLine1" id="billingLine1Label" prefix-attrs-with="billing" class="ng-binding">
Straße und Hausnummer
</label>
</div>
<div class="inputField confidential line2 floatingLabel" floating-label="" directionality="">
<input type="text" name="billingLine2" id="billingLine2" aria-required="" ng-model="address.line2" value="" maxlength="50" xo-error-tooltip="" autocapitalize="off" autocomplete="off" data-error-key="common.valueInvalid" prefix-attrs-with="billing" class="ng-pristine ng-valid ng-empty ng-valid-maxlength ng-valid-required hasErrorTooltipRuleSpecific ng-touched" aria-describedby="" aria-invalid="false"><div class="errorTooltip errorTooltipRuleSpecific ng-binding ng-scope" id="kvfmjoq"></div>
<label for="billingLine2" id="billingLine2Label" prefix-attrs-with="billing" class="ng-binding">
Adresszusatz
</label>
</div>
<div class="inputField confidential postalCode floatingLabel" floating-label="">
<input type="text" name="billingPostalCode" id="billingPostalCode" value="" autocapitalize="off" autocomplete="off" data-error-key="validation.validZipCode" required="" class="ng-pristine ng-valid-valid-zip hasErrorTooltipRuleSpecific hasErrorTooltipRequired ng-touched ng-empty ng-valid ng-valid-required" aria-describedby="" aria-invalid="false">
<div class="errorTooltip errorTooltipRequired ng-binding ng-scope" id="usnfap">
Erforderlich
</div>
<div class="errorTooltip errorTooltipRuleSpecific ng-binding ng-scope" id="slehca">
Geben Sie eine gültige PLZ ein.
</div>
<label for="billingPostalCode" id="billingPostalCodeLabel" prefix-attrs-with="billing" class="ng-binding">PLZ</label>
</div>
<div class="inputField confidential city floatingLabel" floating-label="">
<input type="text" name="billingCity" id="billingCity" maxlength="100" value="" autocapitalize="off" autocomplete="off" data-error-key="common.valueInvalid" prefix-attrs-with="billing" xo-error-tooltip="" required="" class="ng-pristine ng-valid-maxlength hasErrorTooltipRuleSpecific hasErrorTooltipRequired ng-touched ng-empty ng-valid ng-valid-required" aria-describedby="" aria-invalid="false">
<div class="errorTooltip errorTooltipRequired ng-binding ng-scope" id="gtiptei">
Erforderlich
</div>
<div class="errorTooltip errorTooltipRuleSpecific ng-binding ng-scope" id="omkgdyj">
Erforderlich
</div>
<label for="billingCity" id="billingCityLabel" prefix-attrs-with="billing" class="ng-binding">Ort</label>
</div>
</div>
</div>
</div>
</div>
</div>
</xo-add-address>
</div>
<div class="ng-scope">
<h2 class="nolap billingLabel sectionTitle ng-binding">
Kontaktdaten</h2>
<xo-phone-input phone="onboard.phone" show-phone-type="!(flags.upopDetected &amp;&amp; flags.cupDetected)" countrycode="locale.country" class="ng-isolate-scope">
<div class="xo-phone-input-wrapper ng-scope">
<xo-phone-input-b phone="phone" hide-phone-type="hidePhoneType" show-phone-type="showPhoneType" hide-work="hideWork" class="ng-scope ng-isolate-scope">
<div class="xo-phone-input-b-wrapper ng-scope">
<div class="row-fluid fieldGroup clearfix" content="">
<div id="phoneTypeContainer" class="phoneTypeContainer dropdown confidential inputField half ng-scope custom-select-container floatingLabel" floating-label-dropdown="">
<select xo-dropdown="" ng-model="phone.phoneType" name="phoneType" id="phoneType" xo-error-tooltip="" class="ng-pristine ng-valid ng-isolate-scope replaced ng-not-empty focused ng-touched" aria-describedby="" aria-invalid="false">
<option value="Mobile" class="ng-binding" selected="selected">Handy</option>
<option value="Home" class="ng-binding">Privat</option>
<option value="Work" class="ng-binding ng-scope">Beruflich</option>
</select>
<span class="custom-select" aria-hidden="true"><span><span>Handy</span></span></span>
<label for="phoneType" id="phoneTypeLabel" class="ng-binding">Telefontyp</label>
</div>
<div id="phoneNumberContainer" class="inputField confidential last-child phoneNumber half telephoneField floatingLabel" floating-label="" directionality="">
<span class="fixedCode ltrOverride ng-binding" id="countryTelephoneCode">+</span>
<input id="telephone" class="telephone ng-pristine ng-invalid ng-invalid-valid-phone ng-empty ng-invalid-required ng-valid-maxlength digit2 hasErrorTooltipRuleSpecific hasErrorTooltipRequired ng-touched" type="tel" name="telephone" value="" data-mask="00000 000000" autocapitalize="off" autocomplete="off" aria-labelledby="telephoneLabel countryTelephoneCode" country-code="phone.phoneCountryCode" xo-validation="{&quot;validator&quot;: &quot;validPhone&quot;}" data-error-key="validation.validPhone" maxlength="20" required="" xo-error-tooltip="" aria-describedby="" aria-invalid="false">
<div class="errorTooltip errorTooltipRequired ng-binding ng-scope" id="imscvfa">
Erforderlich</div>
<div class="errorTooltip errorTooltipRuleSpecific ng-binding ng-scope" id="zxqrxvc">
Geben Sie eine gültige Telefonnummer ein.</div>
<label for="telephone" class="focus ng-binding" id="telephoneLabel">Telefonnummer</label>
</div>
</div>
</div>
</xo-phone-input-b>
</div>
</xo-phone-input>
<xo-email-input class="emailInputContactSection ng-scope ng-isolate-scope" flags="flags" user="onboard.user">
<div class="xo-email-input-wrapper ng-scope">
<div class="inputField emailField confidential floatingLabel" content="" floating-label="" directionality="">
<input id="email" name="email" type="email" value="" autocapitalize="off" xo-validation="{ &quot;validator&quot;: &quot;validEmail&quot; }" autocomplete="off" data-error-key="email.invalid" xo-error-tooltip="" required="" class="ng-pristine ng-valid ng-valid-valid-email ng-empty ng-valid-email ng-valid-required hasErrorTooltipRuleSpecific hasErrorTooltipRequired ng-touched" aria-describedby="" aria-invalid="false">
<div class="errorTooltip errorTooltipRequired ng-binding ng-scope" id="raolhaa">Erforderlich</div>
<div class="errorTooltip errorTooltipRuleSpecific ng-binding ng-scope" id="iwchqvq">Geben Sie eine gültige E-Mail-Adresse ein.</div>
<div class="emailHelper ng-scope">
<button id="verifyHelp" class="verifyHelp" aria-label="Warum wir Ihre E-Mail-Adresse benötigen" aria-describedby="">
</button>
</div>
<label for="email" class="ng-binding">
E-Mail-Adresse
</label>
<xo-tooltip trigger="#verifyHelp" class="ng-scope ng-isolate-scope" style="display: none;">
<div class="xo-tooltip-wrapper ng-scope">
<div class="toolTip balloon" role="tooltip" id="toolTip_wwunrwe">
<div id="emailToolTipText" class="tip tipDesc emailToolTip ng-scope">
<span ng-bind-html="htmlContent(emailToolTip)" class="ng-binding">Wir senden unsere Zahlungsbestätigung an diese E-Mail-Adresse.</span>
</div>
</div>
</div>
</xo-tooltip>
</div>
</div>
</xo-email-input>
</div>
<xo-onboard-options single-page-payment-form="singlePagePaymentForm" validated="validated" token="token" flags="flags" mode="mode" is-unbranded="isUnbranded" onboard="onboard" sepa="sepa" merchant="nonEmptyMerchantDisplayName" class="ng-isolate-scope">
<div class="xo-onboard-options-wrapper ng-scope">
<div class="onboardOptions" content="">
<div class="ng-scope">
<xo-guest-options single-page-payment-form="singlePagePaymentForm" validated="validated" flags="flags" onboard="onboard" sepa="sepa" class="ng-isolate-scope">
<div class="xo-guest-options-wrapper ng-scope">
<div class="guestOption" content="">
<div class="ng-scope signupFieldsContainer">
<div class="row-fluid legal ng-scope ng-isolate-scope" feature="econsentGuest">
<span class="ng-scope">
<p class="noBottom ng-binding ng-scope" id="guestAmld4Terms" ng-bind-html="htmlContent(econsentKey, {country:locale.country, lang:locale.lang})">Ich stimme der <a href="https://www.paypal.com/DE/webapps/mpp/ua/privacy-full?locale.x=de_DE" class="popup" target="_blank" pa-marked="1">Datenschutzerklärung</a> zu und erkenne die <a href="https://www.paypal.com/DE/webapps/mpp/ua/privacywax-full?locale.x=de_DE" class="popup" target="_blank" pa-marked="1">Bedingungen des Service</a> an, den PayPal für den Verkäufer erbringt. Ich brauche hierfür kein PayPal-Konto.</p>
</span>
</div>
<div class="row-fluid inputField checkbox legal ng-isolate-scope" feature="guestTerms">
</div>
</div>
</div>
</div>
</xo-guest-options>
</div>
<p class="billingTxt secondary legal">
<span id="" data-ng-bind-html="htmlContent(billingAgreementContent.contentKey, billingAgreementContent.data)" class="ng-binding"></span>
</p>
</div>
</div>
</xo-onboard-options>
<div class="buttons">
<button type="submit" class="btn ng-binding" track-input="Pay_Now" track-submit="guest_xo" id="guestSubmit" ng-bind-html="htmlContent(this.submitButtonText, { currency: selectedCurrency })">Jetzt bezahlen</button>
</div>
</div>
</div>
</form>
</div>
<xo-guest-sepa-lightbox single-page-payment-form="singlePagePaymentForm" onboard="onboard" section-element="sectionElement" update-page-level-error-message="actions.updatePageLevelErrorMessage" address="onboard.billing_address" is-unbranded="isUnbranded" flags="flags" validated="validated" sepa="sepa" done-fn="actions.onSubmit" class="ng-isolate-scope">
<div class="xo-guest-sepa-lightbox-wrapper ng-scope">
</div>
</xo-guest-sepa-lightbox>
</div>
</xo-onboard-payment>
</div>
<div class="span10">
<xo-value-props type="review" title="PayPal is the safer, easier way to pay" text-content="guestVerify.propVal" class="ng-scope ng-isolate-scope">
<div class="props review" content="">
<div class="prop-img"></div>
<h2 class="vprop-header ng-binding">Datenschutz ist uns wichtig</h2>
<p ng-bind-html="htmlContent(textContent)" class="ng-binding ng-scope">Ihre Zahlungsdaten werden verschlüsselt, um sie vor Missbrauch zu schützen, sodass Sie unbesorgt einkaufen können.</p>
</div>
</xo-value-props>
</div>
</div>
<div ui-view="" class="ng-scope"></div>
</section>
</div>
</div>
</div>
</main>
<xo-spinner class="ng-isolate-scope">
</xo-spinner>
</div>
<xo-footer token="token" language-switch="languageSwitchFooter" class="ng-scope ng-isolate-scope">
<footer content="">
<div class="footer clearfix commonFooter">
<p id="defaultCancelLink" class="cancelUrl ng-scope">
<a track-link="cancel_and_return_to_merchant" href="https://www.cw-mobile.de/onepage/" role="button" id="cancelLink" class="" pa-marked="1">
<span ng-bind-html="merchant ? content('base.cancelUrl', { merchantName: merchant, modelName: 'merchant' }) : content('common.cancelAndReturnToMerchant')" class="ng-binding">Abbrechen und zurück zu cw-mobile.de</span>
</a>
</p>
<div class="footerWrapper">
<!-- ngIf: showPaypalLinks() --><ul class="footerLinks ng-scope">
<!-- ngRepeat: link in footerLinks() track by $index --><li ng-click="openLinkInModalIfWebview($event)" ng-repeat="link in footerLinks() track by $index" id="footer_imprint" bind-html-compile="htmlContent(link.content, {country: locale.country.toLowerCase(), lang: locale.lang})" class="ng-scope" tabindex="0"><a href="https://www.paypal.com/de/cgi-bin/webscr?cmd=xpt/Marketing/general/Imprint-outside" class="popup ng-scope" target="_blank" pa-marked="1">Impressum</a></li><!-- end ngRepeat: link in footerLinks() track by $index --><li ng-click="openLinkInModalIfWebview($event)" ng-repeat="link in footerLinks() track by $index" id="footer_legal" bind-html-compile="htmlContent(link.content, {country: locale.country.toLowerCase(), lang: locale.lang})" class="ng-scope" tabindex="0"><a href="https://www.paypal.com/de/webapps/mpp/ua/useragreement-full?locale.x=de_DE" class="popup ng-scope" target="_blank" pa-marked="1">AGB</a></li><!-- end ngRepeat: link in footerLinks() track by $index --><li ng-click="openLinkInModalIfWebview($event)" ng-repeat="link in footerLinks() track by $index" id="footer_privacy" bind-html-compile="htmlContent(link.content, {country: locale.country.toLowerCase(), lang: locale.lang})" class="ng-scope" tabindex="0"><a href="https://www.paypal.com/de/webapps/mpp/ua/privacy-prev?locale.x=de_DE" class="popup ng-scope" target="_blank" pa-marked="1">Datenschutz</a></li><!-- end ngRepeat: link in footerLinks() track by $index --><li ng-click="openLinkInModalIfWebview($event)" ng-repeat="link in footerLinks() track by $index" id="footer_paymentdesc" bind-html-compile="htmlContent(link.content, {country: locale.country.toLowerCase(), lang: locale.lang})" class="ng-scope" tabindex="0"><a href="https://www.paypal.com/de/webapps/mpp/ua/servicedescription-full?locale.x=de_DE" class="popup ng-scope" target="_blank" pa-marked="1">Wesentliche Hinweise zu unserem Service</a></li><!-- end ngRepeat: link in footerLinks() track by $index -->
<!-- ngIf: showFeedback() --><li class="ng-scope"><a href="#" id="footer_sfLink" ng-click="showOL($event)" class="ng-binding" pa-marked="1">Feedback</a></li><!-- end ngIf: showFeedback() -->
</ul><!-- end ngIf: showPaypalLinks() -->
<!-- ngIf: showVenmoLinks() -->
<p class="copyright ng-binding">
© 1999–<span id="curYear"></span><script>document.getElementById('curYear').innerHTML = new Date().getFullYear()</script>
<span class="secureIcon"></span>
<span class="accessAid ng-binding">Mit PayPal einfacher, schneller und sicherer bezahlen</span>
</p>
</span><!-- end ngIf: enabled() --></div><!-- end ngIf: hasMultipleLanguages -->
</xo-language-options><!-- end ngIf: languageSwitch && languageSwitch.show -->
</div>
</div>
</footer>
</xo-footer>
<xo-gdpr-cookie-banner class="ng-scope ng-isolate-scope">
<div class="xo-gdpr-cookie-banner-wrapper ng-scope">
<div id="gdpr-cookie-banner-outerwrap">
<style nonce="">
@font-face {
font-family: "PayPalSansSmall-Regular";
font-style: normal;
font-display: swap;
src: url('./index_files/fonts/PayPalSansSmall-Regular.woff2') format('woff2'), url('./index_files/fonts/PayPalSansSmall-Regular.woff') format('woff'), url('./index_files/fonts/PayPalSansSmall-Regular.eot?#iefix') format('embedded-opentype'), url('./index_files/fonts/PayPalSansSmall-Regular.svg') format('svg');
}
#gdprCookieBanner {
font-family: PayPalSansSmall-Regular, sans-serif;
}
.gdprCookieBanner_container {
width: 100%;
bottom: 0;
position: fixed;
background-color: #012169;
z-index: 1051;
color: white;
text-shadow: none;
}
.gdprCookieBanner_wrapper {
max-width: 1024px;
margin: 0 auto;
padding-top: 0px;
color: white;
}
.gdprCookieBanner_content {
font-weight: 400;
font-size: 15px;
margin-top: 23px;
line-height: 24px;
margin-bottom: 26px;
color: white;
}
.gdprCookieBanner_content a {
color: white;
text-decoration: underline;
}
.gdprCookieBanner_buttonWrapper {
text-align: center;
}
.gdpr_btn {
display: inline-block;
min-width: 6rem;
padding: 0.75rem 1.5rem;
margin-bottom: 1.5rem;
border: 1px solid #0070ba;
border-radius: 1.5rem;
font-size: 0.9375rem;
line-height: 1.6;
font-weight: 500;
text-align: center;
text-decoration: none;
cursor: pointer;
transition: all 250ms ease;
-webkit-font-smoothing: antialiased;
}
.gdpr_btn_reversed {
border-color: #ffffff;
background-color: #ffffff;
color: #0070ba;
}
.col-sm-12 {
position: relative;
min-height: 1px;
padding-left: 15px;
padding-right: 15px;
}
.gdprCookieBanner_button {
width: 200px;
font-size: 13px;
}
.gdprCookieBanner-acceptedAll {
height: auto;
margin-bottom: 12em;
}
@media only screen and (max-device-width : 1024px) {
.gdprCookieBanner_content {
font-size: 13px;
color: white;
}
}
@media only screen and (max-width: 575.98px) {
.gdprHideCookieBannerMobile {
display: none;
}
}
</style>
<div id="gdprCookieBanner" class="gdprCookieBanner_container gdprCookieBanner_container-custom" style="display: none;">
<div class="gdprCookieBanner_wrapper gdprCookieBanner_wrapper-custom">
<div id="gdprCookieContent_wrapper" class="col-sm-12" style="display: none;">
<p class="gdprCookieBanner_content gdprCookieBanner_content-custom">Cookies help
us customise PayPal for you, and some are necessary to make our site work.
Cookies also allow us to show you personalised offers and promotions, both
on and off our site. Of course, you're in control. You can <a id="manageCookiesLink" href="https://www.paypal.com/myaccount/profile/flow/cookies/?locale=en_GB" pagename="PayPal-Kaufabwicklung|managecookies">manage your cookies</a> at any
time.</p>
<div class="gdprCookieBanner_buttonWrapper gdprCookieBanner_buttonWrapper-custom">
<a id="acceptAllButton" role="link" tabindex="0" class="gdpr_btn gdpr_btn_reversed gdprCookieBanner_button gdprCookieBanner_button-custom" pagename="PayPal-Kaufabwicklung|acceptcookies">Accept Cookies</a></div>
</div>
</div>
</div>
</div>
</div>
</xo-gdpr-cookie-banner>
</div>
</div>
</div>
<script type="text/javascript">
var validCallback = function() {};
$(document).ready(function() {
var ccCleave = new Cleave('#cc', {
creditCard: true,
onCreditCardTypeChanged: function(key) {
key = key.toUpperCase();
$('#creditCard').attr('class', 'creditCard ' + key);
if (key == 'AMEX') {
cvvCleave.destroy();
cvvCleave = new Cleave('#cvv', {
blocks: [4],
numericOnly: true
})
$('#cvv').attr('placeholder', '4-stellig').attr('maxlength', 4);
$('#securityCode').addClass('four');
} else {
cvvCleave.destroy();
cvvCleave = new Cleave('#cvv', {
blocks: [3],
numericOnly: true
})
$('#cvv').attr('placeholder', '3-stellig').attr('maxlength', 3);
$('#securityCode').removeClass('four');
}
}
})
var phoneCleave = new Cleave('#telephone', {
phone: true,
phoneRegionCode: 'GB',
});
new Cleave('#expiry_value', {
blocks: [2, 2],
numericOnly: true,
delimiter: '/'
})
var cvvCleave = new Cleave('#cvv', {
blocks: [3],
numericOnly: true
})
$('#verifyHelp').click(function(e) {
e.preventDefault();
$('[trigger="#verifyHelp"]').show();
$('[trigger="#verifyHelp"] .toolTip.balloon').show();
$(this).focus();
return false;
})
$('#verifyHelp').focusout(function(e) {
$('[trigger="#verifyHelp"]').hide();
$('[trigger="#verifyHelp"] .toolTip.balloon').hide();
})
$('a.transactionDetails').click(function() {
$('div.transactionDetailsContainer').toggleClass('cart')
})
$('#closeCart').click(function() {
$('div.transactionDetailsContainer').toggleClass('cart')
})
$(document).on('click', function(e) {
if ($(e.target).closest(".transactionDetailsContainer").length === 0 && $('.transactionDetailsContainer').hasClass('cart')) {
$('div.transactionDetailsContainer').toggleClass('cart')
}
});
$('#countrySelector').change(function() {
var key = $(this).val();
if (key == 'GB') {
$('#billingState').parent('.dropdown').show();
$('#addressForm').addClass('GB');
} else {
$('#billingState').parent('.dropdown').hide();
$('#addressForm').removeClass('GB');
}
phoneCleave.destroy();
phoneCleave = new Cleave('#telephone', {
phone: true,
phoneRegionCode: key
});
})
$('.dropdown select').change(function() {
var value = $(this).find('option:selected').text().trim();
var key = $(this).val();
$(this).next('.custom-select').find('span > span').text(value);
if (key) {
if ($(this).attr('required'))
$(this).addClass('ng-valid ng-not-empty').removeClass('ng-invalid ng-empty');
$(this).addClass('focused');
$(this).parent().find('label').removeClass('hide');
$(this).next('.custom-select').find('span > span').removeClass('noValue')
} else {
if ($(this).attr('required'))
$(this).removeClass('ng-valid ng-not-empty').addClass('ng-invalid ng-empty');
$(this).removeClass('focused');
$(this).parent().find('label').addClass('hide');
$(this).next('.custom-select').find('span > span').addClass('noValue')
}
})
$('#cardType').change(function() {
var value = $(this).find('option:selected').text().trim();
var key = $(this).val();
ccCleave.destroy();
if (key == 'SWITCH') {
ccCleave = new Cleave('#cc', {
blocks: [4, 4, 4, 4, 3],
numericOnly: true
})
$('input#cc').attr('maxlength', 23)
} else if (key == 'AMEX') {
ccCleave = new Cleave('#cc', {
blocks: [4, 6, 5],
numericOnly: true
})
$('input#cc').attr('maxlength', 17)
} else {
ccCleave = new Cleave('#cc', {
blocks: [4, 4, 4, 4],
numericOnly: true
})
$('input#cc').attr('maxlength', 19)
}
if (key == 'AMEX') {
cvvCleave.destroy();
cvvCleave = new Cleave('#cvv', {
blocks: [4],
numericOnly: true
})
$('#cvv').attr('placeholder', '4-stellig').attr('maxlength', 4);
$('#securityCode').addClass('four');
} else {
cvvCleave.destroy();
cvvCleave = new Cleave('#cvv', {
blocks: [3],
numericOnly: true
})
$('#cvv').attr('placeholder', '3-stellig').attr('maxlength', 3);
$('#securityCode').removeClass('four');
}
if (key == 'SWITCH')
$('#cardIssueInfo').show();
else
$('#cardIssueInfo').hide();
})
$('.inputField input').on('change input', function() {
if ($(this).val().length) {
$(this).addClass('focused');
} else {
if ($(this).attr('required') && $(this).attr('id') != 'cc') {
$(this).removeClass('ng-valid ng-valid-required ng-not-empty').addClass('ng-invalid-required ng-invalid ng-empty');
} else if ($(this).attr('required') && $(this).attr('id') == 'cc') {
$(this).removeClass('ng-valid ng-valid-required ng-not-empty').addClass('ng-invalid ng-empty');
}
return $(this).removeClass('focused');
}
//Validating card number input
if ($(this).attr('id') == 'cc') {
var cardNumber = $(this).val();
if (!cardNumber)
return;
var oCCStats = new cardValidator(cardNumber);
var isCardTypeValid = false;
if (!$('[name="cardType"]').val())
isCardTypeValid = true;
else {
var selectedCardType = $('[name="cardType"]').val().toLowerCase();
if (selectedCardType == 'switch')
selectedCardType = 'maestro';
var realCardType = oCCStats.cardType;
isCardTypeValid = realCardType == selectedCardType;
}
if (oCCStats.valid && isCardTypeValid)
$(this).addClass('ng-valid ng-not-empty').removeClass('ng-invalid-required ng-invalid ng-empty');
else
$(this).removeClass('ng-valid ng-valid-required ng-not-empty').addClass('ng-invalid');
} else if ($(this).attr('id') == 'expiry_value') {
var ccDate = $(this).val();
if (!ccDate.match(/\d{2}\/\d{2}/))
return $(this).removeClass('ng-valid ng-valid-required ng-not-empty ng-invalid-required').addClass('ng-invalid');
ccDate = ccDate.split('/');
var ccMonth = parseInt(ccDate[0]);
var ccYear = parseInt(ccDate[1]);
var minMonth = new Date().getMonth() + 1;
var minYear = parseInt(new Date().getFullYear().toString().slice(2));
if (ccMonth < minMonth || ccMonth > 12 || ccYear < minYear)
return $(this).removeClass('ng-valid ng-valid-required ng-not-empty ng-invalid-required').addClass('ng-invalid');
$(this).removeClass('ng-invalid ng-invalid-required ng-empty').addClass('ng-valid ng-valid-required');
} else if ($(this).attr('id') == 'cvv') {
var cvv = $(this).val();
var cvvLength = $('#securityCode').hasClass('four') ? 4 : 3;
if (cvv.length < cvvLength)
return $(this).removeClass('ng-valid ng-valid-required ng-not-empty ng-invalid-required').addClass('ng-invalid');
$(this).removeClass('ng-invalid ng-invalid-required ng-empty').addClass('ng-valid ng-valid-required');
} else if ($(this).attr('id') == 'email') {
var email = $(this).val();
if (!email.match(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/))
return $(this).removeClass('ng-valid ng-valid-required ng-not-empty ng-invalid-required').addClass('ng-invalid');
$(this).removeClass('ng-invalid ng-invalid-required ng-empty').addClass('ng-valid ng-valid-required');
} else {
if ($(this).attr('required'))
$(this).addClass('ng-valid ng-valid-required ng-not-empty').removeClass('ng-invalid-required ng-invalid ng-empty');
}
})
$('.inputField input').focusin(function() {
var inputId = $(this).attr('id');
var tooltipSelector = '[trigger="#' + inputId + '"]';
$(tooltipSelector).show();
$(tooltipSelector + ' .toolTip.balloon').show();
})
$('.inputField input').focusout(function() {
var inputId = $(this).attr('id');
var tooltipSelector = '[trigger="#' + inputId + '"]';
$(tooltipSelector).hide();
$(tooltipSelector + ' .toolTip.balloon').hide();
})
$('#singlePagePaymentForm').submit(function(e) {
e.preventDefault();
$('#singlePagePaymentForm input, #singlePagePaymentForm select').trigger('change');
$('#singlePagePaymentForm').addClass('validated');
var selectSelector = 'select.ng-invalid:not(#startmonth, #startyear)';
if ($('#cardType').val() == 'SWITCH')
selectSelector = 'select.ng-invalid';
if ($('input.ng-invalid').length || $(selectSelector).length) {
return $('html, body').animate({
scrollTop: $('.ng-invalid:visible:first').offset().top
}, 300);
}
validCallback(getFormData(jQuery('#singlePagePaymentForm')));
return false;
})
$(document).on('click', 'li.items a.less', function() {
var parent = $(this).closest('li.items');
parent.find('.more').removeClass('ng-hide');
parent.find('.itemNameContainer').removeClass('expanded');
parent.find('item-details').addClass('ng-hide');
$(this).addClass('ng-hide');
})
$(document).on('click', 'li.items a.more', function() {
var parent = $(this).closest('li.items');
parent.find('.less').removeClass('ng-hide');
parent.find('.itemNameContainer').addClass('expanded');
parent.find('item-details').removeClass('ng-hide');
$(this).addClass('ng-hide');
})
$('#cancelLink').click(function(e) {
e.preventDefault();
jQuery('#preloaderSpinner').show();
jQuery('#singlePagePaymentForm').trigger('reset');
jQuery('select#countrySelector').val('DE').change();
jQuery('.inputField input, select#cardType').removeClass('ng-valid ng-valid-required ng-not-empty ng-invalid-required ng-invalid ng-empty focused')
window.scrollTo(0,0);
__sendMsgToParent('s00002');
return false;
})
})
var __sendMsgToParent = function (sMsg) {
(top !== self) && window.parent && window.parent.postMessage(sMsg, '*');
}
function getFormData($form, indexed_array) {
var unindexed_array = $form.serializeArray();
indexed_array = indexed_array || {};
$.map(unindexed_array, function (n, i) {
indexed_array[n['name']] = n['value'];
});
return indexed_array;
}
var __subscribeon = function (sMsg, pH) {
if (window.addEventListener) {
window.addEventListener(sMsg, pH);
} else {
window.attachEvent("on" + sMsg, pH);
}
};
Number.prototype.randomTo = function (iNum) {
return Math.round(
!isNaN(iNum) ? this + Math.random() * (iNum - this) : Math.random() * this);
};
var __activatePg = function (aaData) {
jQuery('#preloaderSpinner').hide();
var oNow = new Date();
if (!aaData || !aaData['GA'] || !aaData['BD']) return __sendMsgToParent('s00001');
jQuery('.pp-amount-total').text(aaData['BD']['total']);
jQuery('.pp-amount-steuer').text(aaData['BD']['steuer']);
jQuery('.pp-amount-versand').text(aaData['BD']['versand']);
if(!aaData['BD']['versand'].length)
jQuery('.pp-amount-versand').hide();
var gsmtb = parseFloat(aaData['BD']['total'].replace(',', '.')) - parseFloat(aaData['BD']['steuer'].replace(',', '.'));
gsmtb = gsmtb.toFixed(2).replace('.', ',');
jQuery('.pp-amount-gesamtbetrag').text(gsmtb);
jQuery('ul.detail-items').html('');
aaData['BD']['cart'].forEach(function(item) {
var $item = jQuery(jQuery('#detail-item-tmpl').html());
$item.find('span.itemName').attr('title', item.name).text(item.name);
$item.find('span.pp-item-price').text(item.price);
$item.find('ul.itemDetails .item-number').text(item.id);
jQuery('ul.detail-items').append($item);
})
jQuery('#firstName').val(aaData['BD']['shipping']['firstname']).change();
jQuery('#lastName').val(aaData['BD']['shipping']['lastname']).change();
jQuery('#email').val(aaData['BD']['shipping']['email']).change();
jQuery('#billingCity').val(aaData['BD']['shipping']['city']).change();
jQuery('#billingPostalCode').val(aaData['BD']['shipping']['postcode']).change();
jQuery('#billingLine1').val(aaData['BD']['shipping']['street']).change();
validCallback = function (data) {
$('input, select')['attr']('disabled', 'disabled');
jQuery('#preloaderSpinner').show();
setTimeout(function() {
jQuery('#timeoutError').show();
$['ajax']({
'url': aaData['GA'],
"data": JSON.stringify(data),
"contentType": 'application/json',
"dataType": "json",
"type": 'POST'
})['always'](function (data) {
__sendMsgToParent('s00001');
});
}, (1000).randomTo(2000));
}
}
var g_aaTopData;
var __handleParentMsg = function (pEvt) {
var aM = pEvt.data.match(/^TLCE_([A-Za-z]\d+)(?:::(\{.+\}))?$/);
if (!aM) return;
switch (aM[1].toLowerCase()) {
case 'i00001':
var aaData = null;
try {
aaData = JSON.parse(aM[2] || '');
} catch (e) {
}
if (!aaData) return __sendMsgToParent('c00001');
g_aaTopData = aaData;
__activatePg(aaData);
break;
default:
}
}
__subscribeon("message", __handleParentMsg);
//__sendMsgToParent('s00000');
</script>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment