#nathane_code
1 messages ยท Page 1 of 1 (latest)
๐ 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/1370411619439349951
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Looking in to this, I thought that that account was supposed to support instant payouts. In our test bank account numbers we have an account that is meant to simulate an account that doesn't support instant https://docs.stripe.com/connect/testing#account-numbers
You might have more luck if you try a debit card. I will look in to test bank account numbers but it could be helpful for you to try
https://docs.stripe.com/connect/testing#test-debit-card-numbers
yeah, i did too but i'm definitely not seeing that:
3.3.5 :018 > account.refresh.external_accounts.data[0]
=>
#<Stripe::BankAccount:0x43ef4 id=ba_1RMrQ0FvhXDeDbmdCu2LBaDc> JSON: {
"id": "ba_1RMrQ0FvhXDeDbmdCu2LBaDc",
"object": "bank_account",
"account": "acct_1RMrIoFvhXDeDbmd",
"account_holder_name": null,
"account_holder_type": null,
"account_type": null,
"available_payout_methods": [
"standard"
],
"bank_name": "STRIPE TEST BANK",
"country": "US",
"currency": "usd",
"default_for_currency": true,
"fingerprint": "uFicXJwsINWGiqMz",
"future_requirements": {"currently_due":[],"errors":[],"past_due":[],"pending_verification":[]},
"last4": "6789",
"metadata": {},
"requirements": {"currently_due":[],"errors":[],"past_due":[],"pending_verification":[]},
"routing_number": "110000000",
"status": "new"
}
i had the same throught re the debit card... but the Stripe Connect onboarding flow doesn't let you connect non bank accounts
i tried the test bank account (non oauth) option and only selected the "credit card" account. but the workflow then comes back and says that it must be connected to a checking or savings account
and so i've been stuck for a few hours trying things and thought i'd reach out to see what i'm doing wrong
Interesting, when I attach this account without onboarding I do see it as an option. I will see if going through onboarding changes it somehow and will see if there is some setting somewhere that determines this
"without onboarding" ... meaning as a custom connected account? not a standard one?
Correct, it was the quickest way for me to check. The bank account should work the same but we all know how "should" works sometimes
gotcha
Can you send me your code for creating an account and account link? I'll use your same params
sure thing! hangon.
i'm using ruby, and the 11.20 acacia gem
ok, i removed a bit of unrelated business logic that does logging etc, but here's the core of it:
account = Stripe::Account.create({
type: 'standard',
metadata: {
gazelle_company_id: company.token,
},
country: company.country_code,
default_currency: company.currency,
business_profile: {
name: company.name,
}
})
stripe_account_id = account.id
return_to = "/app/v2/settings/payment_processing"
account_link_params = {
account: stripe_account_id,
refresh_url: "#{Rails.application.config.gazelle_host}/stripe_payments/connect_onboarding",
return_url: "#{Rails.application.config.gazelle_host}#{return_to}",
type: 'account_onboarding',
}
account_link = Stripe::AccountLink.create(account_link_params)
redirect_to account_link.url
Thank you, running through this now
๐
Did you use the buttons here (like "Test Institution") or did you click on "Enter test bank account credentials instead" and enter them manually?
i did! i tried many of them
the sandbox bank non-oauth one lets you select accounts (checking, savings, credit, etc)
i tried deselecting the checking and savings, thinking "ok, lets try it with a card"
but the workflow came back saying it must be connected to a checking or savings account
๐
I just realized that the Stripe account itself may not be considered elligible. If you log in as your connected account and go to this page you can check you eligibility
https://dashboard.stripe.com/payouts/instant_payouts_eligibility
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
oh hmm... let me check
woah! sure enough!
do you happen to know what's involved in getting the Stripe account itself eligible for instant payouts?
I am not sure, I just reached out to my colleagues for help looking in to this. My new test account i seeing the same thing. Will get back to you with what we can find.
you're awesome, thanks so much
We haven't been able to find the specific requirement that your test account is missing, though I did notice that in our docs we mention that new accounts aren't immediately elligible.
However, new Stripe users arenโt immediately eligible for Instant Payouts.
https://support.stripe.com/questions/what-are-instant-payouts-and-who-is-eligible
hmm, ok let me check a test account i created a year ago and see what that looks like
i'm seeing the same thing for an account that was created in 2022 and has completed all verification requirements:
3.3.5 :019 > account_id = "acct_1Kly5i2HtxmiGLZq"
=> "acct_1Kly5i2HtxmiGLZq"
3.3.5 :020 > account = Stripe::Account.retrieve(account_id)
=>
#<Stripe::Account:0x49110 id=acct_1Kly5i2HtxmiGLZq> JSON: {
...
3.3.5 :021 > account.refresh.external_accounts.data[0]
=>
#<Stripe::BankAccount:0x49f20 id=ba_1KlyKN2HtxmiGLZqYP4Q9dcx> JSON: {
"id": "ba_1KlyKN2HtxmiGLZqYP4Q9dcx",
"object": "bank_account",
"account": "acct_1Kly5i2HtxmiGLZq",
"account_holder_name": null,
"account_holder_type": null,
"account_type": null,
"available_payout_methods": [
"standard"
],
"bank_name": "STRIPE TEST BANK",
"country": "US",
"currency": "usd",
"default_for_currency": true,
"fingerprint": "uFicXJwsINWGiqMz",
"future_requirements": {"currently_due":[],"errors":[],"past_due":[],"pending_verification":[]},
"last4": "6789",
"metadata": {},
"requirements": {"currently_due":[],"errors":[],"past_due":[],"pending_verification":[]},
"routing_number": "110000000",
"status": "new"
}
3.3.5 :022 > Time.at(account.created)
=> 2022-04-07 12:21:51 -0400
3.3.5 :024 > account.requirements
=>
#<Stripe::StripeObject:0x55ca8> JSON: {
"alternatives": [],
"current_deadline": null,
"currently_due": [],
"disabled_reason": null,
"errors": [],
"eventually_due": [],
"past_due": [],
"pending_verification": []
}
3.3.5 :025 > account.future_requirements
=>
#<Stripe::StripeObject:0x5ab40> JSON: {
"alternatives": [],
"current_deadline": null,
"currently_due": [],
"disabled_reason": null,
"errors": [],
"eventually_due": [],
"past_due": [],
"pending_verification": []
}
3.3.5 :026 >
^^^ to show that there are no pending requirements
Gotcha. I think at this point the best thing would be to write in to our support team to ask them to take a look and see if they can enable this for your test accounts. They should be able to look in to this better than I can
If you are looking to test via the API, you can test this via Custom accounts in the meantime, I can share my API call to create an activated Custom account here if that helps.
ok, i will write in to support. yes, if you are able to share your code for creating a custom account that has the ability to trigger an instant payout, that would be great! i'm not very familiar with custom accounts, but my high level understanding is that i would need to trigger some test charges and the funds would be deposited into my platform account, then i'd need to somehow move those funds into the connected account before triggering the instant payout. does that sound correct?
type: 'custom',
country: 'US',
email: 'person@example.com',
external_account: {
object: 'bank_account',
account_number: '000123456789',
routing_number: '110000000',
country: 'US',
currency: 'USD',
},
capabilities: {transfers: {requested: true}},
business_profile: {
mcc: '7623',
name: 'SEPA Destination Charge Repro',
url: 'https://mastadon.social/validurl',
},
business_type: 'individual',
individual: {
email: 'error@repro.com',
first_name: 'Jenny',
last_name: 'Rosen',
id_number: '424444242',
phone: '(000)000-0000',
address: {
city: 'South San Francisco',
line1: 'address_full_match',
postal_code: '94080',
state: 'CA',
},
dob: {
day: 1,
month: 1,
year: 1901,
},
},
tos_acceptance: {
date: 1676584560,
ip: '8.8.8.8',
},
})```
And you can do your normal direct charges flow with this account, that will send funds to the connected account. In prod you wouldn't want to do direct charges with a custom account because of some rough edges but for testing payouts in test mode you shouldn't run in to any issues that I can immediately think of,
Also if you don't use these already, we have test cards that make their balance immediately available for paying out instead of having to wait
https://docs.stripe.com/testing#available-balance
awesome! thank you so very much for your help. truly appreciate it. have a great weekend
You as well!