Stripe pulls funds first, asks questions later—the timeline
The coffee’s gone cold in the mug beside your laptop, three browser tabs are open to your Stripe dashboard, and somewhere in California a customer clicked “dispute” on a charge you fulfilled two months ago—the money left your account before the notification email arrived.
Stripe disputes force refunds before you reply—here’s the timeline
Stripe holds funds the moment a dispute arrives, not after you lose—understanding the window changes your response strategy.

Most payment processors give you a chance to respond before pulling money. Stripe doesn’t. The moment a cardholder files a dispute, Stripe removes the transaction amount plus a $15 dispute fee from your available balance. You’re defending a charge you’ve already refunded, whether you win or lose.
The response window varies by card network—Visa gives you 10 days, Mastercard 45—but the clock starts when Stripe receives the dispute, not when you read the email. If you’re travelling, on holiday, or simply miss the notification, you forfeit by default. Evidence requirements differ by dispute reason: “fraudulent” claims need proof of delivery and AVS match; “product not received” needs tracking; “not as described” needs detailed product specifications and correspondence. Stripe’s evidence form accepts PDFs, screenshots, and plain text, but file size caps at 4.5 MB per upload, so high-resolution order confirmations often need compression before submission.
Winning a dispute reverses the hold and refunds the fee, but the average win rate hovers around 20 per cent across all dispute types. If you sell digital products, subscriptions, or anything without physical tracking, your odds drop further. The cost isn’t just the lost transaction—it’s the time spent gathering evidence, the cash flow impact of held funds, and the risk that too many disputes trigger Stripe’s elevated-risk monitoring, which can freeze payouts entirely until you demonstrate process improvements.
RELATED TACTIC
Stripe checkout sessions expire faster than most operators expect
You send a payment link, the customer opens it three hours later, completes checkout—and nothing happens. Stripe checkout sessions expire 24 hours after creation by default, which sounds generous until you account for time zones, email delays, and customers who bookmark links for later. If you’re selling high-ticket consulting packages or allowing manual invoice payment, that window closes faster than the sales conversation. You can extend expiration to 30 days in session parameters, but most operators ship the default and only discover the limit when a frustrated buyer messages to say the link “doesn’t work”. Adjusting the window requires a one-line code change, but knowing it exists saves the support ticket.
WORTH READING
Three ways affiliate link cloaking silently breaks your commission tracking
Pretty links look cleaner than raw affiliate URLs, and most link management tools promise “bulletproof” redirects—until a plugin conflict, CDN cache rule, or SSL mismatch returns a blank page instead of passing the click through to your affiliate network. The redirect fires, the HTTP status reads 200, and you assume everything worked. A week later you notice zero conversions despite healthy click volume. Server-level redirects fail differently than WordPress plugin redirects, which fail differently than JavaScript-based cloaking. Each has edge cases that cost you commissions without throwing an error. The only fix is systematic testing: click your own links from multiple devices, check the final destination URL, and monitor conversion rates against historical baselines.
FROM THE ARCHIVE
Google Analytics 4 session timeout isn’t what the label suggests
GA4’s default 30-minute session timeout sounds straightforward—if a user goes quiet for half an hour, the session ends. But “quiet” doesn’t mean what most operators think it means. Scrolling doesn’t reset the timer. Watching an embedded video doesn’t reset it. Only events that GA4 explicitly tracks—page views, clicks on tracked elements, or custom events you’ve configured—restart the countdown. If your reader lands on a long-form article, reads for 40 minutes without clicking anything, then subscribes, GA4 records two sessions: one for the article landing, one for the subscription. Your engagement metrics look fragmented, and attribution breaks. Understanding what actually resets the clock changes how you instrument tracking and interpret time-on-page data.
Know someone who would like this? Forward today’s email—every operator we reach is one closer to running an online business with a little less friction.