Not OP but it sounds like they were using Elements ("the payment flow was misconfigured and the least I could do is disable the submit button upon click"). I would hope that Stripe's own checkout form is well-rounded enough to handle things like this.