The association of Stripe with simplicity and good dev experience could be more due to Stripe's marketing/PR than the views of devs who've used Stripe APIs, at least from the few things I've read.
Stripe did actually have a great API at one point, when they just appeared. Their basics of charging a card and managing subscriptions was incredibly simple and developer-friendly compared to their competition at the time, like Authorize.net or PayPal. I don't think PayPal even had a real API back then - you had to use a `<form>` element with hidden fields.
Of course things change, and now Stripe's API has been rewritten to extreme complexity with scattershot documentation and unintuitive terminology. (I sell products, but in the API I have to sell prices??)
>The association of Stripe with simplicity and good dev experience could be more due to Stripe's marketing/PR ...
I don't think it's marketing/PR so much as a halo effect and reputation from years ago. My experience with stripe 5 years ago was/is simpler and easier than it is looking at it today. More products/services/options/requirements - it's more complicated than it was years ago.
But looking at it for a project 5 years ago, it was certainly simpler compared to authorize.net for what my project needed. Just the UI alone to go in and manage/test things was more straightforward and pleasant, even when I hit issues and roadblocks. Authorize.net looked like it hadn't changed much since 2005 or so when I'd looked at it then. May be better now - haven't looked since 2017.
my recent experience working with the Stripe API lines up with this. Based on the reputation I was expecting a lot less complexity and strange default behavior when it comes to subscriptions/invoicing. Still a good dev experience, but not the greatest, most straightforward API ever like its reputation.
For example, Stripe applies discounts prior to proration. So if a customer applies a $100 per month discount on a $1000 subscription, and signs up halfway through the month, they're charged (1000 - 100 * 0.5), not the more intuitive ((1000 * 0.5) - 100). Nitpicky, but not what I expected.
That's their reputation, but it doesn't always stack up in reality.
Recent example: https://twitter.com/levelsio/status/1600316372344373249
Canonical HN example: https://news.ycombinator.com/item?id=30535572
The association of Stripe with simplicity and good dev experience could be more due to Stripe's marketing/PR than the views of devs who've used Stripe APIs, at least from the few things I've read.