#newtreyes_api
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/1245078501405757471
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Hello! Can you provide more details? What do you mean by "accept the mandate" exactly?
Hi Rubeus
So, here's the issue: I am trying to use a payment method (ACH) that was created using the Payment Element. When trying to process the first payment with it, I am getting the following error:
Payment Processing error: 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.```
Previously, we were using a SetupIntent and we were able to call Stripe JS confirmUsBankAccountSetup method once the user had accepted the mandate on screen
Is there something like that when the payment method is created using the Payment Element?
Can you give me the request ID showing that error? Here's how you can find a request ID: https://support.stripe.com/questions/finding-the-id-for-an-api-request
Here: req_cGKn5wsdmxEDRz
There is a similar confirmUsBankAccountPayment method when using Payment Intents in a similar flow: https://docs.stripe.com/js/payment_intents/confirm_us_bank_account_payment
But we are using neither a payment intent nor a setup intent
The request you just gave me is the creation request for a Payment Intent.
You need to use a Setup Intent or a Payment Intent when you collect the payment details. Are you taking a payment immediately, which the Customer is present, or are you only collecting their payment information for later use?
We are collecting the payment method information for later use
Then you need to use a Setup Intent when you collect the payment details. The Setup Intent will create the mandate.
Or else, we need to provide the mandate information when processing the first payment using that payment method, correct?
I don't know what you mean, can you explain in more detail how you would provide the mandate information?
I mean, using https://docs.stripe.com/api/payment_intents/create#create_payment_intent-mandate_data when creating the payment intent this payment method is going to be used with for capturing
Does that make sense?
I don't believe that's going to work for ACH payments. That not how it works. ACH bank accounts need to be verified, either instantly through Financial Connections or manually via microdeposits.
@foggy kite Hey
Hello
I just tested and I was able to process a payment intent using the payment method with no mandate info but providing the mandate information when creating the payment intent like mentioned here: https://docs.stripe.com/api/payment_intents/create#create_payment_intent-mandate_data
@gaunt willow thought that wouldn't be possible
but it seems like it worked
does that make sense?
Can you share the example?
The payment method was created using financial connections, so it did get verified no?
Initially I was getting this error: req_cGKn5wsdmxEDRz
It was created using the Payment Element
I'm not sure I fully understand what you're asking about. Let me lay out my understanding:
So you were asking if you can accept mandate when creating a PaymentMethod (without using an Intent)
#1245078501405757471 message
Rubeus suggested you either need to use SetupIntent or PaymentIntent
#1245078501405757471 message
Then you shared the mandate_data parameter here
#1245078501405757471 message
and Rubeus said, you need to verify the payment method before you can charge it
#1245078501405757471 message
The thing with mandate is that it needs to be accepted by the customer.
When you said, you're trying to use the payment method for future usage, I think we (Rubeus and I both) assumed you were talking about off-session charges (when the customer isn't around).
Ok
I think we are almost in the same page but there are some misunderstandings
So you were asking if you can accept mandate when creating a PaymentMethod (without using an Intent)
Correct
Then you shared the mandate_data parameter here
I did that just to make sure it was possible to accept the mandate using either a setup intent or a payment intent.
From what I can see, it is possible.
you need to verify the payment method before you can charge it
Yes. I can see that too
The thing with mandate is that it needs to be accepted by the customer.
Yes. My intention is to allow the user to accept the mandate when entering the Bank Info.
But since I am not using an intent with the Payment element, I was wondering if that was possible.
I guess that is not possible. I will need to use a setup intent for that.
Would it be possible to use a setup intent after the payment method is created by means of https://docs.stripe.com/api/setup_intents/create#create_setup_intent-payment_method and https://docs.stripe.com/api/setup_intents/create#create_setup_intent-mandate_data?
I guess that is not possible. I will need to use a setup intent for that.
Correct.
Would it be possible to use a setup intent after the payment method is created by means of https://docs.stripe.com/api/setup_intents/create#create_setup_intent-payment_method and https://docs.stripe.com/api/setup_intents/create#create_setup_intent-mandate_data?
Yup
but also, I think mandate would be generated automatically when you use a SetupIntent and confirm the SetupIntent
It's late here and I am a bit tired
all good, I'd recommend giving it another reading with fresh eyes ๐
I think that is a wise advise
QQ: If verified using micro deposits, is mandate still required?
I mean, when creating the payment method without a setup intent
Edit: rephrasing for clarity
Mandate is the authorization that's required for Stripe to be able to pull money from the account. Verification is only a step in obtaining the authorization from the customer.