#julio - react native, cb, future payment
1 messages ยท Page 1 of 1 (latest)
take ur time ๐
are you referring to one off invoices in this case?
yeah, but its the same result if i have a subcription
and you're paying these programmatically (the invoices)
assuming you used the setup intent to prepare the payment method for off-session usage, you can indicate off-session payment when paying the invoice:
https://stripe.com/docs/api/invoices/pay#pay_invoice-off_session
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
note that the bank might still decline the request and ask you for authentication
the same is true for the first subscription payment, by default this should be done on-session, but if you have a saved payment method already it can be done off session too
future recurring invoices for subscriptions set to charge automatically are by default off session
yeah i'll give this. try and let you know if i'm stucked.
sounds good ๐
Hum, i'm still getting the This payment requires additional user action before it can be completed successfully error
i tested on off invoice
does that mean i have to disabled the rules in Radar rules ?
Not necessarily, but its possible if you have rules to trigger that
See, the problem is i don't even get what's the correct workflow, i've followed https://stripe.com/docs/payments/save-during-payment
and testing with 3ds cards, the payment bottom sheet in react native automatically redirects to a "3DS" authentication test page.
I thought this was handled and i don't understand what i'm supposed to do now
I'm catching up here give me a min
im in no rush ๐
@oblique ocean hello! ok so which part were you blocked on?
From what I caught up, you're creating and confirming PaymentIntents with PaymentSheet but still getting an error that they require further customer action??
a request ID would be great if you have one for a PaymentIntent that you confirmed
no i only use setupIntent
but this works the same way right ?
this is one setupintent https://dashboard.stripe.com/test/setup_intents/seti_1K8ovgFVEFVGD6LS2c0eek8K
i dunno if you can access them
I can looking
that SetupIntent succeeded immediately no?
you created it and confirmed it and passed "MOTO" on it
which would be expected, MOTO is a special payment flow
ah wayit
wait
you didn't make this request manually, you used the Dashboard
so what part are you blocked on re: PaymentSheet on RN ?
wait a minute, what is MOTO ?
Yeah, i guess , to test it, i created it directly on the dashboard
I'm not blocked with paymentSheet on RN
ignore the MOTO part, that was just a Dashboard thing, sorry!
so what was your question here then
and i don't understand what i'm supposed to do now
ok lemme reformulate
Step 1 )
I have a page on mobile
- there is a api call that creates a setup intent
- a payment sheet is displayed so a user can set up a card for future payment
- i tested with
4000000000003220which is a 3ds card test. I have the screen with 3ds authentication working - (Note that for the test, i don't use mobile app, only API Calls : so i create a setup intent, add a card , and confirm the setup intent , i guess this is what the payment sheet does) **How can i test 3ds authen with api calls ? **
In other part of the app, he can subscribe to a membership that will only start the first of next month.
- we create a stripe subscription and attach the card that he previously used
- when i use test_clock and advance the next month, invoice is in error saying : 3ds authentication needed
so answering your second question first
- when i use test_clock and advance the next month, invoice is in error saying : 3ds authentication needed
this is expected cause you're using the 3220 card. That always requires authentication
you need to use the 3155 card instead
How can i test 3ds authen with api calls ?
you cannot, you need manual human intervention to bypass the 3DS authentication page/modal
sure
there is so much rules about 3ds, how am i supposed to know which card my user will use , knowing that i'm france ?
you don't know and you don't need to know. You use PaymentSheet and that handles 3DS for you
you assume every payment will result in 3DS and maybe only 60% result in it. Stripe only knows if 3DS is required once we talk to the issuing bank, we can't fully know before hand
ok so even for recurring invoice using billing subscription, i have to anticipate and provide a notif push so user can authen 3ds ?
yep! you have to bring your customer back "on session" in case 3DS is required, Stripe will try to claim "off session exemptions" to reduce the "chance of 3DS" but ultimately, any payment can require 3SD