#my_unique_username
1 messages · Page 1 of 1 (latest)
đź‘‹ Out of curiosity, could you DM me that account manager's name?
just tried! DM was rejected
here's my question... sorry, might be a little long...
Currently, we have a user flow which works such that:
- Our app generates a quote – the line item refers to a price_id which is recurring
- The user "confirms" their order. In doing so, the quote is both finalized and accepted in lockstep
- Stripe generates an invoice, subscription, and payment intent altogether because of quote acceptance
- Our app uses the payment intent to generate stripe elements and allow for payment
What we have noticed is, if the user reaches our payment page (after the quote is accepted), the subscription will be ACTIVE, even if they do not complete their payment. So, this would result in future automated invoice creation, billing attempts, etc. Additionally, if the user was able to complete their payment later (say in a day or so), the subscription start date would remain at the date on which the subscription was created (vs. when the initial invoice was paid)
This makes sense, given that subscriptions and invoices are de-coupled. Doing a little reading, though, it looks like subscriptions support a payment_behavior (https://stripe.com/docs/billing/subscriptions/overview#how-payments-work-subscriptions). Particularly, it looks like “default_incomplete” gets us closer to our desired behavior, where the subscription is not active until a successful payment is made against it.
However, I’m having trouble getting this feature to have an effect. I’m currently trying to perform a subscription update with this field and value. Stripe journals the update, but the field change appears to be dropped from the changeset. I can tell the field is being provided properly because, if I try to switch the field value to something invalid (e.g. “something_incorrect”), I will receive a validation error which matches the field enum.
I’m wondering if there is a way to make this feature work for us, or if we are limited due to how we are creating subscriptions (via quotes). Or is there another way to achieve the outcome we are looking for? To re-cap, here are some of the behaviors we’re trying to achieve:
- Subscription should not generate additional invoices if the initial invoice is unpaid
- Subscription start date should begin the same day as the first successful payment.
In other words, the mental model for our product is that a user’s subscription should not begin until we’ve processed payment successfully.
Gotcha! Does effective_date get you closer to where you want to be? https://stripe.com/docs/api/quotes/create#create_quote-subscription_data-effective_date
That still assumes you know this date but you might not know it up front
hmm... thanks for pointing me to that (not sure I have seen it before)
is this alterable after the quote is accepted and/or the subscription is created?
No, don't think so as accepted is a terminal state for Quotes
gotcha, thank you. can you make any other recommendations on how to manage a workflow like this? i'm wondering if we're crossing into a threshold where we would need to manage the state of the subscription directly.
Hi đź‘‹
I'm taking over as @broken flint had to go. We don't allow too much direct modification of the Subscription but can you concisely describe what it is you want to modify and why?
sure. our goal is to have the subscription only be ACTIVE when its first invoice is paid.
originally I was hoping to use payment_behavior -- but this does not appear to affect our subscriptions.
as an escape hatch, i'm wondering if we should:
- provide a day-long window for someone to complete their initial payment, so that subscription periods begin roughly the same day as when payment is completed
- cancel subscriptions which do not have a paid invoice after-the-fact (via the subscription cancellation endpoint)
Is there a reason that the payment_behavior: 'default_incomplete' would not work?
Use default_incomplete to create Subscriptions with status=incomplete when the first invoice requires payment, otherwise start as active
whenever i use this to update a subscription, it doesn't appear to persist
and i am unable to use this on the create subscription command, because we are generating subscriptions via accepted quotes
You cannot do that when you update a subscription, only when you create.