#Arvind hariharan
1 messages · Page 1 of 1 (latest)
Hi we are working on Stripe ACH accept a payment integration.
I'd like to get a better sense of what it looks like to save an ACH payment method for future use & what it looks like to use one at a later time.
Can u please help here
Here is ACH with save for future use https://stripe.com/docs/payments/ach-debit/set-up-payment
i am going through this doc. I wanted more understanding about this section
Accepting future payments
When the SetupIntent succeeds, it will create a new PaymentMethod attached to a Customer. These can be used to initiate future payments without having to prompt the customer for their bank account a second time.
Sure, how do you need help around this part?
So my undersatnding is initially we will use the setupintent API to create a setup intent and collectBankAccount and confirm the setup intent. IF we are taking the route of saving the bank details for future use.
And when the second time user is coming back we need to use the create payment API and create a payment intent . But in this we need to retreive the customerID and paymentMethodID which was used during the steup intent process and attach it while creating the payment intent
is it how the flow works? or am i missing something
Basically wanted to understand the exact flow of how to save and use the bank details for future use
Yes this is correct
wanted to understand what is means to accept a future payment? Is it only saving the bank details?
or is there anything more?
Accept a future payment is to use the previously saved bank details, which is compounded inside the Payment Method Id, into the call to Create PaymentIntent
So what exactly is that Off-Session =true param indicate or signify?
So accept a future payment is like, user will not go through that complete authentication process of selecting the bank account and verification ? Instead he will be able to select the bank account which is already verified?
and proceed with creating a payment intent and confirming the payment intent? The middle step of collectingBankAccountDetails is not required correct?
off_session = true is for card and I don't think you need it in ACH flow
And yes customer will not go through the authentication process. You, as the merchant, can direcly use the saved payment method to creat and confirm PaymentIntent on backend without needing Customer to do anything
of course you can build some UI and let them choose, in case they have multiple saved ACH
Okay so if we do not go the route of creating a setup intents initially and only take the route of creating payment intents, then each time user needs to go through the authentication flow of collecting the bank details and verifying and then confirming right
So for logged in users we need to take the rout e of creating a setup intent initially and verify bank details teh first time and then once they log back again for placing a new order we need to just create and confirm payment intents right
I mean i am asking based on an ecommerce site flow
If you only take the route of creating payment intents, you would want to set setup_future_usage to off_session
Okay then how do i reuse it the next time?
i mean whats the flow?
can u pls help/explain
Then the paymentmethod will also be attached to the customer and you can reuse it next time, by listing the payment method attached to the customer with type = ach
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Here
I would recommend testing it in Test mode
So in this case whats the difference between the setup intent and payment intent?
even through payment intent we can save the bank details for future use by setting setup_future_usage to off_session?
Well the difference is, at the time of SetupIntent you don't actually charge them anything, just saving. But on the time of PaymentIntent, you are processing some order and want to also save it for next time
So if i undersatnd right, we can set the setup_future_usage to off_session and save the bank details for future use correct?
instead of taking the setup intent route
I mean the next time user will not go through the authentication process if we set this attribute correct?
and only create and confirm payment intent will do the job
Yep
okay so the next time when user logs back and tries to place an order, we need to get the same payment method ID which was used in earlier transaction and set it while creating a payment intent so that the authentication process is avoided correct?
Yes somthing like this:
https://stripe.com/docs/payments/save-during-payment
You save a payment during a first payment, and use it for the next one.
okay so we can save this payment method in our DB against the same user and use it when teh same user has logged in and tried to place an order the next time while creating payment intent and confirm. We can avoid the authentication flow in this case if user has accpeted the save the method for future use
is my understanding right?
just a question. If we are using stripe financial connect , when user selects the bank account does it go through the authentication process if we implement the above logic?
Or will it just select the bank account and proceed since it is already verified and payment method is setup for future usage
correct.
You'll be using stripe "financial connect" for what use case ? accepting payment ?
yes
Stripe Financial Connect are for sharing data with you but not for accepting a Payments. Moreover, it works with Stripe Connect.
In stripe ACH Stripe Financial Connections authentication flow is used right
i am referring to this
Can you share the guide you are following ?
Well, this doesn't use Stripe Financial Conenct.
Are you facing a parcitular issue then when following that guide ?
Basically we have integrated Stripe ACH provided in accpept a payment doc in our framework and wanted to underatnd how we can use the same for future use
You need to adapt your integration following this:
https://stripe.com/docs/payments/ach-debit/set-up-payment
After talking in this thread, do you still have a particular ask or something not clear ?
we can also use the setup_future_usage attribute while creating a payment intent right
yes.
okay and as i said we can store the payment method in teh DB and use teh same for the same customer when hes loogin in teh seond time
and we can avoid the collectingThebankAccountpayment step right in this case and avoid authentication process as well correct
and directly confirm the payment intent
Yes like is mentioned in this section:
https://stripe.com/docs/payments/ach-debit/set-up-payment?platform=web#web-future-payments
thi section is telling about cretaing setup intent and then accpeting future paymnets
we are creating payment intents and going to set setup_future_usage attribute and use for future payments
we can take either of teh routes right
yes.
ok if we take the payment intent route then the next time we can avoid collectingbankDetails call and directly confirm the payment intent correct
user just needs to select the ACH debit option in the client side
And if he wishes to change or use another bank account we need to again use the collectBankAccountPayment API call and repeat the same procedure
is my understanding right?
please confirm
sounds right enough