3 ms·
I don't know how Stripe's dashboard looks/works, and whether it easily displays the number of invoices left in "draft" state. But when the author writes about t
by chipotle_coyote 5y ago
I don't know how Stripe's dashboard looks/works, and whether it easily displays the number of invoices left in "draft" state. But when the author writes about the silent failure here,
> No failed API calls (as far as I could tell).
I can't help but wonder whether that "as far as I could tell" is carrying a lot more weight than it might first appear.
Stripe's documentation under "Collect taxes for recurring payments" explains,
Creating or updating a subscription that causes an immediate invoice and payment attempt errors with an HTTP status 400 response. Updating a subscription that does not cause an immediate invoice or payment attempt returns an HTTP status 200 response. However, the customer location validation happens later asynchronously when the invoice is finalized. If the customer location is invalid during invoice finalization, Stripe sends a invoice.finalization_failed webhook. If you don’t take any action, the invoice remains in a draft state.
Which at least suggests that Stripe's API will, in fact, inform you of invoices that fail for precisely this condition.
So is it at least possible that the author "built out [their] Stripe Tax integration" either without implementing what would seem offhand to be an extremely important webhook, or implementing it but not surfacing its results in a timely, actionable way?
- whakim 5y agoOne thing that's confusing/annoying from the Stripe developer experience is that subscriptions generate an absolutely huge number of webhooks. There's probably 10 or 15 webhooks per recurring payment, and many of those contain the same data. Different pieces of documentation talk about the importance of different webhooks. Additionally, I've never found a good way to easily test webhooks related to recurring payments without resorting to manual testing. I could easily imagine the OP being confused by Stripe webhooks.
- Aeolun 5y agoThe goal of Stripe is to make things simple. I shouldn’t have to implement a webhook to discover that none of my invoices are actually being paid. I’d expect a notification email to be sent to the account until that is explicitly turned off.
- eertami 5y agoIf you're writing software, and you develop a new feature without testing the failure path, then I don't think it's possible to make any safe assumptions about what failure should or shouldn't do.
- qw 5y agoI agree with you on general basis, but in this case it seems that Stripe provides a dashboard containing key data. It's not unreasonable to expect that critical payment failures would be displayed as well. It's always a risk to make assumptions, but I don't think this specific assumption was unreasonable.
- anonymouse008 5y agoYeah, I saw your other comment and feel you nailed it. Stripe needs to offer solutions 100x better than what we build, 10x as fast. That was the premise of the original product, now the “easy stuff” is glossed.