#irisslee95
1 messages · Page 1 of 1 (latest)
If you want to have a test card that always performs authentication, 4000002760003184 should be used
Hi @main cedar . I used that card for the first payment. Then I continued to use that card to pay again, it asked for authentication again.
Can you share the request ID (req_xxx) where it asked for authentication again?
The setup_future_usage set to off_session
For the request that uses saved payment method for payment, you should use off_session: true: https://stripe.com/docs/payments/save-during-payment?platform=web#charge-saved-payment-method
setup_future_usage parameter is to tell use to save the payment
req_jQgpmTWVUYxMIM the first payment
req_oIYJvhBkXfLBcB -> confirm for first payment
req_iB6HippjyiJFlK -> the second payment
4000000000003220 is the 3DS test card that 3DS will be performed when customer is present
req_jQgpmTWVUYxMIM - first payment: 3DS was expected because this was the first time this card was used and 3DS would be performed with customer was present while entering the card details
req_iB6HippjyiJFlK - second payment: You didn't specify it was an off_session: true payment that the customer was not present. You should include off_session: true and confirm: true as described here: https://stripe.com/docs/payments/save-during-payment?platform=web#charge-saved-payment-method
So, should I use off_session: true for the first or the second payment
You should only use it when the customer is not present, usually the second payment onwards
Yes. Let me try
When I pass the off_session to the paymentIntent it will error
`
authentication_required
The card returned a decline code of authentication_required.
The card was declined as the transaction requires authentication.
The customer should try again and authenticate their card when prompted during the transaction. If the card issuer returns this decline code on an authenticated transaction, the customer may need to contact their card issuer for more information.
Please visit the payment page for further details.
To learn more about why some payments fail and what you can do to decrease your decline rate visit our guide on understanding declines and failed payments.
`
@main cedar
Yup, this is expected. In live mode, the card bank might require 3DS even if you tell the bank that the customer is not around to perform 3DS
This is req ID: req_xOQ5reW1MJdmiD
Your request is now set correctly
This is an expected behaviour and live mode can have such situation happens as well.
If you wish to test the flow where 3DS is required for the first payment, and no 3DS for second payment on saved payment method, you may use 4000002500003155
https://stripe.com/docs/testing#authentication-and-setup
4000002500003155 - This card requires authentication for off-session payments unless you set it up for future payments. After you set it up, off-session payments no longer require authentication.
Thanks for your support. Have you planned to support Southeast Asian countries like Vietnam?
No problem! For the country availability in the future plan, I'd recommend reaching out to Support https://support.stripe.com/contact
@main cedar So about the problem of the card 400000000003220 should be how to handle. Ask the customer to re-verify. And does the authentication request come from you or the card issuer?
In live mode, Stripe will prompt the customer to perform 3DS and it will return requires_action state. You may refer to 4000002760003184 for this flow
400000000003220 is just for testing purpose with one-time payment; it's not meant to be re-used
Thank you. Have a great day @main cedar !