You are given Revolut-style user and card payment data. Write a PostgreSQL query to identify the top 3 users by transaction volume over the last 30 days, where transaction volume means the sum of absolute transaction amounts for completed transactions only. Return each user's id, full name, country, total transaction volume, and transaction count. Order the result by volume descending, and break ties by smaller user_id first.
Assume "today" is 2024-06-30 for this question, so the 30-day window starts on 2024-05-31.