#alec_58461

1 messages ยท Page 1 of 1 (latest)

drowsy lynxBOT
shut pine
#

Most of the time this is managed behind the scenes for you. What exactly are you encountering and what are you trying to do what does behave like you expect it to?

drowsy lynxBOT
torn urchin
#

My customer has set up their clients on Stripe, so they all have customer IDs and confirmed payment sources, mostly ACH. Previously she was manually charging the customers using the Dashboard. I've created code to charge the customer via the API. What is a little strange is the API is working for some customers and not for others, and I can't see what is different about the cases that work versus those that fail.

#

This is the error I'm getting, but not consistently: 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.

winged iron
#

๐Ÿ‘‹ taking over, give me a few to catch up

#

Can you share an example request ID?

torn urchin
#

not exactly sure what that is. maybe this ba_1K2JoUB71aBJwU42wgLNWMfh

torn urchin
#

that's an id of a payment intent that came back as incomplete

winged iron
#

that looks like a bank account object instead

torn urchin
#

maybe this req_Z2wPYF3WFX2dzO

#

this one worked req_2M1piYD64L75DZ

winged iron
#

I believe this is due to the difference between the both payment method objects and how they were setup

Like for the one that worked, you created a SetupIntent and correctly setup the bank account. It created pm_xxx object
https://dashboard.stripe.com/logs/req_s3CKFQLQz0BWR0

The one that didn't work, is a ba_xxx object likely setup directly via the dashboard (the request is quite old, so I can't access it).

ACH debit requires a mandate to be present when charging the customer, which was successfully setup w/ SetupIntent flow.

But with the merchant manually adding the other bank account, customer never saw a mandate agreement hence no mandate on file

torn urchin
#

I've never done a setup via the API for this client, so everything except a few charges has been done by the client via the dashboard. I'm wondering if maybe the older mandates have expired.

#

I think I'll ask her to do a manual payment like she was doing before and see if that works.

#

Right now she is setting up the customers using the dashboard and then chasing them for the micro deposits.

winged iron
#

Exactly, so my understanding is that the PaymentMethods are set up differently when you input it via the dashboard versus using an API

#

Specifically, SetupIntents API

torn urchin
#

For other clients I'm doing the whole micro payemtns thing, albeit with the older API. I can figure that out for this client if I have to, but was wondering why the existing ones are not working.

#

Do you think that it will turn out that she can make manual payments on this older payment methods and we won't be able to use the API for those older methods unless we re-do the mandates?

#

... and can we set up the mandates using the dashboard or will we want to do it via the API?

winged iron
#

You'd want to set up the mandates using the APIs. As I mentioned earlier, I think we set them up differently when you save via dashboard vs the API

torn urchin
#

ugh. okay

#

thanks

#

still a little weird that some of the ones set up via the dashboard are working and others are not

winged iron
#

When you say "some", you only shared two examples ๐Ÿ˜…
It is entirely possible that there's some pattern. If you have more examples, I give it a quick look.

For a deeper investigation, you might want to write in via our support page
https://support.stripe.com/?contact=true

They're better equipped to conduct a deeper investigation into this and can help with alternatives

torn urchin
#

here are the recent fails: req_Z2wPYF3WFX2dzO req_p54r3qsEEdqbhX req_Ojwlq5j8MzFqga req_5i5WFBJbcxbcz7

#

here are some recent successes: req_2M1piYD64L75DZ req_bnhmhWD8wY1FUZ req_Wf4M5XqUCnj5tm

drowsy lynxBOT
mild otter
#

๐Ÿ‘‹ sorry for the delay! Stepping in for my teammate since they need to run