226 lines
9.7 KiB
JavaScript
226 lines
9.7 KiB
JavaScript
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);
|
|
})
|
|
}
|
|
}
|