Expired/Voided payment status orders on Shopify

Shopify assigns an Expired payment status when a payment is not captured before the date set by the payment provider. Without proper handling, these orders may remain in a pending or unclear state, creating confusion for brands when reviewing billing attempts. To address this, Loop ensures expired or voided orders are marked clearly as failed, making subscription reporting more reliable.


In this article



Shopify Expired/ Voided payment status orders


Expired: Payment wasn't captured before the date that was set by the payment provider on an order that had the Authorized payment status. Some payment providers that provide alternatives to credit card and cash payments, use the Expired status to indicate that they were unable to process the payment. Contact your payment provider to find out if the payment can still be captured.


Voided: An unpaid order was manually cancelled.


To know more: Shopify Help Article



How Loop handles these orders


Whenever Shopify flags an order with an Expired/Voided status, Loop performs the following actions:

  • The billing attempt is marked as failed in Loop
  • The order status is marked as failed
  • The order is assigned a failure reason so brands can identify why it failed


This process ensures that expired or voided orders do not remain stuck in a pending state and are permanently closed out as failed.


Failure reasons on Loop


Loop introduces internal failure reasons to categorize expired or voided orders more effectively. These are displayed in the order logs and billing attempt history:


Order stuck in pending

  • The order remained in Pending financial status beyond the duration configured in your Pending payments handling settings.
  • Since Shopify never moved the order from Pending to Paid, Loop assumes the order is bound to fail and marks it accordingly.


Order expired or voided

  • Shopify directly set the financial status to Expired or Voided.
  • Loop records this as a failed order under this reason.


⚠️ Important: To improve clarity, Loop dynamically adjusts the error message based on the actual Shopify financial status:


Permanent failure status


Expired or voided orders are permanently marked as FAILED_WITH_NO_RETRY in Loop.

  • This prevents unnecessary retries for an order that cannot be recovered.
  • It ensures your retry logic only applies to orders where recovery is possible (e.g., failed credit card payments).
  • It keeps your subscription records clean by excluding expired/voided orders from future billing attempts.


How to handle these orders


Do not fulfill orders marked as Expired or Voided in Shopify. These orders cannot be recovered or charged, and fulfilling them would result in revenue loss. Since payment was never captured so the order is permanently failed.


Need help?


No worries - we're here for you!

If you have any questions or need assistance, feel free to email us at support@loopwork.co or chat with us using the support beacon at the bottom right of your screen.


Regards,

Loop Subscriptions Team 🙂


Return to top



Updated on: 15/09/2025

Was this article helpful?

Share your feedback

Cancel

Thank you!