Expired Orders
One of the most common issues related with merchant services is expired orders. Orders may expire for several reasons, including the following:
- The customer did not initiate a transfer of funds within the order window.
- Payment was not made within the valid time frame; the end user attempted to pay after the order's expiration time, resulting in an automatic expiry. This may occur due to various factors, such as delays in the blockchain network, where transaction confirmation times fluctuate based on network congestion. Additionally, internal processing delays within the SpectroCoin system can occasionally impact the speed at which payments are confirmed and reflected.
- The amount sent was insufficient to cover the full order amount, causing the order to remain incomplete and eventually expire. Underpayments occur when the customer sends an amount that is less than the required order total. If the order receives funds that are insufficient to cover the total payment amount, the end user will encounter a screen indicating that the payment is pending due to an underpayment. The user will be informed of the amount they still owe and will be prompted to complete the payment.
How merchant should identify if the order has expired?
Via SpectroCoin web interface
-
In the SpectroCoin dashboard navigate to Business tab and select your project.
-
Scroll down to Order History, where all the orders for the project are displayed. Expired orders will be marked as
EXPIRED
, as shown here:
Using API
There are few primary methods for checking the status of an order via the SpectroCoin API:
By calling the /public/merchants/orders/{id}
endpoint to retrieve all orders for a specific project. To get more specific results, filters can be applied by calling public/merchants/orders
endpoint, such as date range, or order status. The response will contain details for each order, including its status. An expired order will be marked with the status EXPIRED
.
Secondly, If a callbackUrl
has been specified when creating the order, SpectroCoin will automatically trigger a callback to the provided URL. The callback will include the order’s status, represented as a number. In this case, an expired order is represented by the status code "5"
. (More about callbacks and order states)
Related questions
What is the order expiration time?
For orders without the auto-convert option, the expiration time is 24 hours. For orders with the auto-convert option enabled, the order expiration time is typically set to 15 minutes. However, if the user selects a currency that matches the settlement currency (i.e., the same currency as the one set for auto-convert), the expiration time will be extended to 24 hours. Please note that the order expiration time is not configurable.
Order state
If the order has expired, the status will remain as
EXPIRED
even if the payment is received after the expiration time. Additionally, merchant support cannot manually change the state of such orders unless the issue was caused by SpectroCoin.
Updated about 1 month ago