In the US this is implemented on a per card issuer basis (i.e. Citi, Chase) and it's up to the issuer to provide the service, which most of them don't.
The only way to do it is as a chargeback but chargebacks are after the charge and come with a whole mess of pre-requirements as well as if you do it too often your provider will kick you off.