#connor_api

1 messages ¡ Page 1 of 1 (latest)

tribal galeBOT
#

👋 Welcome to your new thread!

⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.

⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.

🔗 This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1267963249614389269

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

vestal condor
#

Our PI config for bank account methods is as follows:

                {
                  payment_method_types: ['us_bank_account'],
                  customer: required_arguments_object.stripe_customer_id,
                  currency: 'usd',
                  amount: required_arguments_object.amount,
                  capture_method: 'automatic',
                  payment_method: required_arguments_object.stripe_payment_object_id,
                  confirm: true,
                  metadata: ...,
                  statement_descriptor: ...,
                  application_fee_amount: required_arguments_object.application_fee_amount,
                  transfer_data: { destination: ... },
                  use_stripe_sdk: false,
                  off_session: true
                }
#

And to clarify, the actual call through the Stripe SDK for these BankAccounts is Stripe(stripePublicKey).createToken('bank_account', accountValues) followed by a Ruby SDK

          stripe_bank_account = ::Stripe::Customer.create_source(stripe_customer.id, {
                                                                   source: source_token,
                                                                 })
wise herald
#

Taking a look!

vestal condor
#

Sweet, thanks! Happy to move to a different approach for future manually entered account numbers, but would like to preserve existing BankAccounts for use if possible

wise herald
vestal condor
#

Ah, got it! So there isn't an alternative to the microdeposit flow for existing, non-Plaid BankAccounts?

#

Also, the documentation makes it sound like Stripe has been automatically sending the verification deposits even in the legacy paths, but we've never collected verification. Am I wrong in the interpretation of the document?

wise herald
vestal condor
#

And last question, the documentation states, "If you have an existing integration that accepts ACH payments using the Charges API, we recommend migrating to the Payment Intents API. The Payment Intents API includes built-in instant verification." Does this mean I can instantly verify the legacy BankAccounts through a PaymentInent?

wise herald
vestal condor
#

Thanks for all the clarification here!

So two last points to hammer out:

  1. Is billing email different than the email passed in at the top of level of the Customer Create API?
  2. The documentation states, "If you have an existing integration that accepts ACH payments using the Charges API, we recommend migrating to the Payment Intents API. The Payment Intents API includes built-in instant verification." Does this mean I can instantly verify the legacy BankAccounts through a PaymentInent?
wise herald
vestal condor
#

Sorry if this is a dumb question, but the legacy BankAccounts are not considered PaymentMethods. Is there still a way to verify with microdeposits in that case?

wise herald
#

Ah, sorry, I was mixing up docs. The docs that reference billing email are for microdeposit verification with PaymentMethod objects, not BankAccount objects

vestal condor
#

Got it, thank you! Today, I believe we do something similar but it does not seem to emit verification amounts:

::Stripe::Customer.create_source(stripe_customer.id, {
                                                                   source: source_token,
                                                                 })
wise herald
#

Right, the verification amounts would have to come from the customer. You'd have to instruct them to look at their bank statement and share those verification amounts with you

vestal condor
#

Ah, I more meant that we've never recieved word from customers that they've seen these deposit amounts, and we've been on Sources for 7 years at this point. We were under the impression that we weren't doing anything with microdeposits. Is it a guarantee that this action would request microdeposit verification? Or is that dependent on how the Customer is configured?

wise herald
#

Hm, do you happen to have the ID of a verified bank account you can share?

vestal condor
#

Yeah, ba_1KLZowBBKZs9HCVegB4unaUv looks like it was created through the legacy path (so not through Plaid), and has been used successfully

#

At least on the Stripe Dashboard, all of our BankAccounts created through that manual flow appear as 'Verified'

wise herald
#

Hm, this was created years ago so I can't pull up details on creation

#

Ah, it's likely that the account used with ba_1KLZowBBKZs9HCVegB4unaUv has an additional permission to allow automatic verification of accounts. That said, I'm not sure if adding this permission to the other account will automatically verify the already-created BankAccount objects

vestal condor
#

Do you know happen where that permission would be set? Is that something on the Customer?

wise herald
#

No, it appears to be something on your merchant account

#

Also, to be clear, ba_1KLZowBBKZs9HCVegB4unaUv and ba_1PfSA4LvyoWw5O6y1nQOQOqX are on two different accounts

vestal condor
#

This one would have been created in the past year and appears as verified: ba_1OH9VwBBKZs9HCVerTc1IyEh

So maybe our live account is configured in a way that allows automatic verification for these but our test accounts are not?

wise herald
#

Right, exactly. I can't make any changes to your account here so I recommend reaching out to our Support team about this: https://support.stripe.com/contact/

You can provide the two BankAccount objects as examples so they know which two merchant accounts you're referring to. You'll still need to clarify with them if adding the permission to your teat account will automatically verify the already-created BankAccount objects