#Chung-Yi - ACH

1 messages ยท Page 1 of 1 (latest)

willow osprey
#

HI ๐Ÿ‘‹

long zinc
#

Hi! One min for me to explain my question...

#

However, we're using Payment Element, in which we're letting it pop up the modal directly to collect/verify bank account, and at the end we just call stripe.confirmSetup to finish the setup.

#

It seems that the payment method will not be attached until stripe.confirmSetup is finished, and at that point we already miss the opportunity to check the balance.

#

Can you help us clarify how we can perform balance check using Payment Element, before confirming a setup intent? Thank you!

willow osprey
#

I haven't built out this flow yet. Let me do some research

long zinc
#

thank you!

willow osprey
#

So at that point you do not have a Financial Connections account ID? E.g. fca_XXXXXX

long zinc
#

yeah I assume the financial connections account is included in the payment method, which is not attached to the setup intent, until we call stripe.confirmSetup.

#

but we'd like to perform balance check before confirming.

willow osprey
#

Hmmmm...

#

I"m not sure. This is a pretty new process. Perhaps my colleague @golden raven has some more insight. I need to step away.

long zinc
#

thank you for checking! ๐Ÿ™

golden raven
#

Hi there ๐Ÿ‘‹ please bear with me a moment while I catch up on the context of this thread.

long zinc
#

thank you!

golden raven
#

Just to make sure I understand, you're using the Payment Element to handle the Setup Intent process for an ACH Direct Debit payment method?

long zinc
#

Yes. Exactly.

#

If I understand correctly, the doc linked above was not for Payment Element but for custom payment form. And, with Payment Element, we are not sure how to get the account balance before confirming the setup intent.

golden raven
#

Apologies, this is a newer flow so I don't have a ton of experience with it, but looking at the documentation there is one thing that is standing out to me. The pieces that refer to checking the balance seem to say to do so before confirming a Payment Intent (rather than a Setup Intent).

So the way I believe this is supposed to happen is:

  1. Create, process, and confirm a Setup Intent so you have a resulting Payment Method.
  2. Check the balance on thew newly created Payment Method.
  3. If the balance is enough to cover the payment that you're planning to process, then create, process, confirm a Payment Intent for that.
long zinc
#

This would be less ideal because users would then need to confirm multiple bank accounts which can trigger multiple ACH mandate confirmation email, for example.

#

I think I have made it work with setup intent previously, i.e. checking account balance before confirming, with the stripe.collectBankAccountForSetup and stripe.confirmUsBankAccountSetup flows on a custom form.

#

But we can't find similar documentation for Payment Element.

#

So I wonder if the payment intent mentioned in the doc was a typo or something.

#

Let me quickly verify and test my assumption!

golden raven
#

Looking further down through the doc that you referenced, Step 8 is about processing a payment with the bank account information collected from the previous Setup Intent, and it says that the customer won't need to be prompted for their bank account again.

long zinc
#

Perhaps we missed something when integrating with Payment Element?

#

Looking further down through the doc that you referenced, Step 8 is about processing a payment with the bank account information collected from the previous Setup Intent, and it says that the customer won't need to be prompted for their bank account again.

yeah, what I meant was that we want to do the balance check as early as possible in the flow and ask our customers to select a different bank account in case of insufficient funds. I think doing the balance check after confirming a setup intent is less ideal because 1) we don't need accounts with insufficient funds, and 2) each time a setup intent is confirmed, an email confirmation for ACH mandate and collected info will be sent to the customer, and 3) it takes more steps for customers to fix.

golden raven
#

Oohh, gotcha, yeah that makes a lot of sense.

long zinc
#

@golden raven I'll need to step out for a bit. Can I check back here later and see if you have some updates? ๐Ÿ™

golden raven
#

Apologies for the delay. I don't think it's possible to handle this the same way you were previously when leveraging the Payment Element, but will need to look closer.

long zinc
#

Thank you so much! I'll check in again with you! ๐Ÿ’ช

#

Cheers!~

golden raven
#

Sorry, but I've not been able to find a way to accomplish what you're looking to do when using the Payment Element.