#connor_ach-integration

1 messages ¡ Page 1 of 1 (latest)

vast iglooBOT
#

👋 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/1215435064309981235

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

calm forgeBOT
civic lion
#

I see you did pass customer_acceptance in this case though

frigid escarp
#

To add context for my initial attempt:

Because I blindly followed the docs when first implementing, I supplied this to my PaymentIntent when trying to process a BankAccount, resulting in a rejection because I had not created a mandate for it first:
payment_method_options: {
us_bank_account: {
financial_connections: { permissions: %w[payment_method balances] },
},
},
This led to me adding logic to create a Mandate through SetupIntents with the BankAccount token, allowing me to proceed. However, when I went to a live env, I received an error because we had not verified with financial connections.

After speaking with support, I realized that I overcomplicated things by leaving in that financial_connections configuration when (I think) BankAccounts don't actually need that.

So, I just wanted to confirm that I will be able to use BankAccounts in live environments while creating Mandates even if I don't use financial connections

#

That documentation is pretty close to what I have implemented in response, but I just want to be sure I won't run into any more surprises in live envs

#

Oh, one other thing, could you confirm that I can use BankAccounts in a PI while only specifying payment_method_types: ['us_bank_account']?

calm forgeBOT
lavish echo
#

connor_ach-integration

frigid escarp
#

I apologize for what may end up being semantics, but there are some ambiguities in the documentation that I want to lock up for my understanding

lavish echo
#

@frigid escarp yes, though really you should completely move away from ba_123 as an integration path and use PaymentMethod

frigid escarp
#

That has been a consideration of ours, but our legacy logic and Plaids supporting of more banks (or at least that was the case fairly recently) mean we will be using BankAccounts during our early stages of PaymentIntents

Could you confirm that this payload would be sufficient for creating a mandate for future use with PIs?

                {
                  payment_method_types: ['us_bank_account'],
                  confirm: true,
                  usage: 'off_session',
                  mandate_data: {
                    customer_acceptance: customer_acceptance_payload,
                  },
                  customer: stripe_customer_id,
                  payment_method: stripe_source_id,
                }

Or will we run into issues if we don't pass payment_method_options: { us_bank_account: { verification_method: 'skip' } }, as well, like the documentation suggests?

lavish echo
#

if you use Plaid's integration the bank account is already verified right? So there's no reason to pass skip (which is not a public feature)

frigid escarp
#

Yeah, that was my reasoning as well, I just wasn't sure if there was something else I needed to provide

lavish echo
#

I don't think so no. Can you try quickly in Test mode and share an example pi_123 for me to look at?

frigid escarp
#

For sure, will have that up shortly, thanks for all the help here!

#

Request to create the mandate: req_x1TOkzp7rJ9GC5
Request to process a payment using that BA: pi_3OrqjZCG1MymwEQN1N4eikpP

As far as I can tell, this succeeds nicely. From those requests, can I be confident that this will behave just as well in live mode?

lavish echo
#

yep that works fine

#

OOC why do you do SetupIntents and then immediately after a PaymentIntent?

frigid escarp
#

I use the SetupIntent to associate a Mandate to the BankAccount when the user creates an ACH method. Because a user can add payment methods outside of checkout, we use SetupIntent to associate it for future usage

The PaymentIntent was generated by me going through checkout using the new ACH method

lavish echo
#

ah gotcha, so then yes looks all correct to me

frigid escarp
#

Awesome, thank you so much for clearing that all up!