Gestion du timeout
Une session de paiement correspond au temps aloué à l'acheteur pour réaliser son paiement.
La durée d'une session de paiement est de 10 min.
Une fois la session de paiement expirée, l'acheteur est déconnecté. Le site marchand est notifié si la règle de notification "URL de notification sur annulation" est activée et configurée.
Si l'acheteur effectue une opération sur la page de paiement après l'expiration de sa session de paiement, un message d'erreur sera affiché.
Pour éviter l'affichage de ce message de déconnexion, vous pouvez ajouter un compteur dans votre page.
Au bout d'une durée suffisante (5 minutes par exemple) l'iframe sera fermée automatiquement.
... setTimeout(window.parent.removeIframe(), '30000'); </body> </html>
Une autre solution consiste à capter l'événement "message" envoyé par la plateforme de paiement en cas de déconnexion.
Pour cela, collez le code ci-dessous dans la page qui invoque l'iframe:
if (window.addEventListener) {
window.addEventListener("message", onMessage, false);
} else if (window.attachEvent) {
window.attachEvent("onmessage", onMessage, false);
}
function onMessage(event) {
if (event.origin !== "https://paiement.systempay.fr") return;
var data = event.data;
if (typeof(window[data.func]) == "function") {
window[data.func].call();
}
}
Puis implémentez la fonction handlePaymentDisconnection():
function handlePaymentDisconnection() { //Close iframe //Show message //Show button to relaunch payment //etc, etc }
Veillez à bien respecter l'orthographe du nom de la fonction.