This is due to a small programming/logic error in the main page.
Browsers don’t allow to call the parent frame (in this case the webshop)
I’ll try to explain it. I updated the client confirmation like below :
In Checkout Page:
SHM.open({
});integrationType: 'INLINE',
inlineContainerId: 'shm-inline-container',
parameters: {
accountId: 'XXXXXX',
extraSecure: '',
…
confirmUrl: 'http://something/confirm.html',
cancelUrl: 'http://something/cancel.html',
errorUrl: 'http://something/error.php',
checksum: '…'
},
closeCallback: function(data) {
if(data === 'confirm') {
// do something after client has clicked confirm in shippingmanager
window.location.href = "http://www.Shop.test/checkout.php";
} else {
window.top.location.href="http://www.Shop.test/checkout/producten.php";
}
}
In the confirm cancel and error .html, add this function:
<html>
<head>
<script src="http://shippingmanager.bpost.be/ShmFrontEnd/shm.js"></script> <script> SHM.close("confirm"); </script>
</head>
<body>
confirm page
</body>
</html>
The most important thing is :
• Call SHM.close(“confirm”); on the page that is defined in the confirmUrl
• Call SHM.close(“cancel”); on the page that is defined in the cancelUrl
For more info, you can also read this article which contains a lot of pointers on how to fix this:
http://stackoverflow.com/questions/10792408/open-popup-and-refresh-parent-page-on-close-popup