#keith41281

1 messages · Page 1 of 1 (latest)

main loomBOT
vagrant arrow
#

hello! can you share more details? What do you mean by some users can complete a connection to a bank and some cannot? i.e. Are you encountering any errors? Can you share the steps taken?

bright summit
#

step one we are able to login to our chase account. Step 2 it completes the transaction and see a screen that says you have succesfully connected your accounts. Please close this window. There are no close buttons shown. The account does not show in our apps account section.

#

Another test user was able to connect to chase and saw the bank account in our app

vagrant arrow
#

do you have the request ids or a corresponding object id for those two sessions e.g. the financial connection session id?

bright summit
#

I do not.

#

where would i find that?

vagrant arrow
bright summit
#

i am looking at the logs what do you need me to send

vagrant arrow
#

can you share the request id for both of those attempts i.e. where the account does not show in your apps, and the other attempt where the test user was able to connect and see the bank account in your app

bright summit
#

not sure if this is the one for adding the bank that failed. Please check as there are multiple request id's
req_UtOsYgSJwzwkow

#

req_bbXQNBYTPmaOix

#

req_H3vOZqPYhKNN9f

#

i think these last two are the ones that failed

vagrant arrow
#

hmmm

#

which one is the one that succeeded?

bright summit
#

havent found it yet. waiting for my other developer to provide it

#

fca_1LvuA3B0CasBeoGbvwb2isL5

vagrant arrow
#

fca_1LvuA3B0CasBeoGbvwb2isL5 - is this the one that succeeded or failed?

bright summit
#

succeded

#

did you need the response id or the request id on the two failures

vagrant arrow
#

gimme a second, still looking

bright summit
#

ok. thanks

vagrant arrow
#

for fca_1LvuA3B0CasBeoGbvwb2isL5 -> the corresponding customer is cus_MALR4KEqTxFEg0 and the bank account on it was created way before : https://dashboard.stripe.com/logs/iar_aNNbIR37sejTN3. So i don't think the financial connection added an additional bank account or anything. Your app was likely just displaying the already existing bank account.

#

can you point me to which Stripe guide you're referring to when implementing financial connections?

bright summit
#

financial connection API documentation

#

that bank account add was done in august through plaid

#

we are switching to financial connections

vagrant arrow
bright summit
vagrant arrow
#

financial connections cover a very wide range of use cases - i'd like to know what are you using it for? are you just using it to be able to retrieve balances....or?

bright summit
#

to get the user to add their bank account to our app and check balances

#

we are only able to test chase and bank of america as those are the only two banks we can test in live mode

vagrant arrow
#

do you want to be able to debit those bank accounts too?

bright summit
#

yes, the customer is making a purchase from their checking account using financial connections ACH

#

the logs are showing as if they are connected but its not completing the append to the customer account

vagrant arrow
#

to make payment using their checking account is what we call ACH debit payment. You'd want to collect a bank account first - how are you collecting the bank account? Are you using Stripe Checkout, Payment Element, or a custom payment form i.e. stripe.collectBankAccountForPayment?

bright summit
#

we are using financial connections widget. Its the same widget that is referenced in the payment elements system for bank sellection

vagrant arrow
#

are you the developer?

bright summit
#

no. im on the phone with the developer

#

im the project manager

#

he is providing the answers

vagrant arrow
#

this would probably be a lot easier if your developer can join this discussion on discord

bright summit
#

how do i add him

vagrant arrow
bright summit
#

where do i find the thread number

vagrant arrow
bright summit
#

he is coming

livid glen
#

Hello

bright summit
#

hey

vagrant arrow
#

@livid glen are you using the Payment Element to collect the bank account details?

livid glen
#

No, we're using the JS widget for Bank Selection (similiar to how P. Element utilizes the Bank Selection)

vagrant arrow
#

do you mean you're using stripe.collectBankAccountForPayment?

livid glen
#

var stripe = Stripe(result.stripe_api_key);
stripe.collectFinancialConnectionsAccounts({
clientSecret: result.financial_connection_response.client_secret
})

#

Using V3 JS

#

Here is a sample snippet

function financialConnection(result) {
console.log('stripe initialization');
var stripe = Stripe(result.stripe_api_key);
stripe.collectFinancialConnectionsAccounts({
clientSecret: result.financial_connection_response.client_secret
})
.then(function(result) {
console.log('result',result);
if (result.error) {
// Inform the customer that there was an error.
console.log('error_message 571',result.error.message);

  // Handle next step based on length of accounts array
} else if (result.financialConnectionsSession.accounts.length === 0) {
  console.log('No accounts were linked');
} else {
  console.log('success 577',result.financialConnectionsSession.accounts);
  var stripe_financial_store = "{{url('stripe_financial_connection')}}";
  $.ajax({
    url: stripe_financial_store,
    method: "POST",
    data: {
      "financial_id": result.financialConnectionsSession.accounts[0].id,
      "last_four_digits": result.financialConnectionsSession.accounts[0].last4,
      "bank_name": result.financialConnectionsSession.accounts[0].institution_name
    },
    success: function(result) {
      console.log(result);
      if(result.message == 'stripe_financial_connection') {
        $('#popup-financial-success').modal('show');
      } 
    
    },
  });
}

}).catch((error) => console.log('catch error', error));
console.log('stripe last');
}

vagrant arrow
#

gimme a while to 👀

livid glen
#

Firstly - The reference is actually not about making a PAYMENT (paymentIntent) but about capturing and storing the customers Bank Account details

#

Let me review your second link right now

#

Could you let me know why we'd use the : stripe.collectBankAccountForPayment instead of the stripe.collectFinancialConnectionsAccounts

vagrant arrow
#

for context, from what i understand from stripe.collectFinancialConnectionsAccounts - it doesn't create / attach a bank account i.e. (ba_ object) to the customer automatically. This is why you aren't seeing any bank account created on the customer.

If you review this page : https://stripe.com/docs/financial-connections/other-data-powered-products?platform=web#accept-ach-direct-debit - you'll see that you'll subsequently need to create a PaymentIntent or SetupIntent to attach the bank account to the customer or make payment if you use stripe.collectFinancialConnectionsAccounts

livid glen
#

Yes ... but you need to first generate a connection with FC (generating a FC customer account), so that you can then connect and store that account. You'll notice in the link you provided (set-up-payment) the "payment_method_data" references an "FCA_" account

// Set your secret key. Remember to switch to your live secret key in production.
// See your keys here: https://dashboard.stripe.com/apikeys
$stripe = new \Stripe\StripeClient('OOGA_BOOGA');

$stripe->paymentIntents->create(
[
'payment_method_types' => ['us_bank_account'],
'payment_method_data' => [
** 'us_bank_account' => ['financial_connections_account' => 'fca_...'],**
'type' => 'us_bank_account',
'billing_details' => ['name' => 'J. Customer'],
],
'amount' => 100,
'currency' => 'usd',
]
);

vagrant arrow
#

umm, please don't share your test secret key

#

this is a public channel and you should consider it as compromised and roll it

livid glen
#

That was from your documentation

vagrant arrow
#

ah alright, but if you're logged in to your Stripe account, it may display your secret key

livid glen
vagrant arrow
livid glen
#

Ok to be clear, we're trying to get the customers bank account (via the POPUP UI), but the above /set-up-payment link you provided is for normal setup.

In order to even utilize a FC account within this flow, you need to have first created this connection with the customer.

https://stripe.com/docs/payments/ach-debit/set-up-payment?platform=web#access-data-on-a-financial-connections-bank-account
*This step only applies if you opted to request permission to additional account data when creating your SetupIntent.

After your customer successfully completes the Stripe Financial Connections authentication flow, the us_bank_account PaymentMethod returned includes a Financial Connections account ID. Use this ID to access account data.

To determine the Financial Connections account ID, retrieve the payment intent and expand the payment_method attribute:*

#

Or are you saying that if we follow this path (https://stripe.com/docs/payments/ach-debit/set-up-payment) we can utlize FC still ? and if so, is this documented somewhere (possibly with an example)

And later on when we place an ORDER (payment intent) can we still utilize FC for these accounts for Balance checks

vagrant arrow
#

if you follow that guide, it's using FC behind the scenes. If you want to utilize FC for those accounts for balance checks, then you would include that permission when creating the SetupIntent i.e. "payment_method_options[us_bank_account][financial_connections][permissions][]"=balances

#

yes, you can still utilize FC for balance checks

#

iirc, microdeposits doesn't use FC behind the scenes

livid glen
#

Please confirm that using the above flow, will still utilize the FC Popup UI (the modal that allows you to pick your bank ... and verify your account..etc).

See below image

bright summit
vagrant arrow
#

yes it will allow you to pick your bank and verify your account etc

livid glen
#

@vagrant arrow Ok thank you. We plan to refactor our flow accordingly and will continue to test.

Are you available same time tomorrow ? and/or whats your availability

vagrant arrow
#

you can reach out anytime on discord. I may not be around but my colleagues will be (except on the weekends)

livid glen
#

Can they access this sub-channel ?

vagrant arrow
#

this thread will automatically be closed after some time. I'd suggest posting your question again on the main channel i.e. #dev-help

#

yes, they can read through what we discussed in this thread too