✨ feat(paiement): Ajoute l'interface de paiement Stancer et la gestion du statut.
This commit is contained in:
47
assets/class/PaymentPage.js
Normal file
47
assets/class/PaymentPage.js
Normal file
@@ -0,0 +1,47 @@
|
||||
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);
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user