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