#KRS
1 messages · Page 1 of 1 (latest)
hi! they're verified when you use the recommended integration(confirming a PaymentIntent client side), you would not be creating PaymentMethods yourself and attaching to Customer objects.
https://stripe.com/docs/payments/ach-debit/accept-a-payment?platform=web&ui=API#web-collect-details
The Stripe Financial Connections authentication flow automatically handles bank account details collection and verification. When your customer completes the authentication flow, the PaymentMethod automatically attaches to the PaymentIntent
Our existing approach is to create payment method and associated with stripe customer and the create a subscription, which will determine the amount and it creates the invoice.
is PaymentIntent mandatory flow for using us_bank_account or it can be verified via API?
as far as I know it's mandatory
that way you create subscriptions is legacy, you should create the Subscription when the page is loaded and sending the latest_invoice.payment_intent.client_secret to the frontend (which can then use that with the collectBankAccountForPayment functions in stripe.js) per the current guides for creating subscriptions in Stripe (https://stripe.com/docs/billing/subscriptions/build-subscriptions?ui=elements)
do you have more details or links for this model of subscription creation? Our concern is that if we relay on webhooks, there is any failures in creating subscription is not presented to the user instantly
see above
is there any other reference which provides steps for building custom checkout instead of using stripe's payment elements?
what would you use instead?
this is our subscription page
looks like our CardElement
I don't follow your question
the way to accept US Bank Account/ACH payments would be
- redirect to Checkout
- create Subscription, return PaymentIntent client_secret to the frontend, use with PaymentElement to have an embedded component that handles selecting and paying with different payment method types(drop in replacement for that dropdown section at the bottom of your screenshot)
- create Subscription, return PaymentIntent client_secret to the frontend, use with
collectBankAccountForPaymentdirectly to launch the flow
yes, it is stripe's card element
do you have any further questions?
yes, i am reading through and trying to understand the flow. In our flow, instead of Card payment method, we will also have an option to provide Cash. but if we use payment element, which embeds the selction within itself, we will not have the flexibility.
makes sense, then I suppose you will not use the PaymentElement
ok. i get a fair understanding now, bear with me, let explain what we have today and what we need to change:
what we have today:
- frontend creates payment method with CardElement
- frontend calls backend to create subscription
- backend creates customer and subscription by using the prices with provided payment method id
- once the payment is confirmed, we store the details in our DB and return success to frontend
what we need to do to use us_bank_account:
- frontend calls backend to create subscription without payment method id
- backend creates customer and subscription with incomplete status and sends the client_secret to frontend
- fronend then uses collectBankAccountForPayment to complete the payment and associate the subscription with bankaccount
yes you should migrate to the recommended Stripe integration which is client side confirmation(creating the PaymentIntent through the backend and confirming payment on the frontend; not sending a PaymentMethod from the frontend to the backend)
ok. let me take it back to the team to discuss on it. if we plan to do, then what is the element that we are supposed to use for collecting bank account details. we cant use PaymentElement as we want to provide cash option, CardElement is applicable only for card payments.
collectBankAccountForPayment presents a UI for collecting the details
so you just have a button to click which calls that
https://stripe.com/docs/payments/ach-debit/accept-a-payment?platform=web&ui=API#web-collect-details
->
https://stripe.com/docs/financial-connections/fundamentals#authentication-flow
https://stripe.com/docs/js/payment_intents/collect_bank_account_for_payment
Use stripe.collectBankAccountForPayment in the Accept a payment flow for the ACH Direct Debit payment method to collect the customer’s bank account in your payment form. When called, it will automatically load an on-page modal UI to collect bank account details and verification
Stripe Financial Connections is the only supported method for US bank account? I saw some document refer to Placid API integration - is it supported
you mean Plaid
yeah
and no, we don't support an integration with Plaid except for legacy integrations with ACH.
Financial Connections is our own product that does the same idea!
ok.