#nathane_code

1 messages ยท Page 1 of 1 (latest)

dusky nymphBOT
#

๐Ÿ‘‹ 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.

iron dawn
remote holly
#

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

iron dawn
#

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

remote holly
#

"without onboarding" ... meaning as a custom connected account? not a standard one?

iron dawn
#

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

remote holly
#

gotcha

iron dawn
#

Can you send me your code for creating an account and account link? I'll use your same params

remote holly
#

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
iron dawn
#

Thank you, running through this now

remote holly
#

๐Ÿ‘

iron dawn
#

Did you use the buttons here (like "Test Institution") or did you click on "Enter test bank account credentials instead" and enter them manually?

remote holly
#

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

#

๐Ÿ˜•

iron dawn
remote holly
#

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?

iron dawn
#

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.

remote holly
#

you're awesome, thanks so much

iron dawn
remote holly
#

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

iron dawn
#

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.

remote holly
#

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?

iron dawn
#
  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,

remote holly
#

awesome! thank you so very much for your help. truly appreciate it. have a great weekend

iron dawn
#

You as well!