#Hetvi

1 messages ยท Page 1 of 1 (latest)

hard vaporBOT
stone merlin
#

๐Ÿ‘‹ happy to help

verbal plaza
#

I have a few screenshots too if that would make it easier to understand the query

stone merlin
#

it's collected by Stripe Elements upon the success of the PM creation

verbal plaza
#

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

stone merlin
verbal plaza
#

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

stone merlin
#

or something similar

verbal plaza
#

Correct. But that's the thing - I'm confused as to where I should be adding that

stone merlin
#

underneath the Payment Element

verbal plaza
#

I'm not using payment element here

#

It's just the bank account we're setting up, payment is not involved here

stone merlin
#

what are you using?

verbal plaza
#

A setup intent

stone merlin
#

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

verbal plaza
#

Okay

#

So even before collecting the bank account details for setup, I need to ask them to agree to the mandate?

stone merlin
#

yes that's correct

verbal plaza
stone merlin
#

there's noting mentioned there about mandates in that step

verbal plaza
#

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'

stone merlin
#

I guess this is the case when the account is manually entered

#

let me double check this for you

verbal plaza
#

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'

stone merlin
#

yes would you mind sharing those?

verbal plaza
#

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

stone merlin
verbal plaza
#

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:

hard vaporBOT
verbal plaza
#

On clicking 'Continue', I get the below screen:

sand lake
#

๐Ÿ‘‹ stepping in

#

You are asking when the mandate is collected?

verbal plaza
#

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

sand lake
#

So you are asking when/where you should display mandate info?

verbal plaza
#

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

sand lake
#

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

verbal plaza
#

So you're saying as soon as the customer initiates this manual verification process, they've given their consent (here, agreed to the mandate)?

sand lake
#

Yes correct

#

You still can't debit the account until it is verified

#

But that is the point at which the mandate is created

verbal plaza
#

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

sand lake
#

Yes that is correct

verbal plaza
#

Okay

#

So we won't need to show them a mandate in the beginning, right?

sand lake
verbal plaza
#

Do we have a stripe element for displaying this mandate?

#

because there's no custom payment form being used

sand lake
#

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

verbal plaza
#

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

sand lake
#

Yep for sure

#

One sec

verbal plaza
#

Sure

sand lake
#

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

verbal plaza
#

There are just 3 screens we're shown while setting it up and no-where it shows these terms

sand lake
#

Right this is after the last screen

#

Payment Element will show it

#

It will look like:

verbal plaza
#

I don't get this screen

#

Once I get the micro-deposits initiated view and I click on 'Done', it just exits

sand lake
#

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?

verbal plaza
#

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

sand lake
#

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?

verbal plaza
#

Sure thing, I can show the JS code snippets

#

No, we're not hiding any terms

sand lake
#

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

hard vaporBOT
verbal plaza
#

how do I collect bank account details with confirmSetup?

sand lake
#

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?

verbal plaza
#

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

sand lake
#

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

verbal plaza
#

You don't mount Payment Element anywhere in your code, do you?
No

sand lake
#

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

verbal plaza
#

So even before starting anything, we just show the mandate text and ask the customer to agree to it?

sand lake
#

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

verbal plaza
#

Any stripe APIs for mandate creation to be called when they click the 'NEXT' button?

#

For mandate creation or anything else

sand lake
#

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

verbal plaza
#

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?

barren parrot
#

Yeah that's correct

verbal plaza
#

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)

barren parrot
#

What's the question?

verbal plaza
#

Sorry, forgot to add a '?' at the end of the previous message

#

That was the question though

barren parrot
#

Oh

#

That's appearing on calling stripe.collectBankAccountForSetup?

verbal plaza
#

Yes

barren parrot
#

What appears after you click agree?

verbal plaza
#

We actually use 'Manually verify instead'

#

But it gives this view wherein customer can add their bank account details

barren parrot
#

Ah ok yeah that all looks normal then

verbal plaza
#

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..

barren parrot
#

Yes

verbal plaza
#

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?

barren parrot
#

It'll be closed

#

You can message in the main channel if you have further questions

verbal plaza
#

Sure, but I'll still be able to refer to it after its closed?

barren parrot
#

Yeah

#

You just won't be able to message in this thread

verbal plaza
#

Great

#

Thank you so, so much for the immense help team @barren parrot @sand lake @stone merlin