Matches reports whether status and body describe an account that cannot pay.
A bare 429 is pacing and stays false; only payment-bearing words or a known
payment code turn that otherwise transient status into a terminal answer.
ResetAt returns the vendor's reset value when a window refusal names one.
It returns only the value after "reset at" so a surface can compose its own
sentence without copying an entire error envelope onto the status line.
Kind is the meaning of a payment-shaped vendor response. The numeric code
decides before prose because a plan-window message may also say that the
account has insufficient balance for EXTRA usage.
Classify separates an empty wallet, an exhausted subscription window, a
door the key cannot use, and ordinary pacing. A vendor code is the stronger
fact and a body carrying one never falls through to ambiguous prose.