If issues arise while navigating through the Ordergroove platform, please consult this list of error response codes to understand the nature of the issue better. This will allow for further understanding and assist Ordergroove team members in assisting you.
Given the volume of data issued in a request and the order in which the payload contents are validated and created, there will be instances where a 207, 400, or 401 status will be returned, indicating an issue with some or all products provided in the request. In the case of a 207 code, customer, shipping, and payment IDs will accompany the error, potentially giving the impression of a successful request; you must inspect the error object included in the response for failure details.
- 207: Request contained multiple subscriptions — some subscriptions were successfully created, while others failed.
- 400: Invalid request. No subscriptions were created. Specifies which data was missing or invalid in the request.
- 401: Authentication failed.
Error details can be found in the errors object of the response. Examples of different errors can be found in the API documentation here. Use your staging dashboard credentials to access this document.
Error Logging and Retry Logic
It is recommended that you have email notifications tied to the 207, 400, and 401 error responses. If an issue with a POST request can be identified and corrected within 24 hours, it should be retried. If multiple POSTs return the same response, it likely points to a larger issue with the integration that should be investigated.
If you receive a 500-level error, we recommend you resend the POST three times within the next ten minutes. If the connection is still unsuccessful, retry the POST after 24 hours. After 24 hours, no more retries should be attempted, as the contents of the customer's cart are no longer reliable.
An order may be rejected for several reasons. Ordergroove uses error codes to standardize communication with merchants regarding the specific causes of order failure. Transmission of these error codes by the merchant on order failure is critical, as Ordergroove reacts differently to each code, including sending specific email communications to the customer. If merchant response mapping is incorrect, the customer will receive an incorrect communication via email.
The current set of available error codes and their definitions is:
- 000 — Success
- 010 — Created and Processing. The majority of orders will be returned with this response if order verification is being used. Only orders with this status will be available for update via the order verification API.
- 020 — Invalid, order not created. Ordergroove will mark the order as rejected and not retry to send the order. No user communication is sent.
- 030 — Canceled. Set by Ordergroove only, when a customer cancels an order (should never be sent to Ordergroove). No user communication is sent.
- 100 — Invalid credit card type. Ordergroove will mark the order as rejected and not retry to send the order. User communication is sent.
- 110 — Invalid credit card number. Ordergroove will mark the order as rejected and not retry to send the order. User communication is sent.
- 120 — Invalid credit card expiration date. Ordergroove will mark the order as rejected and not retry to send the order. User communication is sent.
- 130 — Invalid billing address. Ordergroove will mark the order as rejected and not retry to send the order. User communication is sent.
- 140 — Payment Declined. Ordergroove will mark the order as rejected and not retry to send the order unless Credit Card retries is enabled. User communication is sent.
- 150 — PayPal issue. User communication is sent.
- 160 — Payment Declined - Do not retry. No customer communication was sent.
- 170 — No default card on file for the customer. No customer communication was sent.
- 180 — Strong Customer Authentication (SCA) requested. No customer communication was sent.
- 700 — CC Recycling (if enabled), invalid credit card expiration date. Ordergroove will retry placing this order with a configurable expiration date incrementation. For example: an initial attempt with a future expiration date of 3 years, then 2 years, then 4 years, and then 1 year. The order will be retried in each of the next order placement windows for a set number of attempts. If the order still does not go through, the order is rejected. No customer communication is sent.
- 999 — Generic Error Response - order processing issue. Ordergroove will retry placing this order over the next two order placement windows, with a maximum of three attempts. After which, the order is marked as rejected and email communication is sent to the customer.
Please use these error code numbers, but use the error message from your payment gateway or processor. The descriptions above are general categories of errors.
Ordergroove Response to Order Placement Errors
Depending on the category of error that occurred during order placement, Ordergroove will respond with a different action on the order. Below is a brief description of the actions Ordergroove takes in response to the four main types of order placement errors:
- Error During Order Generation/Placement: If Ordergroove is unable to generate the order XML successfully, or is unable to connect to your order placement API, the order will be re-tried at the next order placement time — usually the next day. These orders are re-tried for 90 days or the subscription frequency, whichever is shorter.
- Valid Error Response: If Ordergroove receives a valid error response from your system, the customer will be notified of the nature of the error (e.g. a credit card issue). The order is put in a rejected state.
- Response Processing Error: If Ordergroove cannot understand the order response from your system — batch or API — the order is not re-tried and is put in a rejected state. The customer will not be notified of their order status.
- Generic Error Response (999): If an error code 999 is received, Ordergroove will read this as an unknown error that occurred during the order placement process. These orders will be re-tried once per order placement period, for a total of three times. If Ordergroove continues to receive a 999 error code each of these three times, the order will be rejected, and the customer will be notified by email. If Ordergroove does not receive any response during the re-try period, the order will remain in a Pending status in Ordergroove's system without triggering a customer notification.
500 Error Codes
The error codes listed above are generated by your payment processor. Error Codes 500, 510, and 520 come from Ordergroove.
500 Expiration Date is in the past
The payment method is expired, and these orders are not sent for placement. Customers are sent the Order Not Placed - CC Warning email.
510 Rejected: Order attempted four times unsuccessfully
Ordergroove has attempted to process the payment four times, and all four were rejected by the payment method's issuing bank. Customers are sent the Order Not Placed - CC Issue email.
520 Rejected: Order attempted to place unsuccessfully three times with a generic error response code of 999
Ordergroove sent the order for placement three times but received an error we couldn't understand, 999 Generic Error Response, all three times. 999 error codes are a catch-all, it's a default generic error code.