#mp_api
1 messages ยท Page 1 of 1 (latest)
๐ Welcome to your new thread!
โฒ๏ธ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
โฑ๏ธ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
๐ This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1413155620890345482
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.
- mp_api, 7 minutes ago, 9 messages
Hi, what does 'How can I solve this for all users' mean here? What do you expect to happen? Are you able to share more context here please?
Hi. So we have many reports that users were able to pay after the subscription has cancelled/expired due to invoice being open. We take the payment but never activate the subscription. We started voiding the invoice but that did not help either
In the previous response, you team member suggested for the user that I posted. I was asking how can fix for all users instead of one
So if you look at this customer cus_RiAVf5jXuNSIQG, they have one successful payment that succeeded yesterday.
But the subscription is still incomplete
If I look at the successful payment https://dashboard.stripe.com/payments/pi_3Rl9KUJqE5f9ucQh0CFtzlir, it seems the first payment was attempted on 15th July
You can make the same calls for all of your users. In the future, you need to ensure that you're voiding the invoices if you do not intend them to pay: https://docs.stripe.com/api/invoices/void
I did mention that We started voiding the invoice but that did not help either. The payment still goes through\
Can you share that example of the invoice you voided?
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
https://dashboard.stripe.com/invoices/in_1Rl8O0JqE5f9ucQhXmDNgKME -> how come the recent payment went into this?
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
From looking at these examples, I can confirm that no amount was paid on in_1S3JLSJqE5f9ucQhbv3G2cHY after you voided it.
in_1Rl8O0JqE5f9ucQhXmDNgKME does not show any void requests.
Can you share the request id where you voided that second invoice?
I am not sure what you mean
The customer had a successful payment on 03 Sept of 19.50
Let's start over as this is getting quite confusing
Customer: cus_SaTSRDnJsw6LTm
If you look at payments -> they had a successful payment on 03 sept of 759. I believe this is paying an old invoice right?
When you share the payments, can you share the payment ids to ensure we're on the same page please?
Sorry, I will
pi_3S1UOYJqE5f9ucQh0e0qGUXB -> This is the payment that shows it was for a subscription update. The payment started on 29th Aug and succeeded on 03 Sept. Am I right? Basically they paying of an old invoice, right?
However, their subscription is in the cancelled state
If I check the invouce it says 29th Aug - 29th Sept - in_1S1TRcJqE5f9ucQhot6mEaNJ
It does not matter that you cancelled the subscription, did you void the invoice when you cancelled the subscription?
Most businesses still want to collect the payments so unless you void the invoice, they can still pay for that invoice
Yea, but currently subscription is incomplete and not cancelled. And when the user paid, it took the payment for a previous failed payment. How can we void if subscription is incomplete?
Look at the activity
Hey there, taking over for @sour mist as they had to step away
Hi there
TLDR: User has made the payment yesterday pi_3Rl9KUJqE5f9ucQh0CFtzlir
The subscription is still incomplete
Looking at cus_RiAVf5jXuNSIQG, I see many subscriptions, none of which are currently active. This can cause confusion as to which invoice was voided, which was paid, etc. Can we narrow it down to a specific example that isn't behaving the way you expect?
In the example you gave in your first message, you said that sub_1S3JLjJqE5f9ucQhNDVYLhlL had an issue, but pi_3Rl9KUJqE5f9ucQh0CFtzlir is not associated with that subscription. So is there a payment intent that is succeeding on a voided invoice that you can share?
Ok because we were talking about two different customers, I created unnecessary confusion
Sub id: sub_1S3JLjJqE5f9ucQhNDVYLhlL
Successful payment: pi_3Rl9KUJqE5f9ucQh0CFtzlir
So the money is taken but sub_1S3JLjJqE5f9ucQhNDVYLhlL is still incomplete
And when I look at the payment it was started on 15July 2025 and succeeded yesterday
Got it. What I see is that pi_3Rl9KUJqE5f9ucQh0CFtzlir is associated with sub_1RaG4uJqE5f9ucQhPDFpFswT, a different subscription. You mentioned that you tried voiding the subscription invoice, but the payment still went through. Which invoice did you void?
I can see this invoice was voided in_1S3JLSJqE5f9ucQhbv3G2cHY
That invoice is associated with subscription sub_1S3JLSJqE5f9ucQhqQLuDU5i, which means it would not affect sub_1RaG4uJqE5f9ucQhPDFpFswT
How can we best resolve such situations?
What actually happened as I see many subscriptions associated with that user
Were you not aware that there were multiple subscriptions on this customer? Was that not intentional?
So we use checkout sessions that creates a new subscription if they do not complete at the intended time. But the payment is taken for a different subscription and some other invoice got voided. Wondering what is the best way to move forward
However, wasn't this payment made for an older invoice pi_3Rl9KUJqE5f9ucQh0CFtzlir?
where the payment had previously failed
Can you clarify a bit more on your use case? When you say "if they do not complete at the intended time", is this because of a failed payment? Or they let their subscription lapse? Trying to understand why it's necessary to create a new subscription
they let their subscription lapse - this
Got it. For the case of failed payments, there are many recommended approaches you can follow https://docs.stripe.com/billing/revenue-recovery. If the subscription is expired, you do need to create a new subscription as you mentioned. In this case, it is possible for a user to have multiple subscriptions, so you'll need to void the correct open invoice if the subscription is cancelled. It sounds like this is your intended approach, so you'll need to examine your integration to determine how it identifies the appropriate invoice to void.
Any idea how the payment went through for this invoice(in_1Rl8O0JqE5f9ucQhXmDNgKME) yest instead of the latest one?
Hey there stepping in for nobs as they had to head into a meeting
This invoice was paid via the hosted invoice page
What do you mean?
Is there a way to find out what status was this in_1Rl8O0JqE5f9ucQhXmDNgKME invoice in before the payment was made in the UI?
I think it stays in the open status
Before that payment is was status=open as reflected in the last event prior to payment, evt_1RqE1dJqE5f9ucQhg7JdcyqW
So the subscription got cancelled on 29th July but payment still went through on 3rd sep
๐ stepping in as synthrider needs to step away
A Subscription canceling does not automatically void the related Invoice after retries since your settings don't dictate that. Those settings are in your Dashboard here: https://dashboard.stripe.com/acct_1CaQ5rJqE5f9ucQh/settings/billing/subscriptions
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
You currently have it set to leave the Invoice as past_due which means it can still be paid.
But when I check the logs it still shows open
Yeah past-due is just a Dashboard indication -- that isn't a status of an Invoice object. See: https://docs.stripe.com/api/invoices/object#invoice_object-status
So past-due still falls under the Invoice being open for its status
So am I right that my best solution when updating a subscription is to get the latest one and ensure all others are voided?
If you want to ensure that an Invoice is not paid after a Subscription is canceled then yes you would want to list Invoices for the Subscription and void them.
But what if a payment fails and then user updates the payment method