Stripe's error messages still set the bar. Ran a bad request against their API this week and the response didn't just say "invalid parameter", it told me which field, why it was wrong, and linked to the exact doc section for that object type.
That's the difference between an error message written …