#DLAN-Subscription
1 messages · Page 1 of 1 (latest)
Also, it seems if the user already has a default payment method from a previous subscription, then the new subscription doesn’t even enter an inactive state, it just immediately enters ‘trialing’ without providing a chance to confirm the subscription. I am not sure how to handle the transition here the way I am expecting it to flow.
I am not even seeing a status=‘incomplete’ on my subscriptions, it just goes straight to status=‘trialing’ after calling Subscription.create()
👋 Give me a few mins to catch up
Thanks
When the user selects a “price” and moves to the “subscribe” page, the subscription is already created and attached to their account. If they decide to click cancel and select a different subscription, they now show as already being subscribed
This doesn't sound correct to me. Generally I would defer to logic to create Subscription until my customer click on "Accept" or smth. Maybe the example you see doesn't cover that spot and just demonstrate a way to use the API
What is the right way to delay creating a subscription until after they have confirmed they want to subscribe after entering payment information?
You mean you still want to collect customer's payment info, but later on asking them really want to subscribe?
No, once they enter the payment info, the form has the “subscribe” button that finalizes the transaction. So it would go
Pick subscription -> review selection and enter payment info -> complete
The example is the one provided by the stripe API, stripe samples create subscription-use-cases
It’s flow is
Register for account -> select price from list (once selected, the create-subscription API point is called) -> enter payment info
The second step returns the client secret from the created subscription which is passed to the card form to link it all together
So I guess what I would be looking for is a way to create that client secret without putting the subscription in an active state, then once the payment info is processed (or if they already have payment info, once they confirm the details are correct and consent to pay for it), then the subscription is set to an active state
I might have a fundamental misunderstanding on how subscriptions are meant to be used within stripe, but it seems odd to me that the subscription is created before anything is finalized
Reading through the docs more, it seems since I have a free trial, the subscription goes through immediately once created.
The Subscription could be created, but with a status of incomplete. Its status will change according to the result of first Payment Confirmation
(My colleague @real roost would be here to help you soon)
Thanks for your help
Hi @echo plinth give me a sec to catch up
I suggest taking a look at https://stripe.com/docs/billing/subscriptions/overview#default-incomplete
It has the detailed explanation about Subscription lifecycle, and the relation with its Payment
I think I might just need to adjust my flow. When they select a subscription, I just need to have a separate confirmation page outside of any stripe dialog and indicate the subscription is active (in trial) at that point. Then direct them to “save time later by entering card details now” or something, but make it clear it is not required at that point
Hi @echo plinth you can build the subscription easily with Stripe Checkout, and Stripe Checkout won't create a subscription unless the checkout flow is completed, is this something that you want to explore?
No, I’d rather keep everything integrated. I assume there should be a way to mirror behavior though.
OK, in the case you might want to adjust the flow and defer the subscription creation
Is it possible to create the subscription and collect the card info at the same time? Or would I just let one button handle the submission, but on the backend I am processing them sequentially as I am now, just appearing to be a single action from the user’s perspective?
You can collect the payment method up-front via SetupIntent, and set the collected payment_method to the customer's invoice_settings.default_payment_method
And once your customer has decided what to subscribe, then you just call Stripe API to create the subscription.
Okay I think I can work with that, thanks. I will keep playing around and see what I can figure out.