#skp_mandate-ach

1 messages ยท Page 1 of 1 (latest)

fickle pierBOT
#

๐Ÿ‘‹ 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.

lyric gust
#

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

kind wasp
#

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

lyric gust
#

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

kind wasp
#

I was just going to ask, thanks for sending that over. Is there a way for us to know the mandate was revoked?

lyric gust
#

yes you listen to mandate.updated Events

kind wasp
#

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?

lyric gust
#

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

kind wasp
#

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?

lyric gust
#

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?

kind wasp
#

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

lyric gust
#

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

fickle pierBOT
kind wasp
#

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

vocal summit
#

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?

kind wasp
#

Yes I do here is the object ID pm_1QFxOOEEt3iAUBjafBMY2tYq

vocal summit
#

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