#alec_58461
1 messages ยท Page 1 of 1 (latest)
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?
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.
not exactly sure what that is. maybe this ba_1K2JoUB71aBJwU42wgLNWMfh
that's an id of a payment intent that came back as incomplete
that looks like a bank account object instead
It looks like the most recent payment that succeeded was on August 28th via dashboard
https://dashboard.stripe.com/logs/req_Pk1riialj6UFuo
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
We have a guide here on how you can collect a mandate
https://stripe.com/docs/payments/ach-debit/migrations#mandate-acknowledgement
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.
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
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?
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
ugh. okay
thanks
still a little weird that some of the ones set up via the dashboard are working and others are not
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
Find help and support for Stripe. Our support site provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
here are the recent fails: req_Z2wPYF3WFX2dzO req_p54r3qsEEdqbhX req_Ojwlq5j8MzFqga req_5i5WFBJbcxbcz7
here are some recent successes: req_2M1piYD64L75DZ req_bnhmhWD8wY1FUZ req_Wf4M5XqUCnj5tm
๐ sorry for the delay! Stepping in for my teammate since they need to run