How to fix failed high-value payments with Gravity Forms + Stripe: A WordPress case study
Troubleshooting large donation failures and payment issues when using Gravity Forms and Stripe in WordPress
Why this matters
For organisations that rely on online donations or large payments, like charities, schools, or membership-driven services, failed transactions aren’t just annoying. They’re reputation-damaging and revenue-killing.
This post walks through a real-world case study where a high-profile charity was losing large donations (£1,000–£2,500) due to subtle but critical issues in their Gravity Forms + Stripe payment integration. If you’re using WordPress and taking payments or donations, this is what you need to get right, especially for high-value transactions.
The problem: Large donations were failing silently
Our client (a national charity) noticed something worrying:
Donors were completing the donation process and approving payments in their banking apps…
But Stripe never confirmed the transaction.
No one was alerted – not the donor, not the charity’s team.
The result? Thousands in lost donations and confused supporters.
This was happening primarily for donations above £1,000 – right when reliability matters most.
The underlying stack
WordPress site
Gravity Forms for donation forms
Stripe Add-On for payments
3D Secure (Strong Customer Authentication) was in place
Capture mode set to manual
7 Critical insights from our investigation
✅ 1. Manual capture mode creates extra risk
Using Stripe in manual capture mode means that even after a user authenticates payment, your server must send a second request to complete the transaction.
If anything fails (timeout, webhook issue, etc.), the donation stalls – even if the donor thinks it succeeded.
🔧 Fix: Switch to automatic capture for donations to reduce friction and risk.
✅ 2. Webhook failures break the flow
Stripe uses webhooks to finalise payments, especially after 3D Secure challenges.
If your server is down, overloaded, or blocked, Stripe can’t complete the transaction.
🔧 Fix:
Monitor webhook health
Ensure webhook URLs are always online and SSL-valid
Add logging and alerts for failed webhook responses
✅ 3. No real-time donor feedback = confusion
Donors saw confirmation screens and approved payments in their banks…
…but the payment failed silently.
🔧 Fix:
Use the payment_intent.payment_failed webhook to trigger:
A custom on-screen message
An automatic email to donor and admin
Avoid generic success pages unless payment has been truly confirmed
✅ 4. 3D Secure flow is easily broken
3D Secure (SCA) adds extra steps. If the browser drops connection, times out, or fails to redirect, Stripe never gets final confirmation.
🔧 Fix:
Test 3D Secure payments across devices, browsers and real-world scenarios
Consider using Stripe’s hosted payment pages for better SCA handling
✅ 5. Your hosting affects payment reliability
We found failures clustered during specific periods – likely caused by temporary server issues (downtime, slow response times, SSL quirks).
🔧 Fix:
Host your site on fast, reliable infrastructure
Ensure uptime and performance monitoring is in place
✅ 6. Form plugins are not payment gateways
Gravity Forms is powerful – but it’s not Stripe. It relies on a lot of moving parts, and isn’t bulletproof for high-value payments.
🔧 Fix:
For high-value donations, consider:
Stripe-hosted or embedded forms
Dedicated donation platforms like Raiser’s Edge
Routing donors to different flows based on donation amount (e.g. over £1,000 = redirected to a more robust hosted page)
✅ 7. Test high-value scenarios regularly
Most people test forms with £10 or £20. But high-value payments often behave differently due to SCA, fraud protection, and added security scrutiny.
🔧 Fix:
Create a staging environment and simulate:
High-value donations
Weak and strong internet connections
Timeouts, browser closures, mobile banking approvals
Final thoughts: When payments matter most, you need it solid
Taking £1,000+ payments or donations via your WordPress site is serious business. The Gravity Forms + Stripe integration is convenient, but not invincible, especially when manual capture, 3D Secure, and webhook dependencies collide.
At WPCTO, we help organisations like yours audit, troubleshoot, and improve payment workflows, especially where Stripe and WordPress are involved. If you’re dealing with failed donations, or you want peace of mind that your system works, talk to us.
Need help with Gravity Forms + Stripe for high-value payments?
Whether you’re a charity, business, or membership platform — we can audit your setup and help you secure every transaction.