For mutiny if we've paid the invoice already you should get a different error. If someone else paid the invoice it's impossible for us to know.
Here is a sampling of failure messages from different #Lightning wallets when attempting to pay an already paid invoice.
Notice how all of them display a different message, but none of them say that the invoice has or may have already been paid.
This is a confusing experience for new users, and it seems to come up repeatedly when someone posts an invoice in a note.
I’m throwing this challenge out to developers to find a way to improve this.
nostr:npub1u8lnhlw5usp3t9vmpz60ejpyt649z33hu82wc2hpv6m5xdqmuxhs46turz nostr:npub1p4kg8zxukpym3h20erfa3samj00rm2gt4q5wfuyu3tg0x3jg3gesvncxf8 nostr:npub1xnf02f60r9v0e5kty33a404dm79zr7z2eepyrk5gsq3m7pwvsz2sazlpr5 nostr:npub1hcwcj72tlyk7thtyc8nq763vwrq5p2avnyeyrrlwxrzuvdl7j3usj4h9rq nostr:npub1ey6qdmvzcgcsr883m9nspzz0mm037l26xtardzcskfsvc6gc7jssm9szvp
Thoughts?
nostr:note1l37kyuh2vdn7rukpr9jr4cjudx08t3ldk6s5u4gyrscftgl6av6s8us868
Discussion
At minimum I’m just suggesting a more user-friendly message.

We know it's not expired and 99.9% of the time it failed because it couldn't find a route, not that someone else paid it.
maybe add an action.. "No route found. Try again." ?
You can but normally all routes have been exhausted
what does that mean in practice, in simple words
There's no way to make the payment
new invoice must be made for this payment?
No, likely need channels
“Could not pay the invoice. There is no route, or it has already been paid.”
I can’t game out every scenario, but I’m sure you guys can come up with some clearer general error messaging.
We give an error message of exactly what happened, I'm not sure how it can be more clear.
The error message says “Failed to find route” which is simple but not user-friendly because it doesn’t address the problem they are having, so they comment under the invoice, “It didn’t work.” and this has the potential to discourage people and make them think Lightning doesn’t work well, because they don’t understand what went wrong. A more descriptive message would go a long way here. It helps to put yourself in the shoes of the newest of users who don’t know what routes are, they just see something that looks broken.
We could put "failed to pay invoice" but that's the same thing with less info. The alternative you suggested is just wrong, not sure if there is a better alternative.
What was wrong, the phrasing? Help me understand because as a user it seems very opaque.
I already explained here
https://damus.io/note1lspt5cfk5m0j7ljspt5j5falhned2z74ar2l68jh96wxc286pkgswd98x2
I understand, but curious as to why it couldn’t say:
“Could not pay the invoice. There is no route, or it may have been paid.”
That way you’re not giving an absolute. Just thinking of user experience.
I’m just trying to solve this UX problem:
nostr:note10lvqwsw8wkf5ev8s6hzj53esyg8ewyuw3e3jpl2aqt9dvxyurluqjlml5p
Think of it like a railroad. There is no route (channel) available connecting A to Z