#ranvir

1 messages · Page 1 of 1 (latest)

tough cedarBOT
ivory briar
#

Is it possible to show popup with 3DS as well?
Can you share the Payment Intent ID (pi_xxx) with 4000 0000 0000 3063, so that I can check why 3DS modal wasn't popped up? I'm able to see 3DS with test card, so it might be other reasons why 3DS wasn't shown.

Can we do pre-auth in Payment Elements say when we create the setup intent we show message to the customer that he will be charged X amount as pre-authorisation and will be refunded?
Setup Intent is just simply for saving the payment method information and doesn't perform any pre-auth. To use pre-auth, I'd recommend using Payment Intent with manual capture: https://stripe.com/docs/payments/place-a-hold-on-a-payment-method

You can also save the payment method details with setup_future_usage in the same Payment Intent request: https://stripe.com/docs/payments/save-during-payment

From your experience: are there any cards supporting 3DS or every bank network has moved to 3DS2?
This is up to the network and issuer to decide which version of 3DS to be performed, so there is still a chance of 3DS1. However, 3DS2 should be expected for most of the networks

dusky token
#

setup intent with payment elements as follows:

{
  "id": "seti_1NKWfjHMWAfgM7QzjgDLwRBN",
  "object": "setup_intent",
  "automatic_payment_methods": null,
  "cancellation_reason": null,
  "client_secret": "seti_1NKWfjHMWAfgM7QzjgDLwRBN_secret_O6kAZSPgfdoAZ609lUipTAk5H372jzr",
  "created": 1687137263,
  "description": null,
  "last_setup_error": null,
  "livemode": false,
  "next_action": null,
  "payment_method": "pm_1NKWg4HMWAfgM7QzU3U70yip",
  "payment_method_types": [
    "card"
  ],
  "status": "succeeded",
  "usage": "off_session"
}

and payment intent was triggered at the server pi_3NKWgBHMWAfgM7Qz0kvbQCi3

#

So our integration is we show Payment Elements to the customer with setup intent, and the same Payment Element form will be used for Bank Accounts as well.

One of the scenario is when the user is new we do a pre-authorisation of some amount on the credit card and then cancel that payment intent, just to verify that new customer. So this pre-authorisation happens after user confirm the setup intent.

Now with this particular card, the user confirms successfully, but then when we try to do pre-auth at the server, it fails. which makes bit of sense, but what are our other options?

ivory briar
#

Thanks for sharing! I'm checking what the expected behaviour of 4000 0000 0000 3063 should be.

#

For other test cards, do they work as expected?

dusky token
#

yes, for 3DS2 the user gets the popup as I shared in my first post.

ivory briar
#

For Setup Intent flow, these test cards should be used instead: https://stripe.com/docs/testing#authentication-and-setup

4000000000003063 is for Payment Intent flow only, so it will not work as expected with Setup Intent

Use test cards to validate your Stripe integration without moving real money. Test a variety of international scenarios, including successful and declined payments, card errors, disputes, and bank authentication. You can also test non-card payment methods.

dusky token
#

Thanks river, So will it encompass all the 3DS and 3DS2 cards? How can I test 3DS explicitly?

ivory briar
#

From https://stripe.com/docs/payments/3d-secure:

Major card brands no longer support 3D Secure 1. To continue using 3D Secure, adopt the Payment Intents API or Setup Intents API. This integration:

  • Leverages benefits from Dynamic 3D Secure.
  • Supports 3D Secure 2.
  • Complies with Strong Customer Authentication regulation in Europe.

With Payment Intent and Setup Intent, Stripe will take care of 3DS1 and 3DS2 for you. You shouldn't need to test them separately