Using important is only going to fix the problem if you have defined a style for that element. For example, if you have not defined a border then the client will still be able to add one.
Most sites use iframe for embeded widgets for this reason.
I think Stripe's checkout doesn't use iframe. They just define every single style with very specific rules. From what I remember.
try not to use !important if you can. Just be more specific with your rules.
How bad is !important in this case? I'm aware that it's essentially always bad practice, but my impression was that keeping an embeddable element looking consistent regardless of location was basically its best use.