I realized that this problem happens when the user clicks the black transparent div rendered on top of the page while the popup window is open. Specifically, this div. <div id="paypal-overlay-uid_xxxxxxxxxxxxxxxxxxxxxx" class="paypal-checkout-sandbox" animation-name: show-container;"></div> If the user clicks this div while the popup window is open, even after the user completes the payment, the popup window won't close automatically and onApprove will not be called. This is really a critical problem since the payment itself successes but we developers have no way to know it. So, we cannot give any feedback such as sending login information to the users. As the result, the users cannot get the service for the payment although they are actually charged. It is sad that this problem was raised in February but still not solved yet. My workaround for this problem is to hide the black transparent div as soon as it appears by setting "display: none" so that the users cannot click it. I appreciate if you could give some feedback.
... View more