#lozzaj
1 messages · Page 1 of 1 (latest)
Hi there, you should test with a test card in test mode, you shouldn't test in live mode.
Oh sorry
🙂
So... when I test in test mode... a window pops up (3d secure) and just says it will go to a bank and gives two options to approve or decline
But it doesn't show what value is being passed to the bank
No problem
So the bug can't be tested in test mode
Is there something I can look at in the stripe panel to tell me what value is being asked for?
What's the problem that you want to reproduce?
The value of the transaction is £50
When it passes to the bank for authorisation, the bank (every bank) asks for authorisation for a payment of £0
Plus it ALWAYS goes to the bank.. when it shouldn't
its like I am setting up a subscription
but I want a single payment
I am using Laravel/Cashier so I am not sure what to change... I think I maybe need to find the code that sets up the Intent but I don't know what field to look for
OK, the card issuer and your radar rules decide whether a 3DS is required for a payment, so your integration should handle it when that happens.
Do you know how to handle 3DS ?
Well, if I use your implementation (can't remember what it is called but when control is passed to your servers for the interface) it doesn't ask for 3d secure
But when I take payment on my server using cashier it does
So it is definitely a problem with the php rather than the dashboard settings
No, there's no way to "turn off" 3DS. Your integration should always hanlde 3DS when needed
But the problem is... my implementation always wants 3d secure (even for £0.50) but your implementation doesn't
So.. mine must be asking for the wrong type of payment
even though the end result is the same when I charge
OK, so you want to enforce 3DS, am I right?
No
I would prefer it didn't ask at all when it isn't necessary
The problem is the amount is wrong
£0
Hmm, do you have the PaymentIntent ID so that I can take a look?
Yes.. 1 sec..
pi_3NaEAAGNVbEChRLz1FRswZYw
This one was hosted by you, so didn't ask for 3d secure: pi_3NaNZuGNVbEChRLz1xyidjIf
I don't see a 3DS was requested in this payment, the payment suceeded immediately
pi_3NaMQkGNVbEChRLz1VIGpazg
It definitely asks for 3d secure but maybe it is a "pre auth" rather than on the actual transaction?
I can only see that on the "new payment.... for £50 was created"
I am pretty sure that EVERY transaction is asking for 3D secure which is why I question whether somehow I am going through the process of "subscription" rather than single payment
No it didn't. I'd expect a payment_intent.require_action event when 3DS is requested, but I don't see this event.
Can I put on a new transaction so I can send you screenshots?
I don't need a screenshot, I just need a PaymentIntent ID.
Give me 1 minute please...
sure thing
pi_3NaZNYGNVbEChRLz07UnkC7y
and here is what happened
(phone)
I messed up the amount charged.. should be £2 but I charged 200.. fixed that
Thanks for the waiting. The payment method that you specified in this PaymentIntent is from a SetupIntent that's not yet suceeded, and that's why it triggers the 3DS page with amount = 0.
You should only use the payment method when the setupIntent status is succeeded. Read https://stripe.com/docs/payments/save-and-reuse for more.
I shouldn't be using setupintent at all should I for a single payment?
You don't need to.
So what is the simplest process to take a single payment once?
Correction, the setupIntent was already succeeded when you use the paymentMethod to create the PaymentIntent. I was under the impression that the setupIntent wasn't succeeded.
Back to you queestion, you can just follow this guide https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=elements for one-time payment