export class PaymentVirement extends HTMLButtonElement{ connectedCallback(){ let element = this; element.addEventListener('click', function(e){ e.preventDefault(); let displayModal = document.createElement('div'); displayModal.classList.add('modal-payment'); let iframeContainer = document.createElement('div'); iframeContainer.style.height = "fit-content"; iframeContainer.classList.add( 'iframe-container', 'max-w-md', 'mx-auto', 'bg-white', 'dark:bg-gray-900', 'rounded-xl', 'shadow-md', 'overflow-hidden', 'p-6', 'space-y-4' ); // Message d'invitation au virement let infoMsg = document.createElement('div'); infoMsg.className = 'text-xl text-white-700 dark:text-white-300 mb-2'; infoMsg.textContent = "Merci d'effectuer le virement sur ce compte, en notant la référence de l'avis de paiement ! Dés réception du règlement une facture vous sera envoyée"; iframeContainer.appendChild(infoMsg); let ibanLabel = document.createElement('div'); ibanLabel.className = 'text-gray-700 dark:text-gray-300 text-base font-semibold'; ibanLabel.textContent = 'IBAN'; let ibanValue = document.createElement('div'); ibanValue.className = 'text-gray-900 dark:text-white text-lg font-mono break-all'; ibanValue.textContent = 'FR76 1020 6006 7198 4797 7981 061'; let bicLabel = document.createElement('div'); bicLabel.className = 'text-gray-700 dark:text-gray-300 text-base font-semibold'; bicLabel.textContent = 'BIC'; let bicValue = document.createElement('div'); bicValue.className = 'text-gray-900 dark:text-white text-lg font-mono'; bicValue.textContent = 'AGRIFRPP802'; let btn = document.createElement('a'); btn.setAttribute('href', '/paiement?id='+element.getAttribute('id')+"&type=virement"); btn.classList = "button bg-green-900 w-full text-center text-white p-2"; btn.innerText = "Je confirme le paiement par virement bancaire" iframeContainer.appendChild(ibanLabel); iframeContainer.appendChild(ibanValue); iframeContainer.appendChild(bicLabel); iframeContainer.appendChild(bicValue); iframeContainer.appendChild(btn); document.body.appendChild(iframeContainer); displayModal.appendChild(iframeContainer); document.body.appendChild(displayModal); }) } } export class PaymentChaque extends HTMLButtonElement{ connectedCallback(){ let element = this; element.addEventListener('click', function(e){ e.preventDefault(); let displayModal = document.createElement('div'); displayModal.classList.add('modal-payment'); let iframeContainer = document.createElement('div'); iframeContainer.style.height = "fit-content"; iframeContainer.classList.add( 'iframe-container', 'max-w-md', 'mx-auto', 'bg-white', 'dark:bg-gray-900', 'rounded-xl', 'shadow-md', 'overflow-hidden', 'p-6', 'space-y-4' ); // Message d'invitation au virement let infoMsg = document.createElement('div'); infoMsg.className = 'text-xl text-white-700 dark:text-white-300 mb-2'; infoMsg.textContent = "Merci d'envoie le chéque à l'adresse suivant en notant la référence de l'avis de paiement aux dos ! Dés réception du chéque et sont incaisement une facture vous sera envoyée"; iframeContainer.appendChild(infoMsg); let ibanLabel = document.createElement('div'); ibanLabel.className = 'text-gray-700 dark:text-gray-300 text-base font-semibold'; ibanLabel.textContent = 'Adresse'; let ibanValue = document.createElement('div'); ibanValue.className = 'text-gray-900 dark:text-white text-lg font-mono break-all'; ibanValue.textContent = '27 rue le Sérurier 02100 Saint-Quentin'; let bicLabel = document.createElement('div'); bicLabel.className = 'text-gray-700 dark:text-gray-300 text-base font-semibold'; bicLabel.textContent = 'A l\'ordre de '; let bicValue = document.createElement('div'); bicValue.className = 'text-gray-900 dark:text-white text-lg font-mono'; bicValue.textContent = 'SARL SITECONSEIL'; let btn = document.createElement('a'); btn.setAttribute('href', '/paiement?id='+element.getAttribute('id')+"&type=bank"); btn.classList = "button bg-green-900 w-full text-center text-white p-2"; btn.innerText = "Je confirme le paiement par chéque" iframeContainer.appendChild(ibanLabel); iframeContainer.appendChild(ibanValue); iframeContainer.appendChild(bicLabel); iframeContainer.appendChild(bicValue); iframeContainer.appendChild(btn); document.body.appendChild(iframeContainer); displayModal.appendChild(iframeContainer); document.body.appendChild(displayModal); }) } } export class PaymentPage extends HTMLButtonElement{ connectedCallback(){ let element = this; element.addEventListener('click', function(){ let banke = document.querySelector('.banke'); banke.classList.remove('show'); let displayModal = document.createElement('div'); displayModal.classList.add('modal-payment'); let iframeContainer = document.createElement('div'); iframeContainer.classList.add('iframe-container'); window.addEventListener('message', function (event) { if (event.origin !== 'https://payment.stancer.com') { return; } if(event.data.status != undefined) { if(event.data.status != "init" && event.data.status != "pending" && event.data.status != "secure-auth-start" && event.data.status != "secure-auth-end") { if (event.data.status == "paid") { displayModal.remove(); location.href = "/paiement/complete?id=" + element.getAttribute('id'); } else if (event.data.status == "finished") { displayModal.remove(); location.href = event.data.url; } else { fetch("/api-interne/intranet/customer/payment/cancel?id="+element.getAttribute('id')) displayModal.remove(); banke.classList.add('show'); } } } console.log(event.data); }); fetch("/api-interne/intranet/customer/payment?id="+element.getAttribute('id')) .then(r=>r.json()) .then(r=>{ let iframe = document.createElement('iframe'); iframe.src = r.url; iframeContainer.appendChild(iframe); window.frame = iframeContainer; }) displayModal.appendChild(iframeContainer); document.body.appendChild(displayModal); }) } } export class PaymentSepa extends HTMLButtonElement{ connectedCallback(){ let element = this; element.addEventListener('click', function(){ let banke = document.querySelector('.banke'); banke.classList.remove('show'); let displayModal = document.createElement('div'); displayModal.classList.add('modal-payment'); let iframeContainer = document.createElement('div'); iframeContainer.classList.add('iframe-container'); window.addEventListener('message', function (event) { if (event.origin !== 'https://payment.stancer.com') { return; } if(event.data.status != undefined) { if(event.data.status != "init" && event.data.status != "pending" && event.data.status != "secure-auth-start" && event.data.status != "secure-auth-end") { if (event.data.status == "paid") { displayModal.remove(); location.href = "/paiement/complete?id=" + element.getAttribute('id'); } else if (event.data.status == "finished") { displayModal.remove(); location.href = event.data.url; } else { fetch("/api-interne/intranet/customer/payment/cancel?id="+element.getAttribute('id')) displayModal.remove(); banke.classList.add('show'); } } } console.log(event.data); }); fetch("/api-interne/intranet/customer/payment?id="+element.getAttribute('id')+"&type=sepa") .then(r=>r.json()) .then(r=>{ let iframe = document.createElement('iframe'); iframe.src = r.url; iframeContainer.appendChild(iframe); window.frame = iframeContainer; }) displayModal.appendChild(iframeContainer); document.body.appendChild(displayModal); }) } }