#KRS

1 messages · Page 1 of 1 (latest)

errant waveBOT
nocturne narwhal
#

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.

placid steeple
#

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?

nocturne narwhal
#

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)

placid steeple
#

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

nocturne narwhal
#

see above

placid steeple
#

is there any other reference which provides steps for building custom checkout instead of using stripe's payment elements?

nocturne narwhal
#

what would you use instead?

placid steeple
#

this is our subscription page

nocturne narwhal
#

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 collectBankAccountForPayment directly to launch the flow
placid steeple
nocturne narwhal
#

do you have any further questions?

placid steeple
#

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.

nocturne narwhal
#

makes sense, then I suppose you will not use the PaymentElement

placid steeple
#

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:

  1. frontend creates payment method with CardElement
  2. frontend calls backend to create subscription
  3. backend creates customer and subscription by using the prices with provided payment method id
  4. 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:

  1. frontend calls backend to create subscription without payment method id
  2. backend creates customer and subscription with incomplete status and sends the client_secret to frontend
  3. fronend then uses collectBankAccountForPayment to complete the payment and associate the subscription with bankaccount
nocturne narwhal
#

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)

placid steeple
#

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.

nocturne narwhal
#

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

placid steeple
#

Stripe Financial Connections is the only supported method for US bank account? I saw some document refer to Placid API integration - is it supported

nocturne narwhal
#

you mean Plaid

placid steeple
#

yeah

nocturne narwhal
#

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!

placid steeple
#

ok.