#richie138

1 messages · Page 1 of 1 (latest)

harsh waveBOT
terse sonnet
#

You mentioned "checkout.js". What is that? Can you point to some docs about it?

livid pilot
#

Oh, that's what someone else told me it is

#

Here's some code from my signup page if that helps

#
    <form action="/create_subscription.php?plan=growbot_monthly_subscription_699" method="POST" target="_blank">
                <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="pk_live_yhGGJ1Sd5b79vX5zUxs2sBu2" data-image="icon128.png" data-name="Growbot" data-description="Growbot Monthly Subscription" data-amount="699" data-label="$6.99 monthly">
                </script>
                <input type="hidden" value="" name="guid" />
            </form>
            <form action="/create_subscription.php?plan=growbot_yearly_subscription_6999" method="POST" target="_blank">
                <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="pk_live_yhGGJ1Sd5b79vX5zUxs2sBu2" data-image="icon128.png" data-name="Growbot" data-description="Growbot Yearly Subscription" data-amount="6999" data-label="$69.99 yearly">
                </script>
                <input type="hidden" value="" name="guid" />
            </form>
terse sonnet
#

That looks like some code that calls regular Stripe Checkout, along with some backend functions. That should support 3DS just fine.

livid pilot
#

When you say it should support it just fine, what does that mean?

#

Because my users don't see any popup

#

The user Pompey was helping me, but the the thread got closed

terse sonnet
#

Ahhhh, okay. So it sounds like you're using some legacy version of Checkout called checkout.js. Apologies, I don't have a lot of state on that. To answer your question through:

Looking at this page provided in the error message, https://stripe.com/docs/billing/subscriptions/overview#requires-action, I am wondering if I can build something easily or if there's a bridge so I can authenticate and complete these payments and subscriptions.
For this, I don't think there is an easy bridge, since you essentially need to listen for a webhook that tells you when a Subscription requires 3DS authentication, then bring your customer back into the payment flow to authenticate. It would likely be easier to just move to regular Checkout, but I'm not sure how feasible that is for you

Learn how subscriptions work within Stripe.

livid pilot
#

What do you mean when you say bring them back into the payment flow?

terse sonnet
#

Essentially they have entered their payment details and are redirected to some page (presumably), then you get the webhook indicating that 3DS is required, so you have to somehow notify them that they need to go back to some place in your application to complete authentication.

livid pilot
#

Hmm

terse sonnet
#

I supposed you could instead add a Loading... message or a spinner that forces them to remain on the page while you check to see if 3DS is needed. There might be some other novel workaround, but I'm struggling to think of one.

livid pilot
#

It's already displaying an error message to them that 3DS is needed

#

So it already knows, just wondering how to get a popup

terse sonnet
#

Ahhhh, okay. Interesting. Apologies, I'm not very familiar with how that legacy flow is intended to work. Let me see if I can find someone that is

livid pilot
#

The error that comes back is "Error: Payment for this subscription requires additional user action before it can be completed successfully.Payment can be completed using the Paymentintent associated with 'subscription.latest invoice......"

#

I'm also using stripe-php

#

Or php-stripe, whichever you guys call it lol

terse sonnet
#

Okay, so it sounds like (from what I'm discussing with my colleagues) you simply cannot gracefully handle 3DS with this legacy flow and your best bet is going to be to create a new payment flow. As mentioned earlier by @sleek wren, the new version of Checkout is really really easy to use compared to the one you've been using, so that might be a good place to start

livid pilot
#

Hm

#

Can you send me a link to the new version plz?

terse sonnet
livid pilot
#

Alright thanks, not super thrilled about moving to a new version, since I have some custom logic around the IDs and some other things

#

But given that 3DS seems to be getting more prevalent I might have to

terse sonnet
#

Yeah I can understand that. I hate giving that answer, but hopefully this will be an effective way of mitigating any further technical debt that arises from having an outdated workflow.

As always, we're here to help you get up and running, so if you get blocked please do come back and let us help

livid pilot
#

Thank you