I'm using Smart Payment Buttons. I have added an onClick callback for paypal button to be able to validate my internal form before proceeding to actual payment. Everything worked fine for some time, but last week I noticed a strange issue. When the user clicks on the paypal button for the first time paypal lib actually triggers my callback two times in a row, and callback sends requests to my server. First is ok but second fails for irrelevant reasons, but this leads to validation failure and paypal popup closing. If I click on the paypal button again(without refreshing the checkout page) the callback gets triggered once and everything works fine, but if I refresh the page again this callback duplication repeats.
I thought maybe I;ve done something wrong due to button integration, but I've checked this on official online sandbox and I faced completely the same behavior here.