Why a payment timeout can still result in a charge
The gateway can time out after the provider has accepted the payment. Retrying without a stable idempotency key can create a second charge for the same order.
What to check
Check the payment records before retrying. Use the same order-specific idempotency key across attempts.
