#Hetvi
1 messages ยท Page 1 of 1 (latest)
๐ happy to help
I have a few screenshots too if that would make it easier to understand the query
it's collected by Stripe Elements upon the success of the PM creation
Right. But do we ask the customer if they're okay with this? I didn't see a screen for it while using the stripe.js elements
are you using this https://stripe.com/docs/payments/ach-debit/set-up-payment?platform=web#web-collect-mandate-and-submit ?
Yes
Had used stripe.collectBankAccountForSetup()
And if setup intent status is requires_confirmation, I directly use stripe.confirmUsBankAccountSetup()
In stripe, the payment method is created and a mandate ID is also displayed, but no-where I'm asking the customer to accept a mandate in this workflow
you need to add this https://stripe.com/docs/payments/ach-debit#recommended-mandate-text
or something similar
Correct. But that's the thing - I'm confused as to where I should be adding that
underneath the Payment Element
I'm not using payment element here
It's just the bank account we're setting up, payment is not involved here
what are you using?
A setup intent
either way on the front end you will be using Stripe.js's Payment Element
it is called Payment Element
but it can do both payments and setups
Okay
So even before collecting the bank account details for setup, I need to ask them to agree to the mandate?
yes that's correct
Then it would be different to what is mentioned here?
https://stripe.com/docs/payments/ach-debit/set-up-payment?platform=web#web-collect-details
there's noting mentioned there about mandates in that step
Lines 31-35 in the code snippet. Aren't they saying to display the mandate?
And there's the 5th step after this, titled 'Collect mandate acknowledgement and submit'
I guess this is the case when the account is manually entered
let me double check this for you
I have a few screenshots that might help you understand the process I'm using currently
Do let me know if that might help. Using the option 'Manually verify instead'
yes would you mind sharing those?
Would it be okay if I DM them to you? Contains a few company related info I'm not sure if I should share in the group
if you prefer you can send an email with all of the info/screenshots here https://support.stripe.com/contact/email?topic=api_integration
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
There's a simple button - 'Start Setup' and on click of it, I use stripe.SetupIntent.create() and then call stripe.collectBankAccountForSetup() if it returns a clientSecret. This is the screen displayed if everything is proper and as a customer, I click on 'Manually verify instead':
The very next screen I get is the below one where I enter the bank account details:
On clicking 'Continue', I get the below screen:
And finally, on clicking 'Done', I see an entry in stripe dashboard as follows (complete with mandate ID - whereas I've not asked the customer to sign a mandate anywhere in this process):
Hi bismarck. Yes, I had a few queries related to the mandate in the ACH direct debit workflow
If you're able to view the previous messages, I've been using the stripe apis and stripe.js for the implementation
So you are asking when/where you should display mandate info?
Yes
And I would like to know in the current workflow, how and when is the mandate getting created? Because there's no call I'm making in my code for it, it's just the APIs being used
Yeah so you want to display the mandate info prior to the customer initiating this Connections Session. They should basically understand that by going through this flow they are agreeing for their bank account to get debited
We actually create the mandate in Stripe once the Connections flow is completed.
As you said -- we handle all of this for you. All you do is call collectBankAccountForSetup on button click
So you're saying as soon as the customer initiates this manual verification process, they've given their consent (here, agreed to the mandate)?
Yes correct
You still can't debit the account until it is verified
But that is the point at which the mandate is created
Okay, and so they proceed with adding the bank account details. Once the micro-deposits are initiated, you create the mandate
Do let me know if my understanding is correct, I actually need to explain this to my team so it's important I've got it right
Yes that is correct
You should show the necessary mandate agreement text: https://stripe.com/docs/payments/ach-debit#recommended-mandate-text
Do we have a stripe element for displaying this mandate?
because there's no custom payment form being used
No there is no Element for displaying the mandate
Not sure what you mean with there being no custom form if you are using collectBankAccountForSetup
Custom form as in we have not coded any form for getting the bank account details
collectBankAccountForSetup
We do use this, but I think that's just the stripe.js element we use
Sure
Okay sorry
With Payment Element we do handle the mandate text for you
So at the last step you should see something like ou agree to authorize payments pursuant to these terms.
There is a link there for terms
Which includes the mandate details -- it links to https://stripe.com/legal/ach-payments/authorization
There are just 3 screens we're shown while setting it up and no-where it shows these terms
I don't get this screen
Once I get the micro-deposits initiated view and I click on 'Done', it just exits
What does "exits" mean?
Like the modal should go away
And then Payment Element on your webpage should show the above
Do you have a link that I can reproduce what you are seeing?
It's a part of our product I'm using it in so can't share those creds. Would it be possible to connect over a screen-sharing session?
And exits means yes, the modal goes away and is the setup intent status is requires_action, then we show an alert saying the bank account is added successfully and then the process is over
Sorry no can't screen share
Can only do chat here
Can you show me your relevant JS code snippet?
Are you hiding any terms?
Oh wait
Okay I know the issue
So you shouldn't be using collectBankAccountForSetup here
You should just be using confirmSetup if you are using Payment Element
collectBankAccountForSetup is if you are building your own ACH collection without using Payment Element
This is the js code snippet
how do I collect bank account details with confirmSetup?
It sounds to me like you aren't actually using Payment Element at all here
You don't mount Payment Element anywhere in your code, do you?
payments aren't involved at all in this step
We just collect bank account details and do the micro-deposit process and that's it
That isn't relevant. Payment Element is a Stripe hosted component that you can use to collect Payment Method details
Okay let's set Payment Element aside
You don't mount Payment Element anywhere in your code, do you?
No
You shared our integration guide earlier for Payment Element so I assumed you were using it
That was my mistake
So since you don't use Payment Element you do what I stated previously and just show the mandate text yourself on your page right above your set_up_bank_account_button
So even before starting anything, we just show the mandate text and ask the customer to agree to it?
Yeah pretty much -- you just say in the text "by clicking the below..." or something like that
So when they click your button they are agreeing to the mandate
And are aware of what that mandate entails
Any stripe APIs for mandate creation to be called when they click the 'NEXT' button?
For mandate creation or anything else
No you can't customize the flow once the Connections modal is presented
The mandate will always be created at the end of that flow
Ok, so I just need to show them a pop-up/element which says if you proceed from here then it means you're agreeing for our company to accept transactions, etc
And once they agree to it (check the checkbox), we can start with the stripe.collectBankAccountForSetup flow
Correct?
Yeah that's correct
So, this screen which was popping up on click of our custom add account button, will now come after they click on the 'NEXT' button on our another custom pop-up (which is not going to do anything related to mandates or setup intents in Stripe)
What's the question?
Sorry, forgot to add a '?' at the end of the previous message
That was the question though
Yes
What appears after you click agree?
We actually use 'Manually verify instead'
But it gives this view wherein customer can add their bank account details
Ah ok yeah that all looks normal then
Alright. So now I just need to add one more custom element before showing the screen where they click on 'Agree' or 'Manually verify instead' and the rest of the workflow remains the same
Is my understanding correct?
I apologize if I sound repetitive, but I've thoroughly been confused with this since quite some time and I need to get this right. I hope that's not an issue..
Yes
Okay
Would you be closing this thread or can I have it open if I still have doubts for this in a day or two?
Sure, but I'll still be able to refer to it after its closed?