Operating an online store requires ensuring a seamless shopping experience. When an order fails, it can be frustrating for both you and the customer. Is there an issue with your store, or did the customer make a mistake? What should you do next?
Understanding what to look for will empower you to manage any issues and maintain smooth operations for your customers. This guide will cover common payment errors, their causes, and how to troubleshoot them.
How do you know if an order failed? A customer might contact you about an error message they received during checkout, or you might notice a red “Failed” alert in your order dashboard. Alternatively, you might get an email notification about a failed order.
Regardless of how you find out, the first step is identifying why the payment failed. Here’s a quick guide:
- Go to WooCommerce → Orders in the WordPress dashboard.
- Locate the failed order, marked with a red “Failed” message, or search by customer name or order number. Click the order number for more details.
- In the right-hand column, under Order Notes, you’ll see a message indicating the order status change and the reason for failure.
For instance, a payment card might be declined, but there are other reasons for order failures. Let’s explore some common errors you might encounter in Order Notes or on your site. The exact error message depends on your payment gateway, and Order Notes may include a gateway-specific error code for further research or when contacting support.
The customer’s card was declined
- Error message: “The card was declined.” Additional details may include an invalid CVV code or exceeded transaction limit.
- Causes: Insufficient funds, expired card, exceeded spending limits, incorrect information entry.
- Resolution: WooCommerce Subscriptions will retry the card several times before setting the status to On Hold, allowing the customer time to add funds. Customers will see an error message on the checkout page, providing an opportunity to update their information. If a subscription renewal fails, they’ll receive an email notification. For single-purchase products, contacting each person may not be feasible, but you might assist established customers. Use AutomateWoo to prevent issues by sending card expiry notifications.
There’s an authentication issue
- Error message: “Authentication required” or “The request could not be authorized.”
- Causes: Mismatch between site credentials and payment gateway requirements, incorrect API keys, usernames, or passwords, suspended payment gateway account, expired authentication token.
- Resolution: Check payment gateway settings in WooCommerce, confirm API key validity, username, and password accuracy. Disconnect and reconnect to refresh the connection. Verify payment gateway account status.
A duplicate transaction was submitted
- Error message: “A duplicate transaction has been submitted.”
- Causes: Multiple transactions with identical information placed within minutes, often indicating fraud, or a confirmation page not loading, leading to multiple submissions.
- Resolution: Encourage legitimate customers to retry after a few minutes. Frequent errors from the same person may indicate fraud, warranting IP address or username blocking with a firewall plugin or anti-fraud extension. Jetpack Security and WooCommerce Anti-Fraud are recommended.
Your API key is expired
- Error message: “API key expired.”
- Causes: Incorrect, expired API keys, or connection issues between store and payment gateway.
- Resolution: Obtain new API keys from the payment gateway and update them in WooCommerce settings.
There’s a site issue
- Error messages vary. Use order notes error codes and payment gateway documentation to identify site-related problems.
- Causes: Outdated software, server issues, plugin conflicts, theme conflicts.
- Resolution: Systematically troubleshoot site issues by updating WordPress, themes, and extensions. Switch to a default theme, deactivate plugins to identify conflicts, use WooCommerce System Status for potential issues, and check WordPress site health.
While preventing all failed payments is impossible, reducing them is ideal. Additional steps include enabling easy credit card updates, setting up email notifications for failed payments, regularly testing checkout processes, consistently updating software, and implementing fraud prevention methods.
Failed orders are part of running an online store, but with maintenance and understanding, many failures can be prevented or turned into sales. Follow this guidance to manage order failures effectively.
Order status meanings in WooCommerce:
- Pending Payment: Order created, payment not received.
- Failed: Payment attempt unsuccessful.
- Processing: Payment received, order being processed.
- On Hold: Payment received, requires manual action before fulfillment.
- Completed: Order fully processed and fulfilled.
If your checkout page endlessly loads, it’s likely a JavaScript conflict caused by themes or plugins. WooCommerce doesn’t send failed order emails to customers by default, but extensions like AutomateWoo can set up custom notifications. Customize failed order emails using Mailpoet’s WooCommerce Email Customizer tool. WooCommerce Subscriptions automatically retries payments after