#Min.K
1 messages · Page 1 of 1 (latest)
Hello! We'll be with you shortly. 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.
Can you share the request ID (req_xxx) and response that you performed Upcoming Invoice Retrieval with this scenario? Here’s how you can find it: https://support.stripe.com/questions/finding-the-id-for-an-api-request
Find help and support for Stripe. Our support site provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
Okay, please hold on a second.
Upcoming-invoice RequestId
- req_mgvsST9ejcjImF
and
Subscription Id
- sub_1OKYLAH7t32LLKQxY39iOCBE
I was testing billing immediately via ALWAYS_INVOICE when upgrading, it doesn't seem to reflect this if there is a trial period.
I was testing the case of upgrading from a 20 USD / week product to a 100 USD / week product.
Can you share the response of the req_mgvsST9ejcjImF? Stripe doesn't store the response of GET request.
Ok
Request
- Request Id
=> req_Hd5CAlKF0Q4HXV
curl -G https://api.stripe.com/v1/invoices/upcoming \
-u "sk_test_51Ms43tH7t32LLKQxNdFEvz8ZB9GQ0AiPZ0k4rquUOAb06Yqk1f5RfM8I8ejUlskv2Fhok5TA1MwETZvbPqn6s7AB00aviEtDl9:" \
-d subscription=sub_1OKYLAH7t32LLKQxY39iOCBE \
-d "subscription_items[0][id]"=si_P8q1ffJU992deW \
-d "subscription_items[0][deleted]"=true \
-d "subscription_items[1][price]"=price_1OKEiiH7t32LLKQxppI3xVrf \
-d "subscription_items[1][quantity]"=1 \
-d subscription_proration_behavior=always_invoice \
-d subscription_proration_behavior=always_invoice \
-d subscription_trial_end=1702006412
Response
Check message.txt
What i expected
- USD 0
But actual response
- USD 50
In fact, upgrading a subscription through the Subscription Update API does not result in any additional payment.
Strangeness
- The Upcoming Invoice API shows 50 USD.
- When you actually upgrade via the Update Subscription API, no additional payment is made.
Ah! This is expected. With providing subscription_trial_end,
the invoice returned will preview updating or creating a subscription with that trial end
The invoice here is the preview after the trial end.
Reference: https://stripe.com/docs/api/invoices/upcoming#upcoming_invoice-subscription_trial_end
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Then, it seems that the subscription_trial_end parameter must not be passed in order to receive 0 USD, the same as an actual subscription update. Is my understanding correct?
However, even if you do not pass the subscription_trial_end parameter, 50 USD is returned.
Then, it seems that the subscription_trial_end parameter must not be passed in order to receive 0 USD, the same as an actual subscription update. Is my understanding correct?
Whensubscription_trial_endis set, it will always show the preview after trial end. As long assubscription_trial_end, $0 will not be returned for this scenario.
However, even if you do not pass the subscription_trial_end parameter, 50 USD is returned.
Can you share the example request ID (req_xxx) and its response?
Ok.
I'm on my way to my seat now. Please do not close this conversation. We will respond within 30 minutes.
I'm back, and i will prepare the answer.
Request
- Request id
=> req_zfqEH3P4apq6U2
curl -G https://api.stripe.com/v1/invoices/upcoming \
-u "sk_test_51Ms43tH7t32LLKQxNdFEvz8ZB9GQ0AiPZ0k4rquUOAb06Yqk1f5RfM8I8ejUlskv2Fhok5TA1MwETZvbPqn6s7AB00aviEtDl9:" \
-d subscription=sub_1OKYLAH7t32LLKQxY39iOCBE \
-d "subscription_items[0][id]"=si_P8q1ffJU992deW \
-d "subscription_items[0][deleted]"=true \
-d "subscription_items[1][price]"=price_1OKEiiH7t32LLKQxppI3xVrf \
-d "subscription_items[1][quantity]"=1 \
-d subscription_proration_behavior=always_invoice
Response
Check message.txt
What i expected
- USD 0
But actual response
- USD 50
i changed request id
Presumably, if you perform an upgrade via the Subscription Update API on a subscription that is currently on trial, no invoice will be issued.
Therefore, the actual result of the Subscription Update API will be different from the result of the Invoice Upcoming API.
In the event that the subscription is updated within trial period with no invoice issue, then there won't be $0 invoice available. The next upcoming invoice API will create the preview of the next applicable invoice which is after trial ends
You need to let your customers know how much they'll be charged when they actually upgrade.
It would be odd if the estimate was 50 USD, but the actual bill was 0 USD.
I'm wondering how we can match the actual bill with the estimated amount.
sorry, i'm not sure i understand what's your question?
I want to upgrade a product while the subscription is on trial, and the upgrade will not cost me any additional money because I am still within the trial period.
Before I perform the subscription upgrade, I need to show the customer how much additional money the upgrade will cost them immediately.
Therefore, I use the Subscription upcoming invoice API, but it shows a different result than the actual one.
Actual results.
- No actual payment when upgrading a subscription that exists within the trial period.
- 50 USD appears when calling the upcoming-invoice API before upgrading a subscription.
like what river mentioned previously
In the event that the subscription is updated within trial period with no invoice issue, then there won't be $0 invoice available. The next upcoming invoice API will create the preview of the next applicable invoice which is after trial ends
@true silo
In the event that the subscription is updated within trial period with no invoice issue,
In this case, wouldn't it make sense to call the upcoming invoice API to tell us that there is no upcoming invoice to pay?
I think the idea here is that a customer is typically interested in how much they actually have to pay and not when there's a $0 invoice. I understand where you're coming from though, but that's not how the upcoming invoice currently works. You can write to https://support.stripe.com/?contact=true to explain your use case/feature request as that helps the product team capture demand for prioritisation and features
Find help and support for Stripe. Our support site provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.