#Adrian Moreno

1 messages · Page 1 of 1 (latest)

wheat oxideBOT
tight stag
#

Hello 👋 Can you provide more details about your integration as well as the PaymentIntent IDs and such?

dire dune
#

I'm really noob with Stripe so I'm not sure if you are talking about the defaultPublishableKey

tight stag
#

no that's not it.
How exactly are you integrating Stripe?

dire dune
#

I'm doing it with the Stripe package through XCode

tight stag
#

Gotcha. Are you using Mobile PaymentElement / PaymentSheet?

dire dune
#

No, I'm using STPPaymentIntent

#

With the STPPaymentCardTextField

tight stag
#

If authentication is required by regulation such as Strong Customer Authentication, STPPaymentHandler presents view controllers using the STPAuthenticationContext passed in and walks the customer through that process.

Have you had a chance to look into this guide?
https://stripe.com/docs/payments/3d-secure?platform=ios

dire dune
#

Yes, but I don't understand exactly what I have to do with my actual code.
Right now I use configureSafariViewController when I a customer click on the Purchase button

#

I have also tried to use the test mode but all the payments are going to the live table

tight stag
#

You're probably using the wrong API key then

boreal solstice
#

I also don't really understand why a SafariViewController would be involved.
It sounds like you are trying to read a URL from the next_action of the PaymentIntent? That won't always work for 3DSv2.

#

you would just use STPPaymentHandler.confirmPayment and it handles everything including presenting 3D Secure.
Could you share the exact code you're using?

dire dune
#

let paymentHandler = STPPaymentHandler.shared()
paymentHandler.confirmPayment(
paymentIntentParams,
with: authContext
) { (status, _, _) in
switch status {
case .failed:
self.isLoading.value = false
self.stripeFailedCallback.fire()
case .canceled:
self.isLoading.value = false
self.stripeCancelledCallback.fire()
case .succeeded:
self.purchaseService()
@unknown default:
self.isLoading.value = false
self.stripeFailedCallback.fire()
}
}

boreal solstice
#

that small snippet seems fine(hard to say without sharing your full VC)

#

so what does "Stripe blocked the payments" mean, do you have a specific example of a PaymentIntent pi_xxx that is blocked, or what the error was?

dire dune
#

That's the error I have on the website:

boreal solstice
#

well, that's an entirely separate issue that you'd need to contact our support team about before you can take live payments and we can't help with here.

I thought you were asking about a technical problem in test mode? Do you have more details on that?

dire dune
#

I contacted the support team but they only told me this

#

Sorry for taking this long, it seems there is an update from UW under (someNumber), however this is not relayed yet to your account, since this was only a few minutes ago. We would need you to write in. Once you’ve implemented mitigations to combat card testing, we would be happy to evaluate its effectiveness.

#

And I'm not sure what I have to do, as I said, this is really new to me.
Sorry for the noob questions

boreal solstice
#

I'd suggest writing back to support to ask for help and to ask them to clarify what they mean