-
Notifications
You must be signed in to change notification settings - Fork 48
Common errors
These errors have been reported over time and may have occurred for different users for various reasons. The error message may be the same for two different users, but the cause of it can be quite different. The cause often cannot be determined by the error alone.
Please get in touch with the support team when it is not clear how the error you experience could be resolved.
This generic error can be caused by various factors, including but not limited to:
- negative PayPal API responses (e.g. currency not supported or invalid characters)
- potential plugin/theme conflicts
- REST endpoint blocked
- other web server configuration
These kinds of errors may be caused by a compatibility issue with a third-party plugin, an invalid plugin configuration, or temporary service disruptions at PayPal.
Usually, following advanced troubleshooting steps helps to isolate the cause of the problem.
The error message Could not retrieve order
may manifest due to various reasons. However, a common cause is a malfunction of the smart button replacement on the Checkout page, which can inadvertently lead the buyer to use the traditional "Place order" button. This issue arises because PayPal Payments is designed to process orders through the PayPal smart buttons, creating a failed order scenario if the regular "Place order" button is used instead.
When the PayPal buttons are enabled on a specific page, such as the Checkout page, the plugin loads the button.js
file. This script is responsible for a range of tasks, including concealing the standard "Place order" button, displaying a loading spinner, and initiating the PayPal button script.
Occasionally, the button.js
might not be correctly enqueued due to various factors, such as caching or minification problems. Similarly, issues like passing invalid data to PayPal (like an unsupported currency) can prevent the proper loading of the PayPal buttons.
If the "Place order" button is present on the PayPal gateway and a buyer clicks it, it triggers the Could not retrieve order
error. Technically, the "Place order" button isn't designed to work under such conditions.
To troubleshoot and rectify this issue, follow these steps:
- Verify if the PayPal smart buttons are visible on your Checkout page.
- If they are, test if the error occurs consistently when clicking the PayPal button.
- If the regular "Place order" button appears instead, there might be an error on your site causing this issue.
Potential causes to investigate include:
- JavaScript console errors present on the Checkout page.
- Conflicts with other plugins or themes, particularly those involving caching, minification, or security plugins.
- Utilization of an unsupported browser, such as outdated mobile Safari versions or IE11.
- Disabled JavaScript in the browser (as PayPal requires JavaScript for operation).
- For sporadic error occurrences, suggest to buyers the use of modern browsers like Chrome or Firefox.
By following these steps, you should generally be able to figure out the cause of the error and deploy an appropriate solution.
Should you still face difficulties in diagnosing the issue, please contact our support team for further assistance.
This error can occur either when the API credentials are invalid, or the merchant’s PayPal account is not verified.
In some cases, disconnecting and reconnecting the account using the onboarding wizard may be sufficient to resolve the error. Other times, the merchant may need to reach out to the PayPal Merchant Support to clarify the account verification status before payments can be received.
The error DUPLICATE_INVOICE_ID
error is a security feature from PayPal to prevent accidental double payments.
PayPal Payments automatically sets an "invoice prefix" and then sends the WooCommerce order numbers in the pattern "invoice prefix + ordernumber" to PayPal.
When the prefix is set to cfbdg-
and the order number is 123
, PayPal Payments sends the invoice ID cfbdg-123
to PayPal.
Under certain circumstances, PayPal Payments may send an invoice ID that already exists at PayPal and the transaction would fail.
This can happen, for example, when an older backup from the website is restored, as the most recent WooCommerce orders may not exist anymore after the restore. As soon as WooCommerce attempts to create a new order with the number 123
and the same invoice prefix, PayPal would throw this error to prevent accidental double payments because there is already a payment at PayPal with the same invoice ID.
This feature can be disabled at PayPal, though the recommendation is to keep it enabled. Please ensure that every site using PayPal Payments with your account has a unique invoice prefix.
But to disable this feature at PayPal, follow these steps:
- Log in to your Business PayPal account (https://www.paypal.com/businessmanage/preferences/payments)
- Go to the Payments Preferences section
- Under the "Block accidental payments:" section, select the option "No, allow multiple payments per invoice ID"
With this feature disabled, PayPal no longer throws an error when an invoice number that already exists in the system is submitted.