422
payments.too_many_attemptspaymentsRule R6This payment has used all its attempts
attempt_count reached the tenant's max_attempts. The limit exists so a payer cannot be walked through an unbounded number of provider instruments on one payment — each one is a real object at a real provider.
Why the API refuses
WHEN StartAttempt is executed, THE SYSTEM SHALL reject it if attempt_count is already equal to the tenant setting max_attempts.
What to do
Create a new payment. Do not loop on POST /payments/{id}/attempts until it stops failing: check attempt_count against the limit and fail over to a fresh payment (with a new reference) once, then tell the payer.