#skp_mandate-ach
1 messages ยท Page 1 of 1 (latest)
๐ 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/1301586449954771007
๐ 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.
- skp96_api, 2 hours ago, 8 messages
Hello! can you please summarize your clear question overall? We don't have the bandwidth to go and read past threads to gather the state
skp_mandate-ach
Hey yeah, here is the original question I'm using the Stripe Payment element to save customer information for future payments. On the element, I notice that the mandate is provided by default. However, when I test using the test ACH account ending in 1113, I see the following on my Stripe logs "This PaymentIntent requires a mandate, but no existing mandate was found. Collect mandate acceptance from the customer and try again, providing acceptance data in the mandate_data parameter.". This error occurs at checkout . I am able to successfully add the ach payment method. This error is triggered for ACH account ending in 1113. I tested other failure accounts like 1116 and 2227, and this error was not thrown.
I am looking to get an understanding why this error would be throw for just one failure type ach account and not all failure type ach accounts
Gotcha. I think 1113 is here to simulate a failed payment where we know you're not allowed to debit them again so it revokes the Mandate that was created.
Overall the idea is that as a developer you need to properly account for Mandate revocation, track it and ensure you always have a valid on
Some failures will not lead to a Mandate being revoked, like insufficient funds for example
we document some of this in https://docs.stripe.com/payments/ach-direct-debit/accept-a-payment#resolving-disputes for example
I was just going to ask, thanks for sending that over. Is there a way for us to know the mandate was revoked?
yes you listen to mandate.updated Events
Is there any other way for us to see this? For example, on the invoice object? And where should we go from here once this happens; where the mandate has been revoked?
Not really. You are supposed to listen to mandate.updated, that's the right way and applies to all bank debit methods supporting Mandates too.
Alternatively you can look at the Mandate and check its status in the API if needed yes
So if the mandate is revoked, I notice that the invoice is voided. Can I retry the invoice? What do we do about this payment method if it's mandate has been revoked? Just get them to accept the mandate again?
Can you clarify what you mean "I notice the Invoice is voided"? Do you have a clear and specific example?
Is this because the Invoice payment failed so the Subscription was canceled which led to the Invoice being voided or is it something else?
Yes. After the checkout failed, and I checked the stripe logs to figure out what the error was. I looked at the status of the payment intent and the associated invoice. The payment intent was cancelled and the invoice was voided.
Lets ignore invoice. I'm more curious about what we should do about this payment method going forward
In that case the Mandate is revoked so you get the customer back on your website/app when they are ready to pay again. You either use the saved PaymentMethod pm_1234 and confirm the PaymentIntent with mandate_data, or collect Mandate information again with a SetupIntent, or you collect new payment method details from scratch and detach/delete the old bank account
Sorry there isn't "one answer", there are more 5 or 6 different options depending on what your exact end goal is
Would we also to expect the payment details to include some information about the mandate on the payment method object? We know we can use the payment method to retrieve the associated setup intent and from there grab the mandate id to check the status, but this would require additional API calls. If the account is closed shouldn't there be some information on the payment method that the account is closed? For example, for bank accounts: https://docs.stripe.com/api/payment_methods/object?shell=true&api=true#payment_method_object-us_bank_account-status_details-blocked
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Hi ๐
I'm stepping in as my colleague had to go.
Would we also to expect the payment details to include some information about the mandate on the payment method object?
Can you describe what object you are looking at in this scenario? Do you have an example object ID?
Yes I do here is the object ID pm_1QFxOOEEt3iAUBjafBMY2tYq
Also I want to point out that a mandate being revoked or invalidated is entirely different from an account being closed. The mandate is just the agreement between you and the bank to allow you to collect funds
It looks like the mandate for this payment method became inactive today. We emitted the mandate.updated webhook event my colleague referenced to inform you of it
https://dashboard.stripe.com/test/events/evt_1QFxTREEt3iAUBjanfAO5U1P