Refund transactions stuck in PENDING status in Sandbox since yesterday

Hi everyone,

Since yesterday, I’ve noticed that refunds created in my Square Sandbox environment stay stuck in PENDING status and never transition to COMPLETED (or FAILED), which was not the case before.

Details:

  • Environment: Sandbox
  • Endpoint used: Refunds API (/v2/refunds)
  • Behavior observed: refund is created successfully (PENDING status returned), but it never updates to a final status afterward — even after polling or waiting several hours.
  • A few affected refund IDs (redacted app-specific prefix): TnphSEvfmd9JRWnzT9bWHWOcLkXZY_...
  • This started roughly 24h ago; the same flow worked as expected before that.

Questions:

  1. Is there a known issue or recent change affecting refund processing in Sandbox?
  2. Is PENDING expected to auto-resolve after some delay in Sandbox, or does it require a manual trigger/webhook simulation?
  3. Any recommended way to check the current status of Sandbox refund processing?

Any insight would be appreciated — trying to determine if this is expected sandbox behavior, a temporary sandbox issue, or something on my end.

Thanks!

Thanks for reporting! There seems to be an issue with the sandbox refund mechanism, and the team is looking into a fix now. We recommend testing refund flows in a separate free production account using CASH or EXTERNAL tender types. Production accounts are free and unlimited, and refund lifecycle transitions work correctly there.