#ndbtss_api

1 messages · Page 1 of 1 (latest)

carmine cargoBOT
#

đź‘‹ Welcome to your new thread!

⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.

⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.

đź”— This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1319231386812682271

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.

little barn
#

Sure, that seems expected. The bank/issuer requested authentication for the payment so the customer needs to complete the challenge flow

#

In any case, the intent is in requires_payment_method state as you've not provided any payment information

#

You need to collect payment info from the customer and confirm the intent

chilly aurora
#

Previously, I had already collected the payment method, and the customer had validated it by registering it via a setup_intent. I have indeed provided an existing payment method, which was saved earlier, with the off_session parameter after receiving the customer’s confirmation.

Despite this, I am still encountering the issue where the payment is failing and requiring authentication.

little barn
#

I have indeed provided an existing payment method, which was saved earlier, with the off_session parameter after receiving the customer’s confirmation.
I'm afraid I don't see the payment_method field set on that parameter. If you've collected details previously, you need to provide them on intent creation, like this: https://docs.stripe.com/payments/save-and-reuse?platform=web&ui=stripe-hosted#charge-saved-payment-method

Learn how to save payment details and charge your customers later.

#

Despite this, I am still encountering the issue where the payment is failing and requiring authentication.
I don't see an intent where authentication was requested

chilly aurora
#

i didnt sent the entire code

little barn
#

You don't need to I'm looking at the Payment Intent you shared: pi_3QWbclHagJ8u1cfk18KwAaWj

chilly aurora
#

PaymentIntent paymentIntent = null;
PaymentIntentCreateParams params =
PaymentIntentCreateParams.builder()
.setCustomer(method.getCustomerId())
.setPaymentMethod(method.getDefaultPaymentMethodId())
.setAmount(netToPay.multiply(BigDecimal.valueOf(100)).longValue())
.setCurrency(PaymentProcessorEnum.STRIPE.getCurrency())
.putMetadata("subscriptionId", String.valueOf(subscriptionId))
.putMetadata("appPackId", appPackId != null ? String.valueOf(appPackId) : "")
.build();

                    paymentIntent = PaymentIntent.create(params, requestOptions);
chilly aurora
little barn
chilly aurora
#

just a minute

#

a will send you the good pi

#

pi_3QXau5HagJ8u1cfk0sMn2oFm

kind tangle
#

I am following, having similar kind of issue related to subscription.

little barn
little barn
# chilly aurora pi_3QXau5HagJ8u1cfk0sMn2oFm

To be clear, this can happen. Even if the card was previously saved/setup and we apply those exemptions, the bank still can request 3DS/auth for payments. Your integration needs to be able to handle that

#

That's all this looks like

chilly aurora
#

how can i do? i cant make payment from backend so???

little barn
#

For pi_3QXau5HagJ8u1cfk0sMn2oFm is the customer off-session?

#

Or are they online/in your checkout flow?

chilly aurora
#

yes, off_session

little barn
#

Because if they're off-session you didn't flag it as such (off_session: true). That will also reduce chances of auth/3DS as we can request exemptions

little barn
chilly aurora
#

but why in dashboard i can make a payment to a customer, even if he's off session , and in my code, it doesnt work?

little barn
#

Because the Dashboard works separately. We apply those exemptions automatically

#

You need to explicitly pass that off_session: true param on your intent creation to denote that it is MIT and the customer is offline

#

It's noted in this guide: https://docs.stripe.com/payments/save-and-reuse?platform=web&ui=stripe-hosted#charge-saved-payment-method

Set off_session to true to indicate that the customer isn’t in your checkout flow during a payment attempt and can’t fulfill an authentication request made by a partner, such as a card issuer, bank, or other payment institution. If, during your checkout flow, a partner requests authentication, Stripe requests exemptions using customer information from a previous on-session transaction. If the conditions for exemption aren’t met, the PaymentIntent might throw an error.

Learn how to save payment details and charge your customers later.

chilly aurora
#

ok thanks..

#

but it will always work?

little barn
#

What do you mean by 'always work'?

chilly aurora
#

if i add off_session to true in payment intent, and the payment method can be used off session because my customer accepted that, payments off session wil always pass?

little barn
#

Not always no, as I previously stated and noted above – bank/issue may decline our exemption request and still require auth in which case the API request would error

chilly aurora
#

can i make a special request to Stripe, with all my companies details, and confidentiality rules etc, to have no more issues with banks?

#

its very important to me

little barn
#

Nope

chilly aurora
#

my customers dont want to validate their payments each time it an automatic one

#

it blocks them their systems because the payment cant pass
they want to have an automatic payment

little barn
#

Yep, I understand that. But ultimately nothing Stripe can do. It is the bank/issuer that determine whether they want to authenticate payments, not us. We just facilitate the auth challenge flow