#mattjohnson - SCA Payments
1 messages · Page 1 of 1 (latest)
Hello! We do strongly recommend moving to Payment Intents and Setup Intents to fully support SCA. We have a migration guide for moving from Sources to our newer APIs here: https://stripe.com/docs/payments/payment-methods/transitioning
Okay. So one question I have, is can I only use one of those, or do I need to use both?
Not sure I understand. One of what?
Our current flow looks something like this:
- Add items to cart. This includes subscriptions and products from multiple vendors. Some of our vendors are international, which has led us to doing some of what we are doing.
- The user gets a total for everything they are purchasing and then has the option to enter a new card, or use one of the saved cards (Sources).
- We take their card and create a Source and tie it to a new or existing Customer.
- We add each item to an invoice with as an invoice line item.
- The invoice gets paid
- We receive the invoice.paid webhook, and from there we create stripe subscriptions for each item that was a subscription, giving a 100% discount for the first billing period since it was paid for in the invoice.
- At this step, we also loop through the invoice items and pay each vendor what we owe them, taking a percentage
So my question about PaymentIntents and SetupIntents is how does this work into this flow. If a user checks out with a subscription and a product in the same cart, do they need to pay us with a "PaymentIntent" and then we set up the sub with a SetupIntent, which might require the user to enter a card twice?
Invoices and Subscriptions already use Payment Intents and Setup Intents behind the scenes, so it sounds like you may only need to adjust how you collect card information (switch from Sources to Payment Methods) and handle how you confirm payments client-side (to support next actions/authentication/3D Secure on Payment and Setup Intents).
To clarify, the Invoice you're talking about is a Stripe Invoice, right? Or is it your own custom invoice?
Okay thank you. Yes it is a stripe invoice. This is definitely where my knowledge of stripe gets very hazy
I'm happy to help clarify things further if I can!
We do currently have support for client side next actions, and I can confirm that the 3DS test cards work on our test store. But we also currently are using Sources, so I'm not sure how this plays into it
I was under the impression that we were SCA compliant until we had the one case where it said it wasnt
A Source is the older API that defines a method of payment. Sources have been mostly replaced by Payment Methods: https://stripe.com/docs/payments/payment-methods
For backwards compatibility Sources can be used as if they were a Payment Method in most cases, although we do recommend switching to Payment Methods for new transactions/customers/etc.
If you can provide the ID of the transaction that didn't work as expected I can take a look.
Okay so it sounds like this might be a fairly painless process to transition to Payment Methods.
Based on what you've said so far, yeah, hopefully. I am curious about the one that failed and caused the notice though.
And I wish I could give you an ID but I could never find one. We got a support request saying they couldnt pay, it looks like their bank is declining the transaction, and we got a notice in the dashboard, but I could never find a failed payment. Not sure if I'm just looking in the wrong place or what
Do you have the Customer ID?
If you look here does the failed payment show up? https://dashboard.stripe.com/payments?status[]=failed
No it doesnt show up there. I do see other failed payments, but not that one
Maybe there is a different issue causing that one card to not work. I just cant think of what it would be
Yeah, it's hard to say without seeing the transaction... 🤔
It might be listed as an incomplete payment depending on what exactly happened. Maybe if you add a date filter to this can you find it? https://dashboard.stripe.com/payments?status[]=incomplete
Looking...
This was his request to us:
I’m trying to purchase [Product], but can’t seem to complete the checkout.
Using the saved card, the page just refreshes without any indication.
When trying a new card, I get the following error message:
“We were unable to complete your transaction.
Please fill out all the required fields.
Please try a different form of payment or call the number on the back of your card for details. You may also email [email] if you need assistance completing your purchase.”
I am 100% sure I’ve filled in all the fields.
Could it be a problem with using a Singapore-issued credit card on a Italian mobile internet?
That Invoice was created by your integration, but auto_advance was set to false and the Invoice never left draft status, meaning it was never possible to pay it: https://dashboard.stripe.com/logs/req_xZy62MHBnm3BpB
As far as I can tell this Invoice wouldn't be related to the SCA banner you saw in the Dashboard.
However, if something failed to finalize this Invoice that could possibly have caused another issue?
Okay. I'm wondering if this specific issue is JS related then? Like it never even got to the next step and attempted to pay the invoice
Looks like this was his attempt at adding a new card, but something happened before it could get used
req_393OQfydYJpejP
Possibly. It's hard to say based on just the Invoice; I'm only seeing that one single creation request coming to us.
Yeah, that Token was never used for anything as far as I can tell.
Looks like there was a second attempt at adding the card:
req_X0BdmHa9yjDeqZ
But again, dont think that was used either
That one hasn't been used either.
Looking through your recent request logs nothing jumps out as me as something that would have caused the 3D Secure/SCA flag. You're using the SKUs API, which is also pretty old, but I don't think that would cause issues with payments based on what I'm seeing.
Okay thanks for taking a look. I'm a little more confused than I was when I started honestly. I thought this was SCA related and changing source to payment method would solve this problem...
That doesn't appear to be the case based on the Invoice and requests you showed me. I recommend you write in to support and ask them why the SCA banner appeared on your account: https://support.stripe.com/contact
Okay thanks for the suggestion, I'll try that
Happy to help! If you need anything else let us know!