Fixed duplicate buyer emails from concurrent webhook processing

Buyers no longer receive duplicate notification emails due to race conditions in webhook delivery.

Bug Fixes

Fixed a race condition in email webhook processing that could cause buyers to receive duplicate notification emails. Under concurrent processing, transaction timeouts could cause the system to re-claim and re-send emails that were already delivered, resulting in duplicate messages. The fix adds atomic guards against status downgrades and uses idempotency keys to prevent duplicate sends at the provider level.