Resolving 'Pending' Order Status After Successful Stripe Payment in Event Tickets
Content
One of the most frustrating issues you can encounter when selling tickets is when a customer's payment processes successfully through Stripe, but their order gets stuck on "Pending" in your WordPress admin. This prevents ticket emails from being sent, stops available ticket counts from updating, and leaves customers confused and without their tickets.
Based on community reports and troubleshooting, this is a known issue that often occurs when a customer's initial payment attempt fails (e.g., due to an incorrect CVV code) but a subsequent attempt succeeds. The plugin's state management can sometimes fail to properly transition the order out of the 'Pending' status even after receiving a successful webhook notification from Stripe.
Common Solutions to Try
If you are experiencing this problem, here are the most effective steps to resolve it, starting with the simplest.
1. Manually Complete the Order
For individual stuck orders, you can manually update their status. Navigate to Tickets → Orders in your WordPress dashboard, find the pending order, and change its status to "Completed." This should trigger the email confirmation and ticket generation.
2. Check and Re-save Permalinks
A simple fix that often resolves various checkout and webhook issues is to refresh your WordPress permalink structure. Go to Settings → Permalinks and simply click "Save Changes" without making any modifications. This can re-register critical endpoints that Stripe uses to communicate payment success.
3. Investigate Plugin and Theme Conflicts
Conflicts with other plugins or your theme are a common root cause. To test for this, temporarily switch to a default WordPress theme (like Twenty Twenty-Four) and deactivate all plugins except for The Events Calendar and Event Tickets. Then, run a test transaction to see if the order completes successfully. If it does, reactivate your plugins and theme one by one to identify the culprit. Pay special attention to caching, security, and optimization plugins.
4. Verify Webhook Configuration in Stripe
The plugin relies on a Stripe webhook to receive notifications of successful payments. If this webhook is missing, misconfigured, or failing, orders will not update automatically.
- Log into your Stripe dashboard.
- Navigate to Developers → Webhooks.
- Ensure there is an endpoint for your site's URL ending in
/wp-json/tribe/tickets/v1/commerce/stripe/webhook. - Check the webhook's log for any recent failure messages. If you see failures, it indicates a problem on your site receiving the data, often related to server configuration or a security plugin blocking the request.
When to Expect an Official Fix
This specific issue with orders remaining on "Pending" after a failed-then-successful payment is tracked in the 'The Events Calendar' team's internal bug system under reference ET-2082. According to their communications, a fix has been developed and was in the testing phase as of recent updates. The team prioritizes bugs based on their impact and user reports, so keeping your plugins updated is crucial for receiving the patch once it is released.
In the meantime, the manual and troubleshooting steps above are the most reliable ways to regain control of your ticket sales and ensure your customers receive their confirmations.
Related Support Threads Support
-
Stripe doesn’t support your selected currencyhttps://wordpress.org/support/topic/stripe-doesnt-support-your-selected-currency-2/
-
Events Calendar + Tickets: Orders/Attendees Issuehttps://wordpress.org/support/topic/events-calendar-tickets-orders-attendees-issue/
-
PayPal Checkout displaying on event pagehttps://wordpress.org/support/topic/paypal-checkout-displaying-on-event-page/
-
Orders Stuck at Pendinghttps://wordpress.org/support/topic/orders-stuck-at-pending-2/
-
Ticket order stuck on “Pending” statushttps://wordpress.org/support/topic/ticket-order-stuck-on-pending-status/
-
/tickets-checkout/undefined redirecthttps://wordpress.org/support/topic/tickets-checkout-undefined-redirect/
-
“Proceed to Payment” Button Not Workinghttps://wordpress.org/support/topic/proceed-to-payment-button-not-working/
-
Ticket sales not matching number of tickets soldhttps://wordpress.org/support/topic/ticket-sales-not-matching-number-of-tickets-sold/
-
No Ticket-Email for free ticketshttps://wordpress.org/support/topic/no-ticket-email-for-free-tickets/
-
Mail format errorshttps://wordpress.org/support/topic/mail-format-errors/
-
Add order on pdfhttps://wordpress.org/support/topic/add-order-on-pdf/
-
Tickets not showing up when using WooCommerce as Payment Gatewayhttps://wordpress.org/support/topic/tickets-not-showing-up-when-using-woocommerce-as-payment-gateway/
-
Stripe failing webhook endpointhttps://wordpress.org/support/topic/stripe-failing-webhook-endpoint/
-
Ticket Order Stuck On Pendinghttps://wordpress.org/support/topic/ticket-order-stuck-on-pending/
-
Tickets causing WooCommerce Orders to fail.https://wordpress.org/support/topic/tickets-causing-woocommerce-orders-to-fail/
-
Ticket Checkout loading stuck only on some browserhttps://wordpress.org/support/topic/ticket-checkout-loading-stuck-only-on-some-browser/
-
Order listhttps://wordpress.org/support/topic/order-list-3/
-
Tickets Notice Not Dismissablehttps://wordpress.org/support/topic/tickets-notice-not-dismissable/
-
No ticket email sent due to pending statushttps://wordpress.org/support/topic/no-ticket-email-sent-due-to-pending-status/
-
Stripe payment information not appearinghttps://wordpress.org/support/topic/stripe-payment-information-not-appearing/
-
Unable to Connect the Payment to payPalhttps://wordpress.org/support/topic/unable-to-connect-the-payment-to-paypal/
-
Liquid Web LLC after connecting to PayPal? Cannot create proper webhookhttps://wordpress.org/support/topic/liquid-web-llc-after-connecting-to-paypal-cannot-create-proper-webhook/
-
Events Tickets nag screen will not go awayhttps://wordpress.org/support/topic/events-tickets-nag-screen-will-not-go-away/
-
Problems – tickets allocated although payment not processedhttps://wordpress.org/support/topic/problems-tickets-allocated-although-payment-not-processed/
-
Tickets Stuck on Pending: Payment Successful on Stripehttps://wordpress.org/support/topic/tickets-stuck-on-pending-payment-successful-on-stripe/
-
No get ticket button at checkouthttps://wordpress.org/support/topic/no-get-ticket-button-at-checkout/