#tiaringhio-subscription
1 messages · Page 1 of 1 (latest)
Hi, let me break down the requirement a bit
So you are using Checkout with mode=subscription, hence it always charge your Customer upfront
After your customer has had the product assigned, did you present the Checkout Session page to him/her?
the product, when it is purchased is bought with a checkout session with the mode "payment", therefore a payment method is assigned to the customer.
After that, if the user wants to start a subscription, i go to a workflow that creates the subscription but without presenting him the checkout page, since the payment method is still the same.
If the products gets assigned no payment will be made and no checkout page will be shown, the product gets assigned via my website's backend
In your problematic scenario, your backend already assigned the product to the Customer, but haven't show them the Checkout Session with mode=payment?
right, the customer has the product, can activate a subscription but does not have a customer object and a payment method associated with him on stripe
Then... why don't you just show the Checkout Session, and only after it's successfully confirmed call your backend API to start the Subscription?
yes that would be the easiest option but my client asked for it to be as smooth as possible and that involves (unfortunately) the client not having to go trough the payment process
Ah
if going through the checkout session is the best way to go about it i will put pressure on my client to go that way
So like, just start a subscription right away, but later on collect payment methods?
yes
It's the flexibility over Checkout. You would need a Custom integration for that. I suggest pushing back your client on using Checkout and the ideal flow of finishing-payment-then-start-subscription, because that's how Subscription should work
for the workaround on Custom integration, yes you can but without Checkout
You would need to create a Subscription then collect the Customers' payment method for latest_invoice.payment_intent.client_secret
ah i understand, in the end i will be much simpler going that way instead of creating a custom integration, since i rely a lot on checkout
Yeah