#Anuroop

1 messages · Page 1 of 1 (latest)

vivid siloBOT
quartz river
#

Thanks for testing. Can you provide the PaymentMethod ID so I can take a look?

#

My understanding was that we carry all relevant data down when the clone occurs

#

But maybe this isn't the case with skipping verification unless your Connected Account is also approved for that feature? Let me check.

delicate harness
#

Getting the ID now

quartz river
#

Or potentially you do have to also use a SetupIntent to indicate you are skipping verification on the Connected Account. I haven't actually tested cloning + skipping verification before. My understanding is that it "just works", but maybe that was incorrect.

delicate harness
#

Sorry it's taking a bit to find the payment id, it may not have attached correctly.

quartz river
#

No worries.

delicate harness
#

pm_1MIFzC2XRZBXnduIk4gxzKkt

quartz river
#

Thanks, let me take a look

delicate harness
#

Here it is

quartz river
#

Hmmm odd that bank account does show verified due to the skip

#

Ahhh

#

You are using a legacy object

#

Not a PaymentMethod

#

You are using bank account objects

#

One sec

delicate harness
#

Sure

quartz river
#

Is there a reason you are creating bank account objects on your platform as opposed to us_bank_account PaymentMethods?

delicate harness
#

Hmm I'm actually not sure, it's an existing helper method that I chose to use.

quartz river
#

You are currently mixing the legacy ACH flow (which uses the bank account object ba_xxx) with the new ACH flow (which uses us_bank_account PaymentMethod objects pm_xxxx)

#

So yeah that is why you are encountering the mandate issue

#

Because the new flow requires a mandate to be set up

delicate harness
#

Okay instead if I use the payment method objects to create a US bank account directly I should not see this

#

?

#

@safe thorn

quartz river
delicate harness
#

Tagging my colleague for visibility

quartz river
#

You can technically do this with the legacy object too

#

But overall I would recommend just using the newer PaymentMethod object

#

Let's walk through the flow

#

Are you going to be creating these objects server-side?

delicate harness
#

Yes

quartz river
#

As-in you already have the bank account details from your customers

delicate harness
#

Yep, we collect the details and create these payment methods on Stripe

quartz river
#

Gotcha

#

Okay let me type out the flow

#

The simplest way to do this, and what I would recommend, is to just create a SetupIntent on your platform (https://stripe.com/docs/api/setup_intents/create) and pass the following parameters:

  • customer
  • confirm
  • payment_method_data.us_bank_account (here you pass the account_number and routing(
  • payment_method_options.us_bank_account.verification_method: skip
#

Oops

#

I forgot mandate_data

#

If you pass all of those parameters you will create a us_bank_account PaymentMethod on your platform that is verified and has a mandate.

#

And it will be attached to the Customer that you passed to the SetupIntent as well

delicate harness
#

Okay makes sense.

quartz river
#

Then you don't have to pass the PaymentMethod when you create the Subscription, it will automatically be used for any Subs for that Customer

#

(Unless you do want to use separate PaymentMethods for separate Subs on the same Customer that is)

delicate harness
#

Perfect. Thanks for the write up, will try this out thanks!

safe thorn
#

Thank you!