Есть ли способ проверки 3D Secure на клиенте до запроса к серверу при использовании stripe.createPaymentMethod ()?
Подход для обработки Для аутентификации 3D Secure на клиенте необходимо использовать методы confirmCardPayment
[0] или handleCardAction
[1] в Stripe. js. Если у вас нет конкретных c потребностей, вы, скорее всего, захотите использовать confirmCardPayment
и следовать этому руководству здесь:
https://stripe.com/docs/payments/accept-a-payment
Я должен отметить, что оба эти метода работают только для обработки одного платежа за раз. В вашем случае у вас есть несколько способов оплаты, поэтому вам придется вызывать один из методов один раз за транзакцию. То есть, если у вас есть три способа оплаты, вам нужно будет позвонить confirmCardPayment
три раза, повторив последний шаг в руководстве [2] также много раз.
Это означает, что это технически возможно (но маловероятно), что вашим пользователям, возможно, придется проходить аутентификацию несколько раз для обработки каждого из своих платежей.
К сожалению, для этого действительно нет обходных путей. Даже если вам нужно было настроить карточку пользователя с помощью SetupIntents [3] и позднее списать ее с сеанса, существует риск, что вам потребуется вернуть пользователя в сеанс для аутентификации каждого отдельного платежного намерения.
При этом большинство ваших пользователей, вероятно, не столкнутся со сценарием, в котором им нужно будет проходить аутентификацию несколько раз подряд.
Единственным другим вариантом будет создание единого платежного намерения, покрывающего полную стоимость вашего продукта / услуги, что позволит вам позвонить confirmCardPayment
только один раз.
[0] https://stripe.com/docs/js/payment_intents/confirm_card_payment
[1] https://stripe.com/docs/js/payment_intents/handle_card_action
[2] https://stripe.com/docs/payments/accept-a-payment#web -платежный платеж
[3] https://stripe.com/docs/payments/save-and-reuse