#heisen3rp-3ds
1 messages ยท Page 1 of 1 (latest)
hi! do you have an example PaymentIntent pi_xxx you're seeing this on so I can take a look?
But client says that no action is required,
and can you elaborate on that part? what exact code/data indicates that to you?
pi_3K4MSXJ7hRt0Zipd1jR1VN8e
IntegrationError: handleCardAction: The PaymentIntent supplied does not require manual server-side confirmation. Please use confirmCardPayment instead to complete the payment.
also tried using confirmCardPayment but it did not work, since there is no card element rendered for saved payment methods
ohhh, i think i got it ๐
don't have to add the card element, now its working ๐
well you shouldn't need a card element if charging a saved card off-session
i.e. just https://stripe.com/docs/js/payment_intents/confirm_card_payment#stripe_confirm_card_payment-attached should work, you can call it without passing a CardElement(if you pass a CardElement that is probably a mistake, since you end up charging a new card entered into that, and not the saved one).
oh wait I think that's what you said, no worries
@barren jungle we are using the confirmation_method = 'automatic'. Is there a best practice for this?
Should we switch to manual confirmation?
Or check again from client side -> server call if there are next actions required?
Btw, creating the payment intent with automatic mode does not return the next_action for 3d secure. Only after it's confirmed. That's why im wondering
you should generally always use automatic mode. manual is for https://stripe.com/docs/payments/accept-a-payment-synchronously which while it does work for cards, it's mainly just for legacy integrations to migrate over
Btw, creating the payment intent with automatic mode does not return the next_action for 3d secure
yep because you generally handle that all on the client side. You create the PaymentIntent, return the client_secret to the frontend, then callconfirmCardPaymentwith a CardElement, which accepts the card, processes the payment, handles 3D Secure if required, and fires a webhook for your backend to reconcile
ok, we do that already. but at this point we do not know if its required to confirm the card payment again. Or it could also be a sepa_debit payment ๐คทโโ๏ธ
tried to just confirm it anyway with the different payment methods/ testing card numbers. And it just worked ๐
well confirmation_method=manual doesn't work with SEPA(it's only for cards) so it's a bit of a moot point!
and you only have to confirm again on the backend in the manual flow(the https://stripe.com/docs/payments/accept-a-payment-synchronously flow linked above).
heisen3rp-3ds
yup. switched back to automatic mode (server side).
added client side confirmation (stripe.confirmCardPayment). Even works if its a sepa_debit, or at least it skips without any warnings/errors
thank you very much ๐
You should be using confirmSepaDebitPayment to ensure the correct redirects are handled
https://stripe.com/docs/js/payment_intents/confirm_sepa_debit_payment
Complete reference documentation for the Stripe JavaScript SDK.