48 lines
2.1 KiB
JavaScript
48 lines
2.1 KiB
JavaScript
|
|
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);
|
||
|
|
})
|
||
|
|
}
|
||
|
|
}
|