payment.failedpayment.failed does not reach the queue. In *.payment.#, the * must match exactly one word before payment. payment.failed has no word there, so it does not match.# matches zero or more words. So these both match:
• eu.payment, with zero words after payment.
• eu.payment.failed.retry, with two words after payment.
Read more