Back to Community

Resolving 'Pending' Order Status After Successful Stripe Payment in Event Tickets

26 threads Sep 16, 2025 PluginThe events calendar

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