Unpaid OPEN order from a payment link not visible in Dashboard and the payment link is gone – how to cancel it?

I have an unpaid order created from a payment link that I need cancelled. Support asked me to confirm I wanted it cancelled, but support agents can’t find it because it doesn’t appear in the Dashboard. They pushed me to this forum.

Details (retrieved via the Orders API, BatchRetrieveOrders):

  • Order ID: MohR5UbZonZKpzVPyp2t1Burc6NZY
  • State: OPEN, version 1, never updated since creation
  • Source: Payment Link
  • Created: 2026-09-13
  • Total: $1,060.00 ($1,000 custom amount + $60 tax)
  • Tenders: none; net_amount_due equals the full total
  • It’s a duplicate of an order that was paid separately, so it should never have been collectible.

What I’ve seen:

  1. The order does not show in the Dashboard transactions view (expected, since there’s no payment).
  2. ListPaymentLinks returns an empty result for my account, so I can’t find the link it was created from and can’t delete the link that way.
  3. Support could not locate the order from the Dashboard.

Questions:

  1. What is the supported way to cancel an unpaid OPEN order that originated from a payment link? Is UpdateOrder with state = CANCELED (passing the current version) the right call?
  2. Is there any side effect on the other, separately paid order, on reporting, or on sales tax if I cancel this one?
  3. If the payment link still exists somewhere I can’t see, is it possible for someone to still pay through it after the order is cancelled?
  4. If this can only be done by Square, who can I contact who can look orders up by ID?

Thanks.

I’m curious how you came to know there was an unpaid order if it is hidden on your dashboard too haha!

Are you trying to build your own reporting tool or working with the mcp server?

It is expected that Square Online store orders may create orders that will never be paid for. You should look for orders with tender_ids or payment_ids in them instead.

Our recommended flow would be to start with the payment from the Payments API. Then take the order_id in the payment to get the paid order.

To answer your question
You could cancel the order via the API with no ramifications on the existing order, but Square Online might keep creating these orders and you would have to keep canceling them yourself. It is better to just ignore them and to have whatever tooling you are using use the above method for reporting!

yeah, not sure how this all happened. i use a Claude connection to help me manage my P&Ls, and it kept pinging the API and getting this open order. I actually (finally) was able to fix it by temporarily granting Claude edit access to Square, having it delete it via API call, then moving Claude back to its usual read only state. Thanks for the quick response though!