Overview
If a traveler sees two charges for the same payment, it is almost always a hold or pending authorization -- not a true double charge. SquadTrip uses idempotency keys on every Stripe and Square transaction, which prevents the same payment from being processed twice. This article explains what causes apparent duplicates, how to verify, and what to do if a real duplicate occurred.
Why You Might See Two Charges
Most "double charge" reports fall into one of these categories:
Scenario | What Happened | Is It a Real Duplicate? |
Authorization hold + actual charge | Your bank shows a pending hold and a completed charge for the same amount. The hold drops off in 3-5 business days. | No |
Failed payment + retry | A scheduled payment failed, and the system retried 2 days later. Both appear in your statement. | No -- one is the retry of a failed payment |
Two different installments | Two installment payments were due close together (e.g., a late retry landed near the next scheduled payment) | No -- check the dates in your payment history |
Actual duplicate charge | The same payment was processed twice with different transaction IDs | Yes -- contact support |
How SquadTrip Prevents Double Charges
Every payment processed through Stripe uses a deterministic idempotency key -- a unique code generated from the payment log ID, traveler ID, and amount. If the same payment request is sent twice (for example, during a server restart), Stripe recognizes the duplicate key and returns the original result instead of charging again.
For Travelers: How to Check
Log in to your traveler dashboard and view your payment history
Compare the dates -- if the two charges are on different dates, one is likely a retry of a failed payment or a separate installment
Check for pending holds -- contact your bank and ask if one of the charges is a pending authorization that will drop off
Look at the amounts -- if they differ slightly (e.g., one includes a processing fee), they may be different types of charges
If you confirm both charges are identical (same amount, same date, both completed), contact your trip organizer.
For Organizers: How to Investigate
Go to Trip Data and search for the traveler
View their payment history -- each payment shows the date, amount, status, and payment type
Check if one entry shows "Failed" followed by a "Successful" retry 2 days later -- this is normal auto-billing behavior, not a duplicate
If you see two "Successful" entries for the same amount on the same date, issue a refund for the duplicate
How to Resolve a Confirmed Double Charge
Organizer: Navigate to the refund section in your dashboard
Search for the traveler and view their payment details
Use "Custom Amount Refund" to refund the exact amount of the duplicate charge
The traveler receives a refund confirmation email
Refunds take up to 10 business days to appear on the traveler's statement
Important Notes
SquadTrip uses Stripe idempotency keys on every charge to prevent duplicates
Auto-billing retries failed payments every 2 days -- a retry is not a double charge
Pending authorization holds from your bank are temporary and drop off in 3-5 business days
If a traveler sees two charges, check the payment log dates and statuses before assuming it's a duplicate
Real double charges are rare due to built-in protections
Troubleshooting
Problem | Solution |
Two charges on different dates | Check if one is a retry of a failed payment. View the payment log -- if one shows "Failed" and the next shows "Successful," this is the auto-retry system working as expected. |
Bank shows a pending and completed charge for the same amount | The pending charge is an authorization hold. It will drop off in 3-5 business days. No action needed. |
Traveler was charged twice on the same day | Check the payment log for two "Successful" entries with the same amount. If confirmed, issue a Custom Amount Refund for the duplicate. |
Multiple travelers report double charges | Check your Stripe dashboard for any processing issues. If charges are duplicating across multiple travelers, contact [email protected] immediately. |
Frequently Asked Questions
Q: How does SquadTrip prevent double charges? A: Every Stripe payment uses a deterministic idempotency key generated from the payment log ID, traveler ID, and amount. If the same request is sent twice, Stripe recognizes the duplicate and returns the original response without charging again. This protects against duplicates during server restarts or network issues.
Q: I see two charges on my bank statement -- is this a double charge? A: Most likely not. The most common explanation is a pending authorization hold plus the actual charge. Your bank shows both temporarily, but the hold drops off in 3-5 business days. Another common cause is a failed payment retry -- if your first payment failed, the system retried 2 days later, resulting in two line items.
Q: My scheduled payment failed and I was charged again 2 days later -- is that a double charge? A: No. SquadTrip automatically retries failed payments every 2 days. The first charge failed (your bank declined it), and the second charge is the successful retry. You were only charged once successfully. Check your payment history -- the first entry will show "Failed" and the second "Successful."
Q: What should I do if I confirm a real double charge? A: Contact your trip organizer and ask them to check your payment log. If they confirm two successful charges for the same payment, they can issue a Custom Amount Refund for the duplicate. The refund takes up to 10 business days to reach your account. You can also email [email protected] for assistance.
Related Articles
Contact: [email protected]
