Follow the steps to do a PayJoin and instead of paying the full amount pay less.
Go back to the payment page and you will get

Copy the button url again (new invoice) and try to pay the amount due
@yahiheb the payjoin receiver (the server, in this case btcpay) rejects the payjoin negociation. @molnard and @MaxHillebrand agreed on disallowing paying an already paid invoice and then I make it impossible to pay twice. So, it is not a bug, this is exactly how it was design to behave.
Now, I agree with you that this feature sucks. We cannot decide what the users can/cannot do with their own money, the user should be allow to pay a million times the same invoice indeed! How is a non-expert user be able to pay the invoice with wasabi after this? How can we be sure the receiver will not broadcast the transaction that it received and take the money? After all it received a perfectly valid and ready-to-bradcast transaction.
I will fix it.
@molnard and @MaxHillebrand agreed on disallowing paying an already paid invoice and then I make it impossible to pay twice.
What I described is paying an amount on two different rounds with different invoices, for example paying half the amount with the first invoice and then paying the other half with the second invoice.
It is the same invoice because it is the same purchase, the only thing that is different is the uri because the amount is different and the bitcoin address is different. You cannot pay the same invoice twice, no matter how many times you try not how many different uris you use.
Most helpful comment
@yahiheb the payjoin receiver (the server, in this case btcpay) rejects the payjoin negociation. @molnard and @MaxHillebrand agreed on disallowing paying an already paid invoice and then I make it impossible to pay twice. So, it is not a bug, this is exactly how it was design to behave.
Now, I agree with you that this feature sucks. We cannot decide what the users can/cannot do with their own money, the user should be allow to pay a million times the same invoice indeed! How is a non-expert user be able to pay the invoice with wasabi after this? How can we be sure the receiver will not broadcast the transaction that it received and take the money? After all it received a perfectly valid and ready-to-bradcast transaction.
I will fix it.