From 55c2dd5925e20709933a1c6bdb88f3e800ab1a02 Mon Sep 17 00:00:00 2001 From: anamotaadyen Date: Tue, 25 Oct 2022 15:32:27 +0100 Subject: [PATCH] code refactoring --- app/main/payments.py | 5 - app/static/css/application.css | 2 +- app/static/img/headphones.png | Bin 111993 -> 0 bytes app/static/img/mystore-logo.svg | 10 - app/static/img/shopping-cartcart.png | Bin 799 -> 0 bytes app/static/img/sunglasses.png | Bin 84411 -> 0 bytes app/static/js/adyen-implementation.js | 1539 +++++++++++-------------- app/static/js/test-cards.js | 74 ++ app/templates/component.html | 58 +- 9 files changed, 762 insertions(+), 926 deletions(-) delete mode 100644 app/static/img/headphones.png delete mode 100644 app/static/img/mystore-logo.svg delete mode 100644 app/static/img/shopping-cartcart.png delete mode 100644 app/static/img/sunglasses.png create mode 100644 app/static/js/test-cards.js diff --git a/app/main/payments.py b/app/main/payments.py index 2ebd314..b2ea76f 100644 --- a/app/main/payments.py +++ b/app/main/payments.py @@ -29,9 +29,6 @@ def adyen_payments(frontend_request, locale_data): payments_request['countryCode'] = locale_data['countryCode'] payments_request['merchantAccount'] = "CheckoutCreateDemo" payments_request['recurringExpiry'] = "2022-08-01T23:59:59+02:00" - payments_request['0'] = [] - payments_request['1'] = [] - # payments_request['paymentMethod'] = {"subtype": "redirect"} payments_request.update(payment_info) @@ -143,8 +140,6 @@ def sanatizeRequest(payments_request): del payments_request['houseNumberOrName'] del payments_request['postalCode'] del payments_request['street'] - del payments_request['0'] - del payments_request['1'] diff --git a/app/static/css/application.css b/app/static/css/application.css index 1fd208a..38b3d5d 100644 --- a/app/static/css/application.css +++ b/app/static/css/application.css @@ -759,7 +759,7 @@ a:hover { display: inline-block; width: 290px; height: 172px; - background-image: url("https://image.ibb.co/bVnMrc/g3095.png"), + background-image: linear-gradient( to right bottom, #0abf53, diff --git a/app/static/img/headphones.png b/app/static/img/headphones.png deleted file mode 100644 index 12d1cf4408122863fd3de9deb25144b33b690e56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111993 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
K^i> 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 Lepd1Hb=dy^t6}}) diff --git a/app/static/img/mystore-logo.svg b/app/static/img/mystore-logo.svg deleted file mode 100644 index 0418b24..0000000 --- a/app/static/img/mystore-logo.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/app/static/img/shopping-cartcart.png b/app/static/img/shopping-cartcart.png deleted file mode 100644 index ed25fb8cd16b9ea0be48bb68817e6af3882c616e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 799 zcmV+)1K|9LP)$5z7LsbZ-SgDbKN(=cgb5QS++px2g!#!2m@hv$GPx#YQfB}d^o86QuLUs* z0WkC{kIjPOxh0-2*W${(G9TtkD(~wrJH+;JBu?(4^wj$Eku6)Ei?e+#A4Mm@ zm0As+yH<>h#V|U8u)NXc(v?xJZnR=TA=Rs=uAY`L7QyJCSluymM98!ZQsF^L)gpR4 z$Z}=NLw+c*vYC3MT1J9k@lC#gEFB#9qtMn1%#ZirL5S6DW_wV^rkap)$xTf&gda5_ z+lyt*6N)AI`mxlO$J*_mo0&+O%@+DGNUISf(5CfIvkub`b^ zOKYn;iol-``hqWG{ginobG_&N6j}+EacEjwWlW(;l;-hw0r?X|?WN<-9{=5c77P*A zJm#t$_MdF(Zj?4Q)x_P&#+`im$r&KMhuZ*cUWp9;u)P#GO22<)@Zh0rGy52^+Ci8= d@%3GE`7bbtF%Nj>_e=l)002ovPDHLkV1n8vYnlK6 diff --git a/app/static/img/sunglasses.png b/app/static/img/sunglasses.png deleted file mode 100644 index 1f2805376e02c3a2b4b2670eb6eba710001962a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84411 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 diff --git a/app/static/js/adyen-implementation.js b/app/static/js/adyen-implementation.js index 84f8816..e877f82 100644 --- a/app/static/js/adyen-implementation.js +++ b/app/static/js/adyen-implementation.js @@ -1,3 +1,4 @@ +let r = document.querySelector(":root") const clientKey = JSON.parse(document.getElementById("client-key").innerHTML) const storedCountry = document.getElementById("country-code") const currentPM = document.getElementById("pay-methods") @@ -12,7 +13,10 @@ console.log(countryURL) let payMethods =[]; let payArray = Object.values(payMethods); -// global configuration variables +/** + * Global configuration variables + * + */ let openFirst = true let billAdd = false let onlyStored = true @@ -21,310 +25,38 @@ let showPayMethod = true let hideCVC = false let placeholderData = false +/** + * Hiding toggles of local payment methods not supported for NL (initial page load) + * + */ +document.getElementById('trustlyCol').style.display = "none" +document.getElementById('trustlyBox').style.display = "none" +document.getElementById('trustlyToggle').style.display = "none" +document.getElementById('clearpayCol').style.display = "none" +document.getElementById('clearpayBox').style.display = "none" +document.getElementById('clearpayToggle').style.display = "none" + // identify checkout div and create new empty div to replace with const oldDiv = document.getElementById("dropin-container") const newDiv = document.createElement("div") +/** + * Country flag svg image location + */ const flagUrlMap = { NL: { - src: "https://ca-test.adyen.com/ca/adl/img/flags/nl.svg", - total: "€40.00", - currency: "EUR", - href: "{{ url_for('checkout', integration=method, country=NL) }}", + src: "https://ca-test.adyen.com/ca/adl/img/flags/nl.svg" }, GB: { - src: "https://ca-test.adyen.com/ca/adl/img/flags/gb.svg", - total: "£40.00", - currency: "GBP", - href: "{{ url_for('checkout', integration=method, country=GB) }}", + src: "https://ca-test.adyen.com/ca/adl/img/flags/gb.svg" }, US: { - src: "https://ca-test.adyen.com/ca/adl/img/flags/us.svg", - total: "$40.00", - currency: "USD", - href: "{{ url_for('checkout', integration=method, country=US) }}", - }, -} - -const testCardBrandsMap = { - visa: { - src: "https://checkoutshopper-live.adyen.com/checkoutshopper/images/logos/visa.svg", - cardNumber: "4111 1111 1111 1111", - expiry: "03/30", - cvc: "737", - }, - mc: { - src: "https://checkoutshopper-live.adyen.com/checkoutshopper/images/logos/mc.svg", - cardNumber: "2222 4107 4036 0010", - expiry: "03/30", - cvc: "737", - }, - amex: { - src: "https://checkoutshopper-live.adyen.com/checkoutshopper/images/logos/amex.svg", - cardNumber: "3700 0000 0000 002", - expiry: "03/30", - cvc: "7373", - }, -} - -// Get old Drop-in -function getOldDiv() { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") -} - -// Create new Drop-in and replace for the old one -function replaceDiv() { - oldDiv.replaceWith(newDiv); - newDiv.setAttribute("id", "dropin-container"); - newDiv.setAttribute("class", "payment p-5"); - initCheckout(); -} - - -// Country dropdown changes the flag image and reloads the dropin with new country values -function changeSelect(el) { - document.getElementById("flag_img").src = flagUrlMap[el.value].src - const country = el.value - countrySettings = getCountryData(country) - console.log(countrySettings) - if ( - document.getElementById("dropin-container") && - document.getElementById("placeholderData").checked == true - ) { - placeholderData = { - holderName: "Jane Doe", - billingAddress: { - street: countrySettings.street, - postalCode: countrySettings.postalCode, - city: countrySettings.city, - country: countrySettings.countryCode, - stateOrProvince: countrySettings.stateOrProvince, - houseNumberOrName: countrySettings.houseNumberOrName, - }, - } - // document.getElementById("placeholderData").checked = false - // placeholderData = false - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - updateToggles(); - initCheckout(); - } else if (document.getElementById("dropin-container")) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - updateToggles(); - initCheckout() + src: "https://ca-test.adyen.com/ca/adl/img/flags/us.svg" } } - -// function openFirstPayment() { -// var firstPayBox = document.getElementById("firstPayBox") -// if (firstPayBox == true){ -// openFirst = true -// oldDiv.replaceWith(newDiv) -// newDiv.setAttribute("id", "dropin-container") -// initCheckout() -// } -// else { -// openFirst = false -// oldDiv.replaceWith(newDiv) -// newDiv.setAttribute("id", "dropin-container") -// initCheckout() -// } -// } - -// Funtion to toggle first payment method open -document - .getElementById("firstPayBox") - .parentNode.addEventListener("click", function (event) { - // the value of `this` here is the element the event was fired on. - // In this situation, it's the element with the ID of 'approval'. - if (this.querySelector("input").checked) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - openFirst = true - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - openFirst = false - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } - }) - -// Function to add billing address -document - .getElementById("billAdd") - .parentNode.addEventListener("click", function (event) { - // the value of `this` here is the element the event was fired on. - // In this situation, it's the element with the ID of 'approval'. - if (this.querySelector("input").checked) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - billAdd = true - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - billAdd = false - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } - }) - -// Function to show only saved payment methods -document - .getElementById("onlyStored") - .parentNode.addEventListener("click", function (event) { - // the value of `this` here is the element the event was fired on. - // In this situation, it's the element with the ID of 'approval'. - if (this.querySelector("input").checked) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - onlyStored = false - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - onlyStored = true - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } - }) - -// function to show holder name field -document - .getElementById("holderName") - .parentNode.addEventListener("click", function (event) { - // the value of `this` here is the element the event was fired on. - // In this situation, it's the element with the ID of 'approval'. - if (this.querySelector("input").checked) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - holderName = true - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - holderName = false - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } - }) - -// Funtion to show all payment methods -document - .getElementById("showPayMethod") - .parentNode.addEventListener("click", function (event) { - // the value of `this` here is the element the event was fired on. - // In this situation, it's the element with the ID of 'approval'. - if (this.querySelector("input").checked) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - showPayMethod = false - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - showPayMethod = true - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } - }) - -// Funtion to hide or show cvc -document - .getElementById("hideCVC") - .parentNode.addEventListener("click", function (event) { - // the value of `this` here is the element the event was fired on. - // In this situation, it's the element with the ID of 'approval'. - if (this.querySelector("input").checked) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - hideCVC = true - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - hideCVC = false - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } - }) - -// Funtion for including placeholder data -document - .getElementById("placeholderData") - .parentNode.addEventListener("click", function (event) { - // the value of `this` here is the element the event was fired on. - // In this situation, it's the element with the ID of 'approval'. - if (this.querySelector("input").checked) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - placeholderData = { - holderName: "Jane Doe", - billingAddress: { - street: countrySettings.street, - postalCode: countrySettings.postalCode, - city: countrySettings.city, - country: countrySettings.countryCode, - stateOrProvince: countrySettings.stateOrProvince, - houseNumberOrName: countrySettings.houseNumberOrName, - }, - } - console.log(countrySettings) - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - placeholderData = false - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } - }) - +/** + * Country specific variables + */ const countryVariables = [ { countryCode: "NL", @@ -355,6 +87,200 @@ const countryVariables = [ houseNumberOrName: "Floor 11", }, ] + +/** + * Country dropdown changes the flag image and reloads the dropin with new country values + * Calls /paymentMethods to retrieve available txvariants for that country + * @param {*} el + */ +async function changeSelect(el) { + // let countryPM = getConfiguration(); + console.log(Object.values) + document.getElementById("flag_img").src = flagUrlMap[el.value].src + const country = el.value + countrySettings = getCountryData(country) + let txvariants = await getCountryPM() + console.log(txvariants) + if (txvariants.includes("trustly") === true) { + document.getElementById('trustlyCol').style.display = "" + document.getElementById('trustlyBox').style.display = "" + document.getElementById('trustlyToggle').style.display = "" + } else { + document.getElementById('trustlyCol').style.display = "none" + document.getElementById('trustlyBox').style.display = "none" + document.getElementById('trustlyToggle').style.display = "none" + } + if (txvariants.includes("clearpay") === true) { + document.getElementById('clearpayCol').style.display = "" + document.getElementById('clearpayBox').style.display = "" + document.getElementById('clearpayToggle').style.display = "" + } else { + document.getElementById('clearpayCol').style.display = "none" + document.getElementById('clearpayBox').style.display = "none" + document.getElementById('clearpayToggle').style.display = "none" + } + if ( + document.getElementById("dropin-container") && + document.getElementById("placeholderData").checked == true + ) { + placeholderData = { + holderName: "Jane Doe", + billingAddress: { + street: countrySettings.street, + postalCode: countrySettings.postalCode, + city: countrySettings.city, + country: countrySettings.countryCode, + stateOrProvince: countrySettings.stateOrProvince, + houseNumberOrName: countrySettings.houseNumberOrName, + }, + } + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout(); + } else if (document.getElementById("dropin-container")) { + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout(); + } +} + +/** + * Funtion to toggle first payment method open + */ +document + .getElementById("firstPayBox") + .parentNode.addEventListener("click", function (event) { + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (this.querySelector("input").checked) { + openFirst = true + } else { + openFirst = false + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout(); + }) + +// Function to add billing address +document + .getElementById("billAdd") + .parentNode.addEventListener("click", function (event) { + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (this.querySelector("input").checked) { + billAdd = true + } else { + billAdd = false + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout() + }) + +// Function to show only saved payment methods +document + .getElementById("onlyStored") + .parentNode.addEventListener("click", async function (event) { + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (this.querySelector("input").checked) { + onlyStored = false + } else { + onlyStored = true + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout() + }) + +// function to show holder name field +document + .getElementById("holderName") + .parentNode.addEventListener("click", function (event) { + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (this.querySelector("input").checked) { + holderName = true + } else { + holderName = false + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout() + }) + +// Funtion to show all payment methods +document + .getElementById("showPayMethod") + .parentNode.addEventListener("click", function (event) { + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (this.querySelector("input").checked) { + showPayMethod = false + } else { + showPayMethod = true + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout() + }) + +// Funtion to hide or show cvc +document + .getElementById("hideCVC") + .parentNode.addEventListener("click", function (event) { + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (this.querySelector("input").checked) { + hideCVC = true + } else { + hideCVC = false + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout() + }) + +// Funtion for including placeholder data +document + .getElementById("placeholderData") + .parentNode.addEventListener("click", function (event) { + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (this.querySelector("input").checked) { + placeholderData = { + holderName: "Jane Doe", + billingAddress: { + street: countrySettings.street, + postalCode: countrySettings.postalCode, + city: countrySettings.city, + country: countrySettings.countryCode, + stateOrProvince: countrySettings.stateOrProvince, + houseNumberOrName: countrySettings.houseNumberOrName, + }, + } + } else { + placeholderData = false + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout() + }) + if (storedCountry) { const selectedCountry = JSON.parse(storedCountry.innerHTML) countrySettings = getCountryData(selectedCountry) @@ -370,117 +296,141 @@ function getCountryData(countrySettings) { ) } +/** + * setting the array of blockedPaymentMethods + */ let blockedPM = {"blockedPaymentMethods": payArray}; +async function getCountryPM() { + let noBlock = {"blockedPaymentMethods": []}; + const mergeData = { + ...countrySettings, + ...noBlock + } + const unblockedResponse = await callServer( + "/api/getPaymentMethods", + mergeData + ) + let payMethodArray = unblockedResponse.paymentMethods + let txvariants = payMethodArray.map(({ type }) => type); + return await txvariants +} + +async function paymentMethods() { + const mergeData = { + ...countrySettings, + ...blockedPM + } + const paymentMethodsResponse = await callServer( + "/api/getPaymentMethods", + mergeData + ) + console.log(paymentMethodsResponse) + return await paymentMethodsResponse +} + +async function getConfiguration() { + const paymentMethodsResponse = await paymentMethods(); + let prettyResponse = JSON.stringify(paymentMethodsResponse, null, 2) + console.log(prettyResponse) + let configuration = { + paymentMethodsResponse: paymentMethodsResponse, + clientKey, + locale: countrySettings.locale || "en_NL", + countryCode: countrySettings.countryCode || "NL", + environment: "test", + showPayButton: true, + paymentMethodsConfiguration: { + ideal: { + showImage: true, + }, + card: { + hasHolderName: holderName, + holderNameRequired: true, + hideCVC: hideCVC, + // brands: ['mc','visa','amex'], + name: "Credit or debit card", + data: { + holderName: placeholderData.holderName, + billingAddress: placeholderData.billingAddress, + }, + enableStoreDetails: true, + billingAddressRequired: billAdd, + amount: { + value: 4000, + currency: countrySettings.currency || "EUR", + }, + }, + storedCard: { + hideCVC: hideCVC, + }, + paypal: { + amount: { + currency: countrySettings.currency || "EUR", + value: 4000, + }, + environment: "test", // Change this to "live" when you're ready to accept live PayPal payments + countryCode: countrySettings.countryCode || "NL", // Only needed for test. This will be automatically retrieved when you are in production. + showPayButton: true, + merchantId: "AD74FQNVXQY5E", + } + }, + onSubmit: (state, dropin) => { + if (state.isValid) { + handleSubmission( + state, + dropin, + "/api/initiatePayment", + countrySettings, + payArray + ) + } + }, + onAdditionalDetails: (state, dropin) => { + handleSubmission(state, dropin, "/api/submitAdditionalDetails") + } + } + let cloneConfig = Object.assign({}, configuration) + logConfig(cloneConfig) + return await configuration +} + async function initCheckout() { try { - const mergeData = { - ...countrySettings, - ...blockedPM - } - const paymentMethodsResponse = await callServer( - "/api/getPaymentMethods", - mergeData - ) - console.log(mergeData) - let prettyResponse = JSON.stringify(paymentMethodsResponse, null, 2) - console.log(prettyResponse) - let configuration = { - paymentMethodsResponse: paymentMethodsResponse, - clientKey, - locale: countrySettings.locale || "en_NL", - countryCode: countrySettings.countryCode || "NL", - environment: "test", - showPayButton: true, - paymentMethodsConfiguration: { - ideal: { - showImage: true, - }, - card: { - hasHolderName: holderName, - holderNameRequired: true, - hideCVC: hideCVC, - // brands: ['mc','visa','amex'], - name: "Credit or debit card", - data: { - holderName: placeholderData.holderName, - billingAddress: placeholderData.billingAddress, - }, - enableStoreDetails: true, - billingAddressRequired: billAdd, - amount: { - value: 4000, - currency: countrySettings.currency || "EUR", - }, - }, - storedCard: { - hideCVC: hideCVC, - }, - paypal: { - amount: { - currency: countrySettings.currency || "EUR", - value: 4000, - }, - //commit: false, - environment: "test", // Change this to "live" when you're ready to accept live PayPal payments - countryCode: countrySettings.countryCode || "NL", // Only needed for test. This will be automatically retrieved when you are in production. - showPayButton: true, - merchantId: "AD74FQNVXQY5E", - //subtype: "redirect" - }, - }, - onSubmit: (state, dropin) => { - if (state.isValid) { - handleSubmission( - state, - dropin, - "/api/initiatePayment", - countrySettings, - payArray - ) - } - }, - onAdditionalDetails: (state, dropin) => { - handleSubmission(state, dropin, "/api/submitAdditionalDetails") - }, + let configuration = await getConfiguration() + const checkout = await AdyenCheckout(configuration) + checkout + .create("dropin", { + showRemovePaymentMethodButton: true, + openFirstPaymentMethod: openFirst, + showStoredPaymentMethods: onlyStored, + showPaymentMethods: showPayMethod, onDisableStoredPaymentMethod: ( storedPaymentMethodId, resolve, reject ) => { - // handleSubmission(state, dropin, "/api/disable"); + callServer("/api/disable", { + storedPaymentMethodId: storedPaymentMethodId, + }) + resolve() + reject() }, - } - // cloning configuration object to filter and log - const cloneConfig = Object.assign({}, configuration) - logConfig(cloneConfig) - - const checkout = await AdyenCheckout(configuration) - checkout - .create("dropin", { - showRemovePaymentMethodButton: true, - openFirstPaymentMethod: openFirst, - showStoredPaymentMethods: onlyStored, - showPaymentMethods: showPayMethod, - onDisableStoredPaymentMethod: ( - storedPaymentMethodId, - resolve, - reject - ) => { - callServer("/api/disable", { - storedPaymentMethodId: storedPaymentMethodId, - }) - resolve() - reject() - }, - }) - .mount("#dropin-container") + }) + .mount("#dropin-container") + return await checkout } catch (error) { console.error(error) alert("Error occurred. Look at console for details") } } +async function unmountDropin() { + const checkout = await initCheckout() + checkout.unmount("#dropin-container") +} + + async function unmountContainer() { try { const checkout = await AdyenCheckout(); @@ -492,55 +442,19 @@ async function unmountContainer() { } } - -// logging configuration object to UI -function logConfig(cloneConfig) { - console.log(cloneConfig) - // let filteredConfig = loggedConfig - - delete cloneConfig.paymentMethodsResponse - cloneConfig.clientKey = "***" - cloneConfig.paymentMethodsConfiguration.paypal.merchantId = "***" - - let finalConfig = { configuration: cloneConfig } - let stringConfig = JSON.stringify(finalConfig, null, 2) - - console.log(stringConfig) - - document.getElementById("configCode").innerHTML = - syntaxHighlight(stringConfig) -} - -/*function filterUnimplemented(pm) { - pm.paymentMethods = pm.paymentMethods.filter((it) => - [ - "scheme", - "ideal", - "dotpay", - "giropay", - "sepadirectdebit", - "directEbanking", - "ach", - "alipay", - "klarna_paynow", - "klarna", - "klarna_account", - "paypal", - "boletobancario_santander" - ].includes(it.type) - ); - return pm; -}*/ - -// Event handlers called when the shopper selects the pay button, -// or when additional information is required to complete the payment -async function handleSubmission(state, dropin, url, countrySettings, payArray) { +/** + * @function handleSubmission - Event handlers called when the shopper selects the pay button, or when additional information is required to complete the payment + * @param state - Dropin state data + * @param dropin - Dropin + * @param url - web address + * @param countrySettings - country specific data + */ +async function handleSubmission(state, dropin, url, countrySettings) { try { //keeping the country data for the /payments call const mergedData = { ...state.data, - ...countrySettings, - ...payArray + ...countrySettings } const res = await callServer(url, mergedData) let prettyResponse = JSON.stringify(res, null, 2) @@ -569,7 +483,11 @@ successDiv.style.display = "none" const errorDiv = document.querySelector(".errorDiv") errorDiv.style.display = "none" -// Handles responses sent from your server to the client +/** + * @function handleServerResponse - Handles responses sent from your server to the client + * @param res - API response payload + * @param dropin - Dropin + */ function handleServerResponse(res, dropin) { if (res.action) { dropin.handleAction(res.action) @@ -598,43 +516,262 @@ function handleServerResponse(res, dropin) { } } -// not it use -function restartDropin() { - const currentDiv = document.getElementById("dropin-container") - currentDiv.style.display = "" +// Add txvariants to blockPaymentMethods array on button click +// ------- Cards --------- +/** + * @function blockCard - adds/removes visa, amex and mastercard as txvariants to blockPaymentMethods array + */ +function blockCard() { + const CardState = document.getElementById('showCard').checked; + const oldDiv = document.getElementById("dropin-container") const newDiv = document.createElement("div") - currentDiv.replaceWith(newDiv) + if (CardState == true) { + const filteredPM = payMethods.filter((s) => !s.match("visa") && !s.match("mc") && !s.match("amex")); + payMethods = filteredPM; + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } else { + payMethods.push("visa"); + payMethods.push("mc"); + payMethods.push("amex"); + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } + oldDiv.replaceWith(newDiv) newDiv.setAttribute("id", "dropin-container") newDiv.setAttribute("class", "payment p-5") - newDiv.style.display = "" - successDiv.style.display = "none" - errorDiv.style.display = "none" initCheckout() } +// -------PayPal--------- +/** + * @function blockPaypal - adds/removes paypal as txvariant to blockPaymentMethods array + */ +function blockPaypal() { + const paypalState = document.getElementById('showPaypal').checked; + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (paypalState == true) { + const filteredPM = payMethods.filter((s) => !s.match("paypal")); + payMethods = filteredPM; + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } else { + payMethods.push("paypal"); + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout() +} +// -------Ideal--------- +/** + * @function blockIdeal - adds/removes ideal as txvariant to blockPaymentMethods array + */ +function blockIdeal() { + const idealState = document.getElementById('showIdeal').checked; + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (idealState == true) { + const filteredPM = payMethods.filter((s) => !s.match("ideal")); + payMethods = filteredPM; + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } else { + payMethods.push("ideal"); + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout(); +} +// -------Klarna--------- +/** + * @function blockKlarna - adds/removes klarna as txvariant to blockPaymentMethods array + */ +function blockKlarna() { + const klarnaState = document.getElementById('showKlarna').checked; + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (klarnaState == true) { + const filteredPM = payMethods.filter((s) => !s.match("klarna")); + payMethods = filteredPM; + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } else { + payMethods.push("klarna"); + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout(); +} +// -------GooglePay--------- +/** + * @function blockGooglePay - adds/removes paywithgoogle as txvariant to blockPaymentMethods array + */ +function blockGooglePay() { + const GooglePayState = document.getElementById('showGooglePay').checked; + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (GooglePayState == true) { + const filteredPM = payMethods.filter((s) => !s.match("paywithgoogle")); + payMethods = filteredPM; + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } else { + payMethods.push("paywithgoogle"); + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout(); +} +// -------WeChat--------- +/** + * @function blockWeChat - adds/removes wechatpayQR as txvariant to blockPaymentMethods array + */ +function blockWeChat() { + const WeChatState = document.getElementById('showWeChat').checked; + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (WeChatState == true) { + const filteredPM = payMethods.filter((s) => !s.match("wechatpayQR")); + payMethods = filteredPM; + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } else { + payMethods.push("wechatpayQR"); + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout(); +} +// -------AliPay--------- +/** + * @function blockAliPay - adds/removes alipay as txvariant to blockPaymentMethods array + */ +function blockAliPay() { + const AliPayState = document.getElementById('showAliPay').checked; + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (AliPayState == true) { + const filteredPM = payMethods.filter((s) => !s.match("alipay")); + payMethods = filteredPM; + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } else { + payMethods.push("alipay"); + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout(); +} +// -------Paysafecard--------- +/** + * @function blockPaysafecard - adds/removes paysafecard as txvariant to blockPaymentMethods array + */ +function blockPaysafecard() { + const PaysafecardState = document.getElementById('showPaysafecard').checked; + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (PaysafecardState == true) { + const filteredPM = payMethods.filter((s) => !s.match("paysafecard")); + payMethods = filteredPM; + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } else { + payMethods.push("paysafecard"); + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout(); +} +// -------Clearpay--------- +/** + * @function blockClearpay - adds/removes clearpay as txvariant to blockPaymentMethods array + */ +function blockClearpay() { + const ClearpayState = document.getElementById('showClearpay').checked; + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (ClearpayState == true) { + const filteredPM = payMethods.filter((s) => !s.match("clearpay")); + payMethods = filteredPM; + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } else { + payMethods.push("clearpay"); + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout(); +} +// -------Trustly--------- +/** + * @function blockTrustly - adds/removes trustly as txvariant to blockPaymentMethods array + */ +function blockTrustly() { + const TrustlyState = document.getElementById('showTrustly').checked; + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + if (TrustlyState == true) { + const filteredPM = payMethods.filter((s) => !s.match("trustly")); + payMethods = filteredPM; + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } else { + payMethods.push("trustly"); + payArray = Object.values(payMethods); + blockedPM = {"blockedPaymentMethods": payArray}; + } + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout(); +} - - -// define r as root of document for css variables -let r = document.querySelector(":root") - -// Colour picker changes button color +/** + * @function setDynamicCSS - Colour picker that changes button colour + */ function setDynamicCSS() { colorVal = document.getElementById("buttonColorPick").value r.style.setProperty("--background-color", colorVal) updateStyleCode() } -// change page background colour +/** + * @function backgroudColor - Changes page background colour + */ function backgroundColor() { let bgVal = document.getElementById("bgColorPick").value r.style.setProperty("--bg-color", bgVal) } -// change active payment method colour +/** @function dropinColor - Changes active payment method colour */ function dropinColor() { let dropinColor = document.getElementById("dropinColorPick").value r.style.setProperty("--dropin-color", dropinColor) updateStyleCode() } -// change collapsed payment methods' colours +/** @function dropinTabColor - Changes collapsed payment methods' colours */ function dropinTabColor() { let dropinTabColor = document.getElementById("dropinTabColorPick").value r.style.setProperty("--dropin-tab-color", dropinTabColor) @@ -679,424 +816,103 @@ document } }) -// Reset CSS values to default Drop-in -function resetDynamicCSS() { - r.style.setProperty("--background-color", null) - r.style.setProperty("--dropin-width", null) - r.style.setProperty("--body-edges", null) - r.style.setProperty("--selectedBody-edges", null) - r.style.setProperty("--topedges-left", null) - r.style.setProperty("--topedges-right", null) - r.style.setProperty("--bottomedges-left", null) - r.style.setProperty("--bottomedges-right", null) - r.style.setProperty("--button-edges", null) - r.style.setProperty("--bg-color", null) - r.style.setProperty("--dropin-color", null) - r.style.setProperty("--dropin-tab-color", null) - r.style.setProperty("--dropin-font", null) - r.style.setProperty("--text-color", null) - r.style.setProperty("--text-bold", null) - r.style.setProperty("--text-italic", null) - r.style.setProperty("--text-align", null) - r.style.setProperty("--payButton-width", null) - r.style.setProperty("--payments-spacing", null) - r.style.setProperty("--paymentselected-margin", null) - r.style.setProperty("--font-options", null) -} // change dropin container width function dropinWidth() { - let widthValue = document.getElementById("changeWidth").value - let widthpx = widthValue + "px" - r.style.setProperty("--dropin-width", widthpx) - console.log(widthpx) - updateStyleCode() -} -// change pay buttons' width -function payButtonWidth() { - let payWidthValue = document.getElementById("payButtonWidth").value - let payWidthpx = payWidthValue + "px" - r.style.setProperty("--payButton-width", payWidthpx) - updateStyleCode() -} -// change spacing of payment methods tabs -function paymentsSpacing() { - let paymentSpacingValue = document.getElementById("paymentsSpacing").value - let paymentSpacingpx = paymentSpacingValue + "px" - r.style.setProperty("--payments-spacing", paymentSpacingpx) - r.style.setProperty("--paymentselected-margin", paymentSpacingpx) - updateStyleCode() -} -// change font size -function fontWidth() { - let fontValue = document.getElementById("fontSize").value - let fontpx = fontValue + "px" - r.style.setProperty("--dropin-font", fontpx) - updateStyleCode() -} - -// this turns the test card around on copyCVC button click -function turnCard() { - updateCardCopy(); - document.getElementById("card").classList.add("card-visited") -} - -// this turns the card back to front if on reverse and copyPAN or copyExiry button gets clicked -function resetCard() { - updateCardCopy(); - if (document.getElementById("card").classList.contains("card-visited")) { - document.getElementById("card").classList.remove("card-visited") - } -} - -// this updates the button attribute copy text to reflect the current card on UI -function updateCardCopy() { - let panText = document.getElementById('cardNumber').innerText - console.log(panText) - document.getElementById('btn').setAttribute("data-clipboard-text", String(panText)) - let expiryText = document.getElementById('expiry').innerText - document.getElementById('copy-expiry').setAttribute("data-clipboard-text", String(expiryText)) - let cvcText = document.getElementById('cvc').innerText - document.getElementById('copy-cvc').setAttribute("data-clipboard-text", String(cvcText)) -} - -// this is for the drop down to change test cards -function changeTestCard(brandValue) { - updateCardCopy(); - document.getElementById("brand_img").src = - testCardBrandsMap[brandValue.value].src - document.getElementById("cardNumber").innerText = - testCardBrandsMap[brandValue.value].cardNumber - document.getElementById("cvc").innerText = - testCardBrandsMap[brandValue.value].cvc -} -// change text position -function positionText() { - let positionValue = document.getElementById("positionText").value - r.style.setProperty("--text-align", positionValue) - updateStyleCode() -} -// make text bold -function makeBold() { - if (document.getElementById("makeBold").classList.contains("bold-active")) { - document.getElementById("makeBold").classList.remove("bold-active") - r.style.setProperty("--text-bold", null) - updateStyleCode() - } else { - document.getElementById("makeBold").classList.add("bold-active") - r.style.setProperty("--text-bold", "bold") + let widthValue = document.getElementById("changeWidth").value + let widthpx = widthValue + "px" + r.style.setProperty("--dropin-width", widthpx) + console.log(widthpx) updateStyleCode() } -} + // change pay buttons' width + function payButtonWidth() { + let payWidthValue = document.getElementById("payButtonWidth").value + let payWidthpx = payWidthValue + "px" + r.style.setProperty("--payButton-width", payWidthpx) + updateStyleCode() + } + // change spacing of payment methods tabs + function paymentsSpacing() { + let paymentSpacingValue = document.getElementById("paymentsSpacing").value + let paymentSpacingpx = paymentSpacingValue + "px" + r.style.setProperty("--payments-spacing", paymentSpacingpx) + r.style.setProperty("--paymentselected-margin", paymentSpacingpx) + updateStyleCode() + } + // change font size + function fontWidth() { + let fontValue = document.getElementById("fontSize").value + let fontpx = fontValue + "px" + r.style.setProperty("--dropin-font", fontpx) + updateStyleCode() + } + // make text italic function makeItalic() { - if ( - document.getElementById("makeItalic").classList.contains("italic-active") - ) { - document.getElementById("makeItalic").classList.remove("italic-active") + if ( + document.getElementById("makeItalic").classList.contains("italic-active") + ) { + document.getElementById("makeItalic").classList.remove("italic-active") + r.style.setProperty("--text-italic", null) + updateStyleCode() + } else { + document.getElementById("makeItalic").classList.add("italic-active") + r.style.setProperty("--text-italic", "italic") + updateStyleCode() + } + } + + //drop down selector for the different font styles + function changeFont() { + r.style.setProperty("--font-options", null) + let fontValue = document.getElementById("font_select").value + r.style.setProperty("--font-options", fontValue) + updateStyleCode() + } + + +// Reset CSS values to default Drop-in +function resetDynamicCSS() { + r.style.setProperty("--background-color", null) + r.style.setProperty("--dropin-width", null) + r.style.setProperty("--body-edges", null) + r.style.setProperty("--selectedBody-edges", null) + r.style.setProperty("--topedges-left", null) + r.style.setProperty("--topedges-right", null) + r.style.setProperty("--bottomedges-left", null) + r.style.setProperty("--bottomedges-right", null) + r.style.setProperty("--button-edges", null) + r.style.setProperty("--bg-color", null) + r.style.setProperty("--dropin-color", null) + r.style.setProperty("--dropin-tab-color", null) + r.style.setProperty("--dropin-font", null) + r.style.setProperty("--text-color", null) + r.style.setProperty("--text-bold", null) r.style.setProperty("--text-italic", null) - updateStyleCode() - } else { - document.getElementById("makeItalic").classList.add("italic-active") - r.style.setProperty("--text-italic", "italic") - updateStyleCode() + r.style.setProperty("--text-align", null) + r.style.setProperty("--payButton-width", null) + r.style.setProperty("--payments-spacing", null) + r.style.setProperty("--paymentselected-margin", null) + r.style.setProperty("--font-options", null) } -} -//drop down selector for the different font styles -function changeFont() { - r.style.setProperty("--font-options", null) - let fontValue = document.getElementById("font_select").value - r.style.setProperty("--font-options", fontValue) - updateStyleCode() -} +// logging configuration object to UI +function logConfig(cloneConfig) { + console.log(cloneConfig) + // let filteredConfig = loggedConfig -// default toggles for NL -document.getElementById('trustlyCol').style.display = "none" -document.getElementById('trustlyBox').style.display = "none" -document.getElementById('trustlyToggle').style.display = "none" + delete cloneConfig.paymentMethodsResponse + cloneConfig.clientKey = "***" + cloneConfig.paymentMethodsConfiguration.paypal.merchantId = "***" -// Remove toggle from txvariants not applicable for the -function updateToggles(){ - if(countrySettings.countryCode == 'GB' ) { - document.getElementById('trustlyCol').style.display = "" - document.getElementById('trustlyBox').style.display = "" - document.getElementById('trustlyToggle').style.display = "" - } - else if(countrySettings.countryCode == 'NL' ) { - document.getElementById('trustlyCol').style.display = "none" - document.getElementById('trustlyBox').style.display = "none" - document.getElementById('trustlyToggle').style.display = "none" - } - else if (countrySettings.countryCode == 'US' ){ - document.getElementById('trustlyCol').style.display = "none" - document.getElementById('trustlyBox').style.display = "none" - document.getElementById('trustlyToggle').style.display = "none" + let finalConfig = { configuration: cloneConfig } + let stringConfig = JSON.stringify(finalConfig, null, 2) - } -} -// Add txvariants to blockPaymentMethods array on button click -// -------Cards - visa+mastercard+amex --------- -function blockCard() { - const CardState = document.getElementById('showCard').checked; - if (CardState == true) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - const filteredPM = payMethods.filter((s) => !s.match("visa") && !s.match("mc") && !s.match("amex")); - payMethods = filteredPM; - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - payMethods.push("visa"); - payMethods.push("mc"); - payMethods.push("amex"); - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } -} -// -------PayPal--------- -function blockPaypal() { - const paypalState = document.getElementById('showPaypal').checked; - if (paypalState == true) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - const filteredPM = payMethods.filter((s) => !s.match("paypal")); - payMethods = filteredPM; - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - payMethods.push("paypal"); - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } -} -// -------Ideal--------- -function blockIdeal() { - const idealState = document.getElementById('showIdeal').checked; - if (idealState == true) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - const filteredPM = payMethods.filter((s) => !s.match("ideal")); - payMethods = filteredPM; - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout(); - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - payMethods.push("ideal"); - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } -} -// -------Klarna--------- -function blockKlarna() { - const klarnaState = document.getElementById('showKlarna').checked; - if (klarnaState == true) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - const filteredPM = payMethods.filter((s) => !s.match("klarna")); - payMethods = filteredPM; - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout(); - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - payMethods.push("klarna"); - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } -} -// -------GooglePay--------- -function blockGooglePay() { - const GooglePayState = document.getElementById('showGooglePay').checked; - if (GooglePayState == true) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - const filteredPM = payMethods.filter((s) => !s.match("paywithgoogle")); - payMethods = filteredPM; - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout(); - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - payMethods.push("paywithgoogle"); - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } -} -// -------WeChat--------- -function blockWeChat() { - const WeChatState = document.getElementById('showWeChat').checked; - if (WeChatState == true) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - const filteredPM = payMethods.filter((s) => !s.match("wechatpayQR")); - payMethods = filteredPM; - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout(); - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - payMethods.push("wechatpayQR"); - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } -} -// -------AliPay--------- -function blockAliPay() { - const AliPayState = document.getElementById('showAliPay').checked; - if (AliPayState == true) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - const filteredPM = payMethods.filter((s) => !s.match("alipay")); - payMethods = filteredPM; - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout(); - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - payMethods.push("alipay"); - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } -} -// -------Paysafecard--------- -function blockPaysafecard() { - const PaysafecardState = document.getElementById('showPaysafecard').checked; - if (PaysafecardState == true) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - const filteredPM = payMethods.filter((s) => !s.match("paysafecard")); - payMethods = filteredPM; - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout(); - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - payMethods.push("paysafecard"); - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } -} -// -------Clearpay--------- -function blockClearpay() { - const ClearpayState = document.getElementById('showClearpay').checked; - if (ClearpayState == true) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - const filteredPM = payMethods.filter((s) => !s.match("clearpay")); - payMethods = filteredPM; - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout(); - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - payMethods.push("clearpay"); - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } -} -// -------Trustly--------- -function blockTrustly() { - const TrustlyState = document.getElementById('showTrustly').checked; - if (TrustlyState == true) { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - const filteredPM = payMethods.filter((s) => !s.match("trustly")); - payMethods = filteredPM; - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout(); - } else { - const oldDiv = document.getElementById("dropin-container") - const newDiv = document.createElement("div") - payMethods.push("trustly"); - payArray = Object.values(payMethods); - blockedPM = {"blockedPaymentMethods": payArray}; - oldDiv.replaceWith(newDiv) - newDiv.setAttribute("id", "dropin-container") - newDiv.setAttribute("class", "payment p-5") - initCheckout() - } + console.log(stringConfig) + + document.getElementById("configCode").innerHTML = + syntaxHighlight(stringConfig) } //JSON highlight code styling @@ -1122,7 +938,6 @@ function syntaxHighlight(json) { ) } -// Get css values from current page and print to "Save your creation" function updateStyleCode() { let cssjson = { ".adyen-checkout__payment-method": { @@ -1198,4 +1013,14 @@ function updateStyleCode() { } updateStyleCode() +function restartDropin() { + const oldDiv = document.getElementById("dropin-container") + const newDiv = document.createElement("div") + oldDiv.replaceWith(newDiv) + newDiv.setAttribute("id", "dropin-container") + newDiv.setAttribute("class", "payment p-5") + initCheckout() + successDiv.style.display = "none" +} + initCheckout() diff --git a/app/static/js/test-cards.js b/app/static/js/test-cards.js new file mode 100644 index 0000000..283335d --- /dev/null +++ b/app/static/js/test-cards.js @@ -0,0 +1,74 @@ +const testCardBrandsMap = { + visa: { + src: "https://checkoutshopper-live.adyen.com/checkoutshopper/images/logos/visa.svg", + cardNumber: "4111 1111 1111 1111", + expiry: "03/30", + cvc: "737", + }, + mc: { + src: "https://checkoutshopper-live.adyen.com/checkoutshopper/images/logos/mc.svg", + cardNumber: "2222 4107 4036 0010", + expiry: "03/30", + cvc: "737", + }, + amex: { + src: "https://checkoutshopper-live.adyen.com/checkoutshopper/images/logos/amex.svg", + cardNumber: "3700 0000 0000 002", + expiry: "03/30", + cvc: "7373", + }, + } + +// this is for the drop down to change test cards +function changeTestCard(brandValue) { + updateCardCopy(); + document.getElementById("brand_img").src = + testCardBrandsMap[brandValue.value].src + document.getElementById("cardNumber").innerText = + testCardBrandsMap[brandValue.value].cardNumber + document.getElementById("cvc").innerText = + testCardBrandsMap[brandValue.value].cvc +} +// change text position +function positionText() { + let positionValue = document.getElementById("positionText").value + r.style.setProperty("--text-align", positionValue) + updateStyleCode() +} +// make text bold +function makeBold() { + if (document.getElementById("makeBold").classList.contains("bold-active")) { + document.getElementById("makeBold").classList.remove("bold-active") + r.style.setProperty("--text-bold", null) + updateStyleCode() + } else { + document.getElementById("makeBold").classList.add("bold-active") + r.style.setProperty("--text-bold", "bold") + updateStyleCode() + } +} + +// this turns the test card around on copyCVC button click +function turnCard() { + updateCardCopy(); + document.getElementById("card").classList.add("card-visited") +} + +// this turns the card back to front if on reverse and copyPAN or copyExiry button gets clicked +function resetCard() { + updateCardCopy(); + if (document.getElementById("card").classList.contains("card-visited")) { + document.getElementById("card").classList.remove("card-visited") + } +} + +// this updates the button attribute copy text to reflect the current card on UI +function updateCardCopy() { + let panText = document.getElementById('cardNumber').innerText + console.log(panText) + document.getElementById('btn').setAttribute("data-clipboard-text", String(panText)) + let expiryText = document.getElementById('expiry').innerText + document.getElementById('copy-expiry').setAttribute("data-clipboard-text", String(expiryText)) + let cvcText = document.getElementById('cvc').innerText + document.getElementById('copy-cvc').setAttribute("data-clipboard-text", String(cvcText)) +} \ No newline at end of file diff --git a/app/templates/component.html b/app/templates/component.html index 7892ca7..167c6e7 100644 --- a/app/templates/component.html +++ b/app/templates/component.html @@ -519,14 +519,14 @@ > -

+
-
+

Clearpay

-
+
+ @@ -1299,13 +1300,9 @@ var clipboard = new Clipboard(".btn") clipboard.on("success", function (e) { console.log(e) - // setTooltip(e.trigger, 'Copied!'); - // hideTooltip(e.trigger); }) clipboard.on("error", function (e) { console.log(e) - // setTooltip(e.trigger, 'Failed!'); - // hideTooltip(e.trigger); }) @@ -1324,53 +1321,8 @@ integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous" > - - - - + - - -