#alexb
1 messages · Page 1 of 1 (latest)
Hi there, taking a look
Thanks for the context!
Are you still looking into this?
Yep, sorry for the delay!
ok thx, no worries, wasn't sure.
Okay, I see that marking the invoice as uncollectible does not change the status of the underlying PaymentIntent
Prior to the successful payment on 12/5, the status of the PaymentIntent was still requires_payment_method, which means it could still be used to collect payment.
Ok. I was told specifically that marking the invoices as uncollectible using that setting would solve the problem
What do we need to do? Why do you process payments in a situation like this?
I'm sorry, this was not accurate advice. It's still possible to pay an invoice after it's marked as uncollectible. The customer probably had a copy of an email with the link to the Stripe hosted invoice page
Ok that previous advice came after 40+ messages with stripe support, where I got misinformation repeatedly, then 90 messages here on discord
Is there a solution to avoid stripe taking payment in these situations?
This is very frustrating to have to spend so much time only to get wrong answers, and very frustrating our customers still face this issue
I understand, and I'm sorry for so much back and forth
What you'll want to do is void the invoice. Doing so will also cancel the PaymentIntent: https://stripe.com/docs/invoicing/overview#void
If a customer accesses the hosted invoice page, they won't be able to complete the payment
So we have to listen with webhooks, detect canceling subscriptions, then cancel the payment intent?
Why?
Why does Stripe insist on taking payment despite the subscription being permanently cancelled, and the invoice marked uncollectible?
Wouldn't it be better to not take payment?
So we have to listen with webhooks, detect canceling subscriptions, then cancel the payment intent?
Not exactly. The logic that handles canceling the subscription can look at the subscription'slatest_invoiceand update that invoice's status tovoid. this status update will cancel the underlying PaymentIntent automatically
We don't cancel these subscriptions
Ok so we will use webhooks to listen for you canceling the subscription, then we'll write code to void the invoice
ah sorry, that's my mistake. yes, the webhook handler that listens for canceled subscriptions should the void the latest invoice
Ok. I understand and can do that
But I am still left with those questions.
And also concerned that maybe this won't work given Stripe's track record on this issue
I think some of the friction here is caused by a complex billing product. There are lots of statuses to work through since this product aims to solve for very complex billing flows. so, for example, canceling a subscription for one merchant may mean cancel immediately and "delete" all invoices, while another merchant may want to keep any open invoices as is and still expect to collect payment
There's also some terminology bits: voiding is essentially a delete, while marking uncollectible is used by merchants who don't expect to be paid but might still be paid for those services