#keith41281
1 messages · Page 1 of 1 (latest)
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?
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
do you have the request ids or a corresponding object id for those two sessions e.g. the financial connection session id?
i am looking at the logs what do you need me to send
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
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
havent found it yet. waiting for my other developer to provide it
fca_1LvuA3B0CasBeoGbvwb2isL5
fca_1LvuA3B0CasBeoGbvwb2isL5 - is this the one that succeeded or failed?
gimme a second, still looking
ok. thanks
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?
financial connection API documentation
that bank account add was done in august through plaid
we are switching to financial connections
to clarify, which guide on the left menu are your developers looking at : https://stripe.com/docs/financial-connections
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?
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
do you want to be able to debit those bank accounts too?
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
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?
we are using financial connections widget. Its the same widget that is referenced in the payment elements system for bank sellection
are you the developer?
no. im on the phone with the developer
im the project manager
he is providing the answers
this would probably be a lot easier if your developer can join this discussion on discord
how do i add him
you can ask him to join https://stripe.com/go/developer-chat and then join this thread
where do i find the thread number
he is coming
Hello
hey
@livid glen are you using the Payment Element to collect the bank account details?
No, we're using the JS widget for Bank Selection (similiar to how P. Element utilizes the Bank Selection)
do you mean you're using stripe.collectBankAccountForPayment?
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');
}
gimme a while to 👀
is there a reason why you're using stripe.collectFinancialConnectionsAccounts instead of following either of these guides?
https://stripe.com/docs/payments/ach-debit/accept-a-payment?platform=web&ui=API
https://stripe.com/docs/payments/ach-debit/set-up-payment
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
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
for your use case, you should follow https://stripe.com/docs/payments/ach-debit/set-up-payment
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',
]
);
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
umm, please don't share your test secret key
this is a public channel and you should consider it as compromised and roll it
That was from your documentation
ah alright, but if you're logged in to your Stripe account, it may display your secret key
i don't think we're referring to the same page? If i refer to https://stripe.com/docs/payments/ach-debit/set-up-payment - it doesn't include an fca session at all in the API calls
Yes thats correct, and we're attempting to utilize Financial Connections to get the customers bank details.
So are you saying that in order to use FInancial Connections to do this (with the popup UI) we have to use this flow: https://stripe.com/docs/payments/ach-debit/accept-a-payment?platform=web&ui=API
if you want to collect the bank account details upfront (and not collect payment immediately), you should follow this guide : https://stripe.com/docs/payments/ach-debit/set-up-payment
If you want to collect the bank account details to make payment immediately, you should follow this guide : https://stripe.com/docs/payments/ach-debit/accept-a-payment?platform=web&ui=API
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
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
you'd probably want to ensure that you only support instant verification though : https://stripe.com/docs/payments/ach-debit/set-up-payment?platform=web#instant-only-verification
iirc, microdeposits doesn't use FC behind the scenes
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
yes it will allow you to pick your bank and verify your account etc
@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
you can reach out anytime on discord. I may not be around but my colleagues will be (except on the weekends)
Can they access this sub-channel ?
this thread will automatically be closed after some time. I'd suggest posting your question again on the main channel i.e. #dev-help
if necessary, you can point them to this thread again with this link : https://discord.com/channels/841573134531821608/1034292396499935333
yes, they can read through what we discussed in this thread too