Prevent frauds rather than dealing with consequences after they happen.
When the card is being used, rather than just sending a notification about the fact, require a user to confirm that in the app.
That would probably have a time limit - when not approved in timely manner the transaction would fail.
What can be build on top of it
- After the transaction failed because of timeout, it can be still approved - the next transaction for the same merchant for the same amount wouldn’t require approval again (probably with some time limit - 30m, 1h, 24h?)
- White list - approval never required for merchants chosen by the user (just click on the transaction and add to the white list)
- White list with limits - set a maximum amount for a white listed merchant, if exceeded the approval will be required
- Opt-in/out - possibility to enable/disable this feature, when enabled that would effectively be a safe mode, drastically reducing a chance of fraudulent transactions
- Automatic pattern analysis and recognition - even when disabled, you could still require authorisation from the user for suspicious transactions (based e.g. on location, amount, previous usage etc.)