#matt11-paymentintent
1 messages ยท Page 1 of 1 (latest)
Ok thanks anyway. I'm facing an issue with this testing customer: cus_Lyjr3rE8msdCbd
I did what your colleagues told me in the previous thread.
The first payment created with
confirm: true, setup_future_usage: 'off_session'
and the next payments with confirm:true and off_session:true
as you can see the first 897โฌ payment was completed with 3ds page but the 2nd one (with confirm:true and off_session:true) is in 'requires_payment_method' status and I don't understand why
That's test mode right? Which Test card are you using?
yes, test mode, i used this 4000000000003220
that card requires 3DS2 all the time
yep but why is the PI in required_payment_method status instead of requires_actions?
ah
let me check
that's because of off_session: true
in that world the customer is not on session so we default to a decline not to escalate to the 3DS flow
at that point you would email the customer and get them back on session. In that world they would enter a new card (though you could use the already saved one)
I agree we could move to next_action but it'd be no different, you'd still have to re-confirm client-side anyways
this is worst than before ๐ at least now I have a lot of PI in requires_actions
I thought that off_session: true helped me avoiding lot of unnecessary 3ds but I see that this is not the case
not really
off_session: true means that the customer is not on session. You are charging them "out of band"
In that world they can't do 3DS, so we claim an exemption with the bank from a previous set up you did (your first PaymentIntent)
If the customer is on session, never pass off_session: true
I don't understand why stripe tells me that the 897 payment setup the card. for future usage
since now I cannot do another payment off-session
you can
how?
you are just using a test card that is specifically built to not work that way
oh ok
Use 4000002500003155 that will work
that test card you use is IMO horrible :p
it's here to always require 3DS. That helps developers always see 3DS no matter what they did with that card before
but then it confuses them when they want the real behaviour they would get in production
there're so many doc pages that is very difficult to find everything ๐
I know
so, let's assume we are in production mode and I have a card setup fo future off-session payment by customer first payment.
If I create a PI from a recurring job with off_session: true and confirm: true will I get a requires_actions status or succeeded?
Hi Matt! In production, that would depend on the card issuer. The issuer may always choose to decline for a variety of reasons, or decide to require 3DS. If they decline or decide to require 3DS, you'll get a requires_payment_method status like you saw with the first test card.
yep but if the card is setup for future off_session payment does it means that the card issuer won't ask for 3ds?
Usually, yes. But some issuers may still ask for 3DS. This is uncommon, though.
okok but I think that statistically the 3ds requests will be less
Yes, exactly
okok perfect! thanks @lethal pine @oblique warren
@quiet glade fun fact, @lethal pine is the engineer who helped design and build the PaymentIntents API in the first place
nice!! I tell you my fun fact too ๐
my client asked me to replicate stripe's subscriptions logic into the application by recurring jobs and setup_intents/payment_intents
so I really struggling to understand everything
but it is really hard to replicate something like Stripe logic by my own ๐
I think that at the end of this, If I will be able to do it, I can apply for a position in Stripe too ๐