#cetincem
1 messages · Page 1 of 1 (latest)
👋 happy to help
would you mind sharing the request ID?
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
that's an event ID not a request ID
request IDs look like req_xxx
or is this error on the mobile side?
yes it is on the mobile side. I am using stripe react native package.
ok in that case are you passing the seti_xxxx (the ID of the Setup Intent) or the seti_xxx_secret_yyy?
seti_xxx_secret_yyy
would you mind double checking? could you please log the value you're passing?
yes I checked it many times I have been trying to solve this is issue for a week now.
I also checked the source code of stripe's react native sdk.
handleNextAction: (paymentIntentClientSecret: string, returnURL?: string | undefined) => Promise<HandleNextActionResult>;
it says paymentIntentClient secret but I am trying to handle next action of the setup intent.
yes
are you using PaymentSheet?
No I am using previously added payment method
why are you using a previously added PM with a SetupIntent?
I'm not sure I understand the use case
It works correctly when I test it with a credit card that doesn't require 3ds.
Shouldn't I add PM while creating setup intent?
no, you need to use PaymentSheet to collect the PM
But I don't want customers reenter credit card information everytime before creating a booking.
in that case you use the PM with a PaymentIntent
not a SetupIntent
and if they need to reauthenticate with 3DS then you would use handleNextAction
let me explain my use case. Our users can park their cars with our app. When a user starts parking we create a setup intent at beginning. When user decides to leave the park we calculate the cost and charge the user.
Our flow works correctly with previously added payment methods but when user uses a credit card that requires 3ds, setup intent creation is not completed and in stripe dashboard it says setup intent requires you to take action in order to complete setup.
but how are you passing the payment info to the Setup Intent in the first place?
let me show the code block
Okay while confirming the setup intent I can pass the payment method id.
const confirmParams: CardParams = {
paymentMethodType: 'Card',
paymentMethodData: {
paymentMethodId: defaultPaymentOption.paymentMethodId,
},
};
const result: ConfirmSetupIntentResult = await confirmSetupIntent(
response.setupIntent.clientSecret,
confirmParams
);
if you already have a PaymentMethod you don't need to create a new SetupIntent
you can use directly with the PaymentIntent
Oh okay. I didn't know that!
So at the end of parking, can I use payment method to create payment intent?
yes exactly
Okay thanks a lot. I will try that way.