#atanas

1 messages · Page 1 of 1 (latest)

cursive ridgeBOT
devout carbon
#

Hi there

#

Nothing is really "exposed to the frontend".

#

You would build your own UI here to show your customers that they can charge a saved Payment Method

#

No you can't attach a PaymentMethod to multiple Customers

#

With multiple concurrent attempts, you would either hit a lock timeout, or the second attempt would fail based on the first one (if the first one succeeds to verify).

feral crescent
#

No you can't attach a PaymentMethod to multiple Customers

For this portion. Say there are two distinct customers, with two distinct stripe customer objects, but both want to use the same bank account. Does this mean that only one can succeed? So essentially is it that there's a 1:1 relationship between a Bank Account and Customer Object? Or could it be that

CustomerObject1 -> BankA
CustomerObject2 -> BankA

devout carbon
#

No multiple Customers can have the same bank account attached. You just have to create multiple PaymentMethod objects to accomplish that.

#

So yes this is possible: CustomerObject1 -> BankA CustomerObject2 -> BankA

feral crescent
#

Okay so then that means that we would need to go through verification multiple times, that's fine.

devout carbon
#

Yep

feral crescent
#

So after you attach a US Bank Account Payment Method to a Customer, you can just charge it server-side. See https://stripe.com/docs/payments/ach-debit/set-up-payment?platform=web#web-future-payments for an example

For this portion I'm a bit confused on what this means. Let's say we're at the stage where a Bank is verified whether through Setup-Intent flow or Payment-Intent flow. The next time a user interacts with the payment elements on the front-end and selects US Bank (Or ACH Debit in other words) will they just see a "Pay with verified bank" option?

More technically I assume what happens is the Customer Object gets a Payment Element attached. Great, at this point if I want to make another charge, I create a Payment Intent and ensure that the aforementioned Customer object is tied to it.

Learn how to save payment method details for future ACH Direct Debit payments.

devout carbon
#

Payment Element is only used for collecting new PaymentMethods

#

It won't show any saved PaymentMethods

#

You need to create your own UI to display saved PaymentMethods for a Customer and allow them to select the saved PaymentMethod they want to pay with

#

When they do so, you just create/confirm the PaymentIntent inputting that Customer and PaymentMethod server-side.

feral crescent
#

Oh I see. I assumed the Payment Elements would handle this. Does this mean that if a customer wanted to pay with a non-saved bank account we'd need to then display the Stripe Payment Elements instead resulting in two UI flows? Making sure I'm understanding correctly.

Could you also point me to the API documentation for displaying already saved payment methods?

devout carbon
#

Yeah we hope to create a UI Element for dispalying saved PaymentMethods in the future but we don't support this right now. Ther eis no real documentation on building that UI. Mostly you just list a Customer's PaymentMethods using https://stripe.com/docs/api/payment_methods/customer_list and then display a UI based on that data.

#

And that's correct, you would have two flows: a "pay with saved payment method" flow and a "use a new payment method" flow.

#

Oftentimes folks put these alongside eachother but wait to render Payment Element until the "use a new payment method" button is selected.

feral crescent
#

Thanks ^

A few more questions for my understanding.

To verify a bank - Just making sure, is a customer object needed, or can you tie a PaymentMethod directly to a SIntent/PIntent?

For the x+1 payment, once a payment method has been created and verified, how do I apply it to the next charge? I know you linked a guide for setup intents, however I’m interested in payment intents specifically, as the “save for later” type of flow isn’t useful. For the initial PI flow, I see that there’s a collectBankAccountForPayment function - What’s the equivalent here for the next charge? Is it as simple as just attaching a Customer object that has a saved Payment Element to the Payment Intent? If you can point me to the right place in the API, or if I’ve missed something in a guide that would be great.

For the x+1 payment, do we still use confirmUsBankAccountPayment to confirm the payment and show stuff in the UI?

Reading through this guide - https://stripe.com/docs/payments/ach-debit/accept-a-payment?platform=web&ui=API

Build a custom payment form or use Stripe Checkout to accept payments with ACH Direct Debit.

devout carbon
#

To verify a bank - Just making sure, is a customer object needed, or can you tie a PaymentMethod directly to a SIntent/PIntent?
You can use a PaymentMethod directly with a SetpuIntent or PaymentIntent without a Customer first and then attach to a Customer afterwards if you want.

#

You can ignore that that guide is a "SetupIntent" guide

#

The same exact thing would apply if you initially collected the PaymentMethod via a PaymentIntent

feral crescent
#

Hmm - One part in the documentation made it sound like a Customer Object was required. Is this not true?

"To reuse a bank account for future payments, you must attach it to a Customer."

It sounds like from your last response, I could attach a Payment Method to a customer, but I don't have to?

devout carbon
#

It is required for future payments

#

But it isn't required upon initial collection

#

So like you could create/confirm a SetupIntent or PaymentIntent without a Customer object.

#

Then you would need to attach the PaymentMethod to a Customer before you charge it again

feral crescent
#

I see, so if I don't attach it, it's kind of disposable. If I want to use that bank again for example, I would need to re-verify it to use with a new PI/SI.

devout carbon
#

No need to re-verify

#

You just attach it to a Customer

#

Otherwise it is just a "one-off"

#

This part is mostly just about how your flow works

feral crescent
#

Yeah that's what I meant, if I don't attach it I can think of it as one-off or disposable.

devout carbon
#

Ah okay yeah

#

That's correct

feral crescent
#

Our primary flow will be reuse as we don't want to pay $1.50 for verification every time, but there's one flow in particular where that may be okay, so i wanted to see what options were available.

#

Thanks a lot - I have a better understanding of how ACH works now. We currently have a CC only, no saving type flow, so this is quite a bit different.

devout carbon
#

Happy to help

#

Feel free to pop back in if we can clarify anything further