#sreekanth_subscription-invoice-payment-3ds
1 messages ยท Page 1 of 1 (latest)
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.
- sreekanth_api, 5 days ago, 8 messages
๐ 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/1240246759364755506
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
hi
we integrated stripe subscription but for some users it is showing "This customer has initiated payment, but the funds have not been confirmed yet. This can take up to 4 business days."
Can you share the sub_xxx ID with me
sub_1PGeabJKyfLg4PX0qwZZXX2m
Looks like 3DS/auth is required for the payment. You need to handle that flow with Stripe.js so your customer can auth the payment: https://docs.stripe.com/billing/subscriptions/build-subscriptions?platform=web&ui=elements#complete-payment
okay
it will ask only once right when user try to pay first time ?
suppose if he subscribed for monthly payment for one year... this authentication will ask only once right ?
We optimise to reduce auth for subsequent recurring payments yes. But banks can still request auth for those too so your integration needs to handle that
sreekanth_subscription-invoice-payment-3ds
how can i handle subsequent payments if it need authentication from bank?
any stripe doc ?
Well you can enable our automatic emails: https://docs.stripe.com/billing/revenue-recovery/customer-emails#failed-payment-notifications
Alternatively you'd implement a flow to bring the customer back on-session and retry the payment. Listen for invoice.payment_failed events, send them and email or something that opens a pagew in your app that collects card details and then call confirmCardPayment using the intent from the invoice event
okay thanks... let me check this
can i send email based on payment_intent.action_required ?
using stripe automatic email
Well invoice.payment_failed will fire then payment_intent.action_required fires so it's redundant really
How would users know the reason for a failed payment?
You can expand the payment_intent field in the invoice.payment_failed event and look at https://docs.stripe.com/api/payment_intents/object#payment_intent_object-last_payment_error
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
In the provided URL, in which section should I enable the notification?
Will the entire payment be handled by Stripe through this email?
and is it possible to disable bank authentication ?
Yes, it'll send them a URL to a page to retry the payment
No
okay
After a successful payment, will the webhook trigger?
Which webhook?
In the backend, we'll listen for webhook notifications from Stripe to update the payment status in our database
Yes, invoice.paid etc will fire assuming payment is successful
yes, invoice.paid is more accurate(for example handling invoices that are paid "out of band")
you can click the ๐๏ธ icon in the Dashboard page from your screenshot, to see what the mail looks like
i need to test this integration that's why...
i need to test full flow for test 3dsecure card.... is it possible ?
don't think so, that's why I suggested the ๐๏ธ
sorry, what's the question/issue exactly?
earlier i asked what is the reason for the status "This customer has initiated payment, but the funds have not been confirmed yet. This can take up to 4 business days.
they said it was due to 3dsecure authentication...
can you check above response for that ...
sorry I'm just unclear why you ask me and paste all that JSON when you can check things yourself
you can look at the status of the Invoice, and of the PaymentIntent, for example.
that payment requires 3D Secure yes. https://stripe.com/docs/billing/subscriptions/build-subscriptions?ui=elements is the guide that covers all the steps and is what you would be using.
As you can see in the JSON above, it is showing 'status: incomplete.' How can I be sure that the issue is due to 3D Secure?
latest_invoice->payment_intent->status == "requires_action
this is from the above json ?
no, because you're not using expand so those fields are not returned. But they are present and if you make API calls to retrieve the Invoice or the PaymentIntent you'll see that.
again, all of this is explained in great detail in https://stripe.com/docs/billing/subscriptions/build-subscriptions?ui=elements and that is the guide you need to follow and implement to integrate Subscriptions on Stripe in a way that supports 3D Secure.
When a user makes a one-time payment using the same 3D Secure card, it does not ask for authentication. It only asks for authentication when I try to create a subscription for the same card in an off-session... any reason ?