#camel-checkout-legacy
1 messages · Page 1 of 1 (latest)
HI 👋
Can you share the exact text of the warning you are receiving?
You’re using the legacy version of Stripe Checkout.
We released a new version of Checkout in April 2019, which supports mobile wallets and other payment methods:
https://stripe.com/docs/payments/checkout
Learn how to upgrade to the new version:
https://stripe.com/docs/payments/checkout/migration
We load it from https://checkout.stripe.com/checkout.js
And no, we don't create Checkout Sessions on our front-end. That's the "new" mechanism.
The old version presented customers with a modal dialog that collected card information, and returned a token or a source to our website
Which we then sent to the server, and from there to Stripe in order to update the customer's payment method
So we "Deprecated" that flow quite a while ago but we won't actually shut it down. However, we are no longer updating it so we strongly recommend you update your integration to use server generated Checkout sessions
OK, got a question about server-generated checkout sessions
camel-checkout-legacy
In our app, we have a 14 day trial. When a customer first signs up, we create a subscription. Then we give them the ability to add a payment method.
In the current mechanism, it uses the old version of stripe checkout. Customer enters their card info into a modal, Stripe returns a token, we send it to the server and then make a call to Stripe to add it as the customer's source. Then, when the trial period ends, Stripe automatically charges that source.
How would this work in the new mechanism with Checkout Sessions? Do we use mode=setup when initially creating the checkout session?
@strange nova that works though we highly recommend having Checkout just create the Subscription with the trial for you
But that would require us to collect credit card info from the customer at the time of sign up, no?
Our newer version of Checkout supports making this optional when you use a trial https://stripe.com/docs/payments/checkout/free-trials
Hmm
In our current flow, when a new customer signs up, we first create a Stripe Customer, then take the returned customer_id and create a Subscription. We provide two plan_ids in this API call (our pricing is based on user seats and we have two types of users, and each plan_id represents one of them)
How would this work with Checkout Sessions?
You create a Checkout Session id with the relevant information, it's one call then send them to our hosted Checkout page (or render it embedded on your website). It really "just works".
Can we avoid sending them to the hosted/embedded checkout page during signup? Basically, we don't want to show any sort of purchase page during the initial flow
You could but then you basically keep your current flow mostly and don't use Checkout at all for that.
OK, so then we would use Checkout only for updating the customer's payment method during their trial
using mode=setup as I mentioned previously
Yes you could. Or use the CustomerPortal https://stripe.com/docs/customer-management both options work
With setup=mode, should the rendered Checkout form display any previously entered credit card info? So that the customer has a way of seeing what card they may currently have on file?
this seems to only cover payment and subscription modes
how does it work with setup mode?
for example, on the second day of their trial, customer fills in their payment info
then they come back a few days later
how do they know which card they previously entered?
You really should use the Customer Portal for this, not Checkout
no different from what you have today honestly since Legacy Checkout never showed previous card(s)
legacy checkout never showed previous version cards, but the stripe response to adding a source includes last4 and expiration so we store those in our db and then show them to the customer as a "this is the card you have on file" (we checked and verified that this doesn't break PCI rules)
Sure but you can do the same exact thing with the newer version of Checkout. A Customer will have a list of PaymentMethods attached to it, similar to the old approach: https://stripe.com/docs/api/payment_methods/list