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