Terminal Checkout Failed to Cancel

Dear Team,

One of our terminal checkouts failed to cancel in production environment, after we sent out request to cancel the terminal checkout via terminal API, the status remains “CANCEL_REQUESTED” (with cancelReason “SELLER_CANCELED“) rather than “CANCELED“ when we queried the terminal checkout status from Square again.
Could you please help to check the cause?

Below are some more details:

  • terminal checkout id: YnbfgjWI84jqO
  • location id: LC4W03NJBWBW5
  • application id: sq0idp-X5g7B-QAtnOvyEFik1fuSg

During UTC 2025-10-17 19:39:16 ~ 2025-10-17 22:02:35, we sent out the same request a few times to cancel this terminal checkout;

During UTC 2025-10-17 19:39:16 ~ 2025-10-17 22:03:01, we queried the terminal checkout status a lot of times, it still remains status “CANCEL_REQUESTED”;

We believe the terminal device hardware is ok, as in the same day we used it to do several checkouts, all worked fine except for the mentioned one with id YnbfgjWI84jqO failed.

Thanks in advance.

:waving_hand: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:

Additional Documentation

Troubleshoot In-App Payments SDK Problems
Test in the Sandbox
Merchant APIs

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

What troubleshooting was done on the device? Often times this happens when there is a network connection error and the cancel request doesn’t make it to the device. Also when was the last time the Terminal was restarted. :slight_smile:

Hi Bryan,

Thanks for looking into this issue.

After the user noticed this abnormal behavior, he restarted the terminal device a few times during UTC 2025-10-17 19:39:16 ~ 2025-10-17 22:02:35, but it didn’t work, for the specified terminal checkout, the latest status is still “CANCEL_REQUESTED”, even if I tried to check it a few hours later.

And during the day, except for this specified terminal checkout, all other terminal checkouts worked very well.