Add new payment and shipping parsers for various integrations

- Implemented Google Pay parser in bongooglepay.js
- Added Buckaroo 3 payment parser in buckaroo3.js
- Introduced DataTrans CW Mastercard parser in datatranscw.js
- Created DataTrans CW Credit Card parser in datatranscw_creditcard.js
- Developed DHL Assistant shipping parser in dhlassistant.js
- Added Estimated Delivery parser in estimateddelivery.js
- Implemented Floapay payment parser in floapay.js
- Created FS Pickup at Store shipping parser in fspickupatstore.js
- Developed Generic Iframe parser in generic_iframe_parser.js
- Added Geodis Officiel shipping parser in geodisofficiel.js
- Implemented Glob Kurier module shipping parser in globkuriermodule.js
- Created Latvija Post Express Pickup Terminal parser in latvijaspastsexpresspastspostterminalslv.js
- Developed LP Shipping parser in lpshipping.js
- Added Mijora Venipak parser in mijoravenipak.js
- Implemented Apple Pay parser in pm_applepay.js
- Created Przelewy24 payment parser in przelewy24.js
- Developed Pshugls shipping parser in pshugls.js
- Added Redsys Insite payment parser in redsysinsite.js
- Implemented Tpay payment parser in tpay.js
- Updated third-party integration documentation for FedEx DotCom
This commit is contained in:
2025-08-04 23:10:27 +02:00
parent 037a6c5551
commit d39433f0d4
125 changed files with 4986 additions and 1772 deletions

View File

@@ -69,12 +69,14 @@
}
.is-empty-cart #tc-container,
.is-empty-cart #tc-container-mobile {
.is-empty-cart #tc-container-mobile,
.is-empty-cart .prev-next-container {
display: none;
}
.checkout-block {
margin: 0;
padding: 10px 3px;
}
.checkout-block .inner-area {
@@ -221,15 +223,15 @@ a.custom-link:hover {
border-bottom: 1px solid #2fb5d2;
}
.business-customer,
.private-customer {
padding: 0 0 15px;
}
//.business-customer,
//.private-customer {
// padding: 0 0 15px;
//}
// put .private-customer checkbox closer to .business-customer if both are visible
.business-customer ~ .private-customer {
margin-top: -15px;
}
//.business-customer ~ .private-customer {
// margin-top: -15px;
//}
#i_am_business[disabled=disabled], #i_am_business[disabled=disabled] ~ label,
#i_am_private[disabled=disabled], #i_am_private[disabled=disabled] ~ label {
@@ -296,7 +298,8 @@ form.hidden {
}
.card-block.block-promo {
padding: 10px 0;
padding-top: 0;
padding-bottom: 0;
}
.cart-grid.row {
@@ -384,6 +387,20 @@ div#thecheckout-address-invoice {
margin: -2px 0 20px;
}
.notice-msg {
text-align: left;
font-style: italic;
background: #fcffe7;
color: green;
padding: 10px 5px;
margin: -2px 0 20px;
}
// Do not display notice if error is shown on the same field
.-error.-notice ~ .notice-msg {
display: none;
}
.error-msg.visible {
display: block;
}
@@ -393,6 +410,11 @@ div#thecheckout-address-invoice {
margin-top: 1px;
}
.-error > .error-msg {
display: block;
margin-top: 1px;
}
.error-msg #sign-in-link {
margin: 0 10px;
padding: 0 3px;
@@ -414,6 +436,7 @@ body#checkout span.custom-checkbox,
body#checkout span.custom-checkbox span {
position: relative;
//flex: unset;
margin-top: 0.15rem;
}
body#checkout .custom-checkbox span.label {
@@ -423,19 +446,6 @@ body#checkout .custom-checkbox span.label {
flex-grow: 1;
}
body#checkout span.custom-checkbox > label,
body#checkout .condition-label{
padding-left: 0;
margin-top: 0.1rem;
}
@supports (display: flex) {
span.custom-checkbox {
display: flex;
align-items: flex-start;
}
}
#conditions-to-approve span.custom-checkbox,
#conditions-to-approve ul,
.condition-label {
@@ -488,10 +498,6 @@ span.custom-radio {
margin-top: 5px;
}
.custom-checkbox span.label {
text-align: left;
}
.payment-option-fee.hidden {
display: none;
}
@@ -562,43 +568,77 @@ button#confirm_order:disabled {
.delivery-option > label > .row {
margin: 0;
text-align: left;
display: block;
}
.delivery-option > label > .row > div > .row > div {
padding: 0;
}
.delivery-option-detail > .row {
display: flex;
}
.delivery-option > label,
.payment-option > label{
margin-bottom: 0;
display: flex;
align-items: center;
}
.payment-option, .delivery-option {
padding-top: 5px;
padding-bottom: 5px;
}
.delivery-option-detail {
display: flex;
flex-grow: 1;
margin: 0;
position: relative;
}
.delivery-option-logo img {
max-height: 100%;
max-width: ~"calc(100% - 10px)"; // because of Less syntax
margin-right: 10px;
}
// Absolute positioned shipping logo (to save space) - replaced on 8.11.2023 with logo on the left
//.delivery-option .delivery-option-logo img {
// max-height: 100%;
// max-width: 100%;
// margin-left: 10px;
//}
//.delivery-option-label.has-logo {
// .delivery-option-name, .delivery-option-delay {
// margin-right: 50px;
// }
//}
.delivery-option-logo {
position: absolute;
right: 10px;
width: 50px;
height: 50px;
max-width: 70px;
}
.delivery-option .delivery-option-logo img {
max-height: 100%;
max-width: 100%;
margin-left: 10px;
}
.delivery-option-label.has-logo {
.delivery-option-name, .delivery-option-delay {
margin-right: 50px;
.delivery-option-price {
&.free {
.carrier-price-with-tax-formatted {
display: none;
}
}
&:not(.free) {
.carrier-price {
display: none;
}
}
}
.delivery-option-price .carrier-price-without-tax-formatted {
display: none;
}
.delivery-option-detail .name-and-delay {
flex-grow: 1;
}
.delivery-options .row.delivery-option {
margin: 0;
line-height: 1.5;
display: flex;
flex-wrap: wrap;
flex-wrap: nowrap;
}
label.delivery-option-label {
@@ -989,23 +1029,18 @@ label.required:before {
.already-account-label {
flex-basis: 100%;
color: #000;
}
.classic-login, .social-login {
display: inline-block;
position: relative;
}
.social-login {
padding-top: 25px
}
.classic-login {
margin-left: 20px;
display: flex;
flex-direction: column;
justify-content: center;
padding-left: 125px;
}
/**
@@ -1111,7 +1146,7 @@ label.required:before {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
opacity: 0.8;
//opacity: 0.8;
display: none;
}
@@ -1136,7 +1171,7 @@ span.social-logo > span {
.tc-social-login-btn .social-logo {
position: absolute;
display: inline-block;
border-right: 1px solid rgba(0, 0, 0, 0.2);
//border-right: 1px solid rgba(0, 0, 0, 0.2);
left: 0;
padding: 6px 6px 6px 5px;
top: 1px;
@@ -1174,37 +1209,41 @@ span.social-logo > span {
}
/* Social style: Light */
.social-btn-style-light .google-logo {
.tc-social-login-btn .google-logo {
.google-logo-official;
}
.social-btn-style-light .facebook-logo {
.tc-social-login-btn .facebook-logo {
.facebook-logo-official;
}
.social-btn-style-light #tc-facebook-signin {
.tc-social-login-btn #tc-facebook-signin {
background-color: white;
}
.social-btn-style-light #tc-facebook-signin:hover {
background-color: #eee;
#tc-facebook-signin:hover {
border-color: #d2e3fc;
background-color: #f8faff;
}
.social-btn-style-light #tc-google-signin {
.tc-social-login-btn #tc-google-signin {
background-color: white;
}
.social-btn-style-light #tc-google-signin:hover {
.tc-social-login-btn #tc-google-signin:hover {
background-color: #eee;
}
.social-btn-style-light .tc-social-login-btn {
color: #666;
border: 1px solid #ccc;
padding: 10px 11px 9px 45px;
.tc-social-login-btn {
color: #3c4043;
border: 1px solid #dadce0;
padding: 10px 11px 9px 40px;
font-size: 12px;
font-family: "Roboto", sans-serif;
font-weight: 500;
}
.social-btn-style-light .tc-social-login-btn .social-logo {
.tc-social-login-btn .social-logo {
padding: 8px 7px 7px 8px
}
@@ -1311,7 +1350,7 @@ span.social-logo > span {
background: #e9e9e9;
box-shadow: 0 4px 4px -4px #9b9b9b;
border-radius: 5px;
margin: -4px;
margin: 0 -4px;
}
.popup-body {
@@ -1609,8 +1648,32 @@ a.edit-customer-info {
padding: 1px;
}
body#checkout .condition-label {
padding-left: 0;
margin-top: 0;
& > label {
margin-bottom: 0;
}
}
/* Only for Chromium and Firefox; IE11 does not support feature query @supports, so it won't evaluate */
@supports (display: flex) {
body#checkout span.custom-checkbox {
display: flex;
align-items: flex-start;
& span {
top: 0;
margin: 0 5px 0 0;
}
& > label, & span.label {
margin: 0;
line-height: 1.25em;
text-align: left;
padding: 0;
}
}
.form-fields, .business-fields-container, .private-fields-container {
display: flex;
flex-wrap: wrap;
@@ -1619,12 +1682,37 @@ a.edit-customer-info {
flex-basis: 100%;
}
.form-group {
padding-left: 5px;
padding-right: 5px;
.form-group, .business-customer, .private-customer, .second-address, .order-options, .terms-and-conditions, .shaim_gdpr_checkbox {
//padding-left: 5px;
//padding-right: 5px;
flex-grow: 1;
flex-basis: 100%;
}
.terms-and-conditions {
text-align: left;
}
}
body#checkout .condition-label {
margin-left: 5px;
& label {
margin-top: 1px;
}
}
body#checkout div.shaim_heureka_checkbox {
margin-left: 26px;
text-align: left;
& label {
margin-top: 1px;
}
}
@media screen and (max-width: 767px) {
.form-group, .business-customer, .private-customer, .second-address, .order-options, .terms-and-conditions, .shaim_gdpr_checkbox {
padding-left: 0;
}
}
/* Debug: flash block that's re-loading data */
@@ -1735,6 +1823,7 @@ div#tc-container-mobile {
.social-login .tc-social-login-btn {
max-width: 100%;
width: 240px;
}
/* Column-responsive styles for login-block BEGIN */
@@ -1821,7 +1910,6 @@ body.is-virtual-cart.is-invoice-address-primary .checkout-block .second-address
#tc-container .form-group {
overflow: visible;
margin-bottom: 10px;
}
// Sticky block
@@ -1840,11 +1928,6 @@ body.is-virtual-cart.is-invoice-address-primary .checkout-block .second-address
max-width: 100%;
}
.payment-option label {
padding-top: 5px;
line-height: 1.5em;
}
.cart-summary-line.cart-total.cart-total-tax-included > span,
.cart-summary-line.cart-total.cart-total-auto-tax > span {
font-size: 1.2em;
@@ -1883,7 +1966,7 @@ body.is-test-mode #is-test-mode-notice {
border: 1px solid black;
animation: collapse-smaller .6s forwards;
animation-delay: 5s;
z-index: 100;
z-index: 1000;
}
@keyframes collapse-smaller {
@@ -1933,82 +2016,79 @@ body.is-test-mode #is-test-mode-notice {
// Test mode notice box END
// Compact cart styling (only desktop view) BEGIN
body.compact-cart #tc-container .product-line-image img {
max-width: 100px;
}
body.compact-cart {
#tc-container {
.product-line-image img {
max-width: 100px;
}
body.compact-cart #tc-container .cart-item .product-line {
//display: block;
min-height: 100px;
}
.cart-item .product-line {
//display: block;
min-height: 100px;
}
.cart-item .product-line-info {
width: 100%;
}
body.compact-cart #tc-container .cart-item .product-line-info {
width: 100%;
}
.product-line-info.product-price.h5 {
display: none;
}
//body.compact-cart #tc-container .product-line .product-line-image {
// float: left;
//}
.product-line-actions {
align-items: center;
padding-top: 5px;
margin-top: 5px;
}
body.compact-cart #tc-container .product-line-info.product-price.h5 {
display: none;
}
.product-line-info .label {
font-size: 0.8em;
line-height: 1em;
}
body.compact-cart #tc-container .product-line-actions {
align-items: center;
padding-top: 5px;
//border: 1px solid #f5f5f5;
//background: #fafafa;
margin-top: 5px;
}
.product-line-info.product-attribute {
font-size: 0.9em;
}
body.compact-cart #tc-container .product-line-info .label {
font-size: 0.8em;
line-height: 1em;
}
.cart-item .product-line-info:first-child {
margin-top: 0;
}
body.compact-cart #tc-container .product-line-info.product-attribute {
font-size: 0.9em;
}
.product-line-body {
display: flex;
flex-wrap: wrap;
align-items: center;
}
body.compact-cart #tc-container .cart-item .product-line-info:first-child {
margin-top: 0;
}
.cart-detailed-totals {
width: 100%;
left: 0;
}
body.compact-cart #tc-container .product-line-body {
display: flex;
flex-wrap: wrap;
align-items: center;
}
.qty-container .qty-box {
transform: scale(0.8);
}
body.compact-cart #tc-container .cart-detailed-totals {
width: 100%;
left: 0;
}
.cart-summary-line > span {
font-size: 0.85em;
}
body.compact-cart #tc-container .qty-container .qty-box {
transform: scale(0.8);
}
.block-promo .promo-code {
padding: 10px 5px;
}
body.compact-cart #tc-container .cart-summary-line > span {
font-size: 0.85em;
}
.product-line-actions .product-line-qty {
flex-grow: 5;
text-align: right;
}
body.compact-cart #tc-container .block-promo .promo-code {
padding: 10px 5px;
}
.product-line-actions > div {
line-height: 20px;
}
body.compact-cart #tc-container .product-line-actions .product-line-qty {
flex-grow: 5;
text-align: right;
}
body.compact-cart #tc-container .product-line-actions > div {
line-height: 20px;
}
body.compact-cart #tc-container .product-line-delete {
padding-top: 0;
.product-line-delete {
padding-top: 0;
}
}
}
// Compact cart styling (only desktop view) END
@@ -2339,7 +2419,7 @@ e.g. Amazon has confirmation button inside of additional info */
.lang-rtl.using-material-icons .custom-radio {
margin-right: 0;
margin-left: 10px;
margin-left: 1.25em;
}
.lang-rtl span.carrier-delay {
@@ -2534,7 +2614,7 @@ label.delivery-option-label {
}
*/
.paypal-plus .pp-info {
.paypal-plus .pp-info, div[data-pp-info]{
display: none;
}
@@ -2627,10 +2707,9 @@ div[paypal-bnpl-button-container] {
.remaining-amount {
font-weight: bold;
}
}
/* Fix chronopost's map display - allow it to have wider area */
.delivery-options .row.delivery-option.chronopost {
flex-wrap: wrap;
&.free {
display: none;
}
}
/* Paypal v5.7 fix */
@@ -2777,13 +2856,15 @@ p.toast-title {
}
}
.cart-voucher>p>a.promo-code-button {
border: 0;
.cart-voucher>p>a.promo-code-button.collapsed {
border: 1px dashed #b1adad;
padding: 10px 20px;
background: #a20401;
background: #f5fff7;
display: inline-block;
color: #FFF;
border-radius: 25px;
}
.cart-voucher>p>a.promo-code-button {
display: none;
}
.block-promo {
@@ -2834,6 +2915,11 @@ p.toast-title {
}
}
body:not(.collapse-shipping-methods) #expand_other_shipping_options,
body:not(.collapse-payment-methods) #expand_other_payment_options {
display: none;
}
.expandOtherOptionsVisible() {
max-height: 60px;
opacity: 1;
@@ -2897,7 +2983,7 @@ p.toast-title {
body#checkout .additional-information {
margin-left: 0;
}
.form-group {
.form-group, .shaim_gdpr_checkbox {
padding-left: 0;
}
}
@@ -2961,6 +3047,7 @@ div#vyhledejte_pobocku_dpdparcelshop {
.delivery-options :is(.row.delivery-option.chronopost, .row.delivery-option.dpdfrance) {
flex-wrap: wrap;
display: flex;
.shipping-radio {
flex-basis: 5%;
}
@@ -2969,13 +3056,20 @@ div#vyhledejte_pobocku_dpdparcelshop {
}
#chronorelais_container .row {
flex-wrap: wrap;
display: flex;
& > div {
flex-grow: 1;
flex-basis: 20em;
}
}
input#relais_postcode {
padding-top: 2px;
height: 100%;
padding-bottom: 1px;
}
}
#chronorelais_dummy_container {
display: none;
}
@@ -3054,6 +3148,141 @@ body#checkout .checkout-block .inner-area .login-block-moved .offer-login a {
position: sticky;
top: 0;
}
.form-group.vat_number {
display: none !important;
/* iframe popup for payment methods - by default, iframe popup-embed is not visible, with CSS class .iframe, payment-form shall not be visible */
.popup-body {
iframe.popup-embed {
display: none;
}
.popup-payment-form, .popup-payment-button {
display: block;
}
}
.popup-payment-content.iframe {
width: 50em;
.popup-body {
padding: 0;
}
iframe.popup-embed {
width: 100%;
height: 30em;
display: block;
border: none;
}
.popup-payment-form, .popup-payment-button {
display: none;
}
// Specific height for certain payment methods
&[data-payment-module=ps_checkpayment] .popup-embed {
height: 18em;
}
}
// Add minus sign and change color of discount value in cart summary
div#cart-subtotal-discount > .value:before {
content: '-';
padding-right: 2px;
}
div#cart-subtotal-discount > .value {
color: #dd0000;
}
// Display password field as required, if 'create account' checkbox is ticked
div#create_account ~ .form-group.password .field-label:after {
content: '*';
color: #36b4d2;
}
[name=general_error] ~ .error-msg {
width: 100%;
}
// Paypal pay-later, fix the 'pay later' button visibility
.popup_content[data-payment-module=paypal] .popup-payment-button {
display: flex!important;
justify-content: center;
#payment-confirmation {
display: none!important;
}
#paypal-buttons [paypal-bnpl-button-container] {
display: none!important;
&:last-child {
display: block!important;
}
}
}
/* GLS PakkeShop & Postnord map styling */
.delivery-option > label {
max-width: 100%;
flex-wrap: wrap;
& .shipping_agents, & #map {
width: calc(100% + 40px) !important;
margin-left: -40px
}
}
/* mondialrelay slideDown() sometimes stops at smaller heights, so force it to be auto-height */
.row.carrier-extra-content.mondialrelay {
height: auto!important;
}
.payment-option label {
width: 100%;
}
/* Logos on the right side in shipping/payment listing (config option) */
body.logos-on-the-right {
& .payment-option label {
& .payment-call-to-action-and-logo {
flex-grow: 1;
}
& .payment-logo {
order: 1;
}
}
& .delivery-option-detail {
& .name-and-delay {
flex-grow: 1;
& .delivery-option-price {
display: block!important;
}
}
& .delivery-option-logo {
order: 1;
}
& .delivery-option-price {
display: none;
}
}
}
#checkout .popup-payment-form > .additional-information {
display: flex;
justify-content: center;
}
/* Payment form displayed when T&C checkbox was ticked, but we need to postpone that until popup */
[data-payment-module=ps_checkout] > .js-payment-option-form {
display: none!important;
}
/* Warehouse theme, touchspin on quantity input box made inconvenient blink effect */
.qty-box > .bootstrap-touchspin {
display: none;
& ~ a {
display: none;
}
}
#checkout .popup-payment-form > .przelewy24.additional-information {
flex-flow: column;
}
.cart-summary-line.vat-exempt {
text-align: center;
& > span.label {
color: green;
}
}