#atanas
1 messages · Page 1 of 1 (latest)
Hi there
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
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).
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
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
Okay so then that means that we would need to go through verification multiple times, that's fine.
Yep
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.
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.
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?
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.
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
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.
For the x+1 payment all you use is this endpoint: https://stripe.com/docs/api/payment_intents/create
Just like it shows here: https://stripe.com/docs/payments/ach-debit/set-up-payment?platform=web#web-future-payments
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
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?
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
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.
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
Yeah that's what I meant, if I don't attach it I can think of it as one-off or disposable.
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.