This :
FilterSubject: "orders.ben.*"will get messages from subject like orders.ben.foo and orders.ben.test
This :
FilterSubject: "orders.ben.test"will get messages from only orders.ben.test
So it is expected that there be overlap where these consumers receive some of the same messages.
The next thing is that all the consumers have the same Name and same Durable. So if you create these in order, the 2nd replaces the 1st and the 3rd replaces the 2nd, so there is only one actual consumer which is actually consumer 3, and should only get payment.add.*
Considering that this looks like the simplification api, and having 3 instances of the same consumer, the server should actually round robin the delivery of messages. This could be an issue with the client. I would figure out your names first, then go from there.