Is it the purpose of Plaid to return the user's account # and routing # in the form of a Stripe bank account token?
There doesn't seem to be a field for account numbers and routing numbers in the request APIs.
tr12
lukeescude: sorry, I'm not sure what you mean
stripe has methods for tokenizing bank accounts (ie: by providing, among other things, the account number & routing number), but I don't think that's what you're looking for
the bank account token from plaid will show the routing number, though not the account number, since that information is sensitive
what request API are you referring to?
lukeescude
It seems that with Plaid, our customers have to manually log into their bank accounts through our website to authenticate their bank accounts.
tr12
right
lukeescude
And people are okay with that?
tr12
banks don't really provide a better mechanism
I'd kill for an oauth api to my bank, but it just doesn't exist
lukeescude
Why can't bank accounts work like credit cards?
tr12
in short, because knowing the account number is not sufficient proof that you control the bank account
it's not a secret number, and account numbers have comically little entropy in them
stripe410 joined the channel
stripe410
Hi, I need the checkout button to be in Danish. How can I change the language?
T1m0thy joined the channel
lukeescude
Good points. Looks like we're going with microdeposits xD
tr12
lukeescude: to be clear, ACH is known to be a worse checkout experience than credit cards
the main benefit is that it's just far cheaper to process than credit cards are
Guest2393 has quit
stripe410: unfortunately, danish isn't currently a language that stripe is translated into
ok thanks tr12. So if I want create my own button I need to talk to a developer? Don't know how to code myself
tr12
stripe410: to be clear, you'll need to write code even if you do use checkout
stripe410
I can copy paste the html form if that is what you are refering to :)
tr12
stripe410: an alternative to writing your own integration is to use a service like squarespace or shopify
stripe410: no, I mean that you'll need to write some backend code to actually create the charge
oyeyoe joined the channel
stripe410
oh I thought you took the checkout form, changed the key to the live one and you would be good to go?
oyeyoe
Anyone around with knowledge of the events related to managed accounts? (Charges, transfers, etc)
einnjo has quit
tr12
stripe410: unfortunately not - checkout just *collects* card information
it doesn't actually create a charge, since you need some sort of trusted environment for that code to run in
otherwise the client can do whatever it wants (eg: change the amount of the charge, etc.)
oyeyoe: sure, what are you wondering about?
stripe410
oki so you do that in the backend dashboard?
tr12
stripe410: you'd need to have a server running code in a serverside language like ruby, python, php, etc., creating the charge
oyeyoe
tr12: Okay to confirm first - When creating a charge on the platform with the destination parameter set, a charge is created on the platform, and then a transfer is made from the platform to the conntected account.
tr12
oyeyoe: correct
oyeyoe
tr12: okay and on each connected account, there is a payout schedule set, e.g. weekly on tuesdays. At which point another transfer is created from the connected account to the connected accounts external account (bank) is that right?
tr12
oyeyoe: yep
oyeyoe
tr12: okay cool, so when the transfer is created from the connected account to the external bank account, a transfer event of some sort is fired right? transfer.paid?
stripe410
thanks for your help man
tr12
transfer.created would be fired when the transfer is created, and transfer.paid at the estimated time it lands in the user's bank account
einnjo joined the channel
stripe410: np! - to reiterate, it feels like a 3rd party service or a plugin that integrates stripe might be your best bet
oyeyoe
tr12: Is there an event fired when the money is "guarenteed" to be in the bank account?
stripe410
yea running wp so going to try and find a plugin :)
stripe410: ah, yeah - a plugin is the ticket, then
a lot of people use woocommerce
stripe410
great cheers
tr12
oyeyoe: guaranteed is a fairly specific word :P
oyeyoe: essentially nothing about how the underlying transfer mechanism works can be held to an absolute
roughly speaking, transfer.paid is the 99th percentile of when transfers arrive, plus a fudge factor
oyeyoe
tr12: haha i figured as much, so "transfer.paid" is the closest event right? Like if I had to notify someone when money has been moved into their bank account, thats the event to use?
tr12
that's the one
oyeyoe
tr12: okay cool. On a similar note, I see a transfer.create event in my platform with status="paid". What does paid represent in that context? That money has been successfully "taken" from the sender card?
tr12
oyeyoe: (if you're curious, the crux of the problem is that the sender of a transfer never gets back an ACK when the transfer arrives successfully - the bank will NACK in the event of a failure, but there's no spec that lays out the latest possible delay they can NACK at)
(so the best anyone can hope to do is pick a "sufficiently long" delay after which you consider the transfer successful)
oyeyoe
tr12: thanks for unpacking that :) I thought that was probably the case. Banking systems are ... cray. lol
tr12
oyeyoe: that event is about the transfer going from your platform account to the connected account
that's a book transfer within stripe, so it's immediate, and never fails
it represents the money that the connected account receives from the charge
if you're looking for an event about the charge succeeding, it's easiest to have your code rely on the synchronous success/fail response when you create the charge
(there's also a charge.succeeded event you can listen to, but it's redundant if you're the one creating the charge - you already know the outcome of the API call)
oyeyoe
tr12: okay neat - so if im interested in writing a webhook to pickup and act on money when its finally "made it" in to the external bank account, I should listen for transfer.paid on the connected accounts right? Transfer.paid won't fire in other circumstances? (I assume)
tr12: Yeah i'm creating the charge sync'ly so no need for that hook :)
tr12
yup
specifically, you'd want to have a connect webhook endpoint to listen to transfer.paid events from your connected accounts
you don't much care about the transfers arriving in your own account
I mean
you do
but at least not in this context :P
lukeescude has quit
oyeyoe
tr12: lol yeah gotcha :) okay and "paid.failed" is if it cant be moved in the external account right? Does the "auto refund after 30 days" still apply in that situation?
tr12
stripe doesn't auto-refund charges after the 30 day limit
you're just expected to transfer the charges out, or refund them before the limit
my recollection is that you're given a bit more leeway if the bank account they've provided is bad, but I'm not sure about the details there
which would sure explain why they were doing 200 knots
do not want
oyeyoe
Yeah I also saw a documentary about that plane too. That's where I learned about that emergecy electrical turbine - never knew.
tr12
yeah, I also did not know larger planes had those
(I fly a small plane, and the strategy at that scale is to make sure that you have a set of analog instruments you can fail over to)
oyeyoe
Yeah it makes sense, at the time I just never really considered that passenger jets would have equipment like that. Like engineers had to consider the problem of a 767 (or whatever) with no power, full of people. That's a tough job, psychologically. Anyways, I digress..
tr12
hehe, indeed
gingerale has quit
einnjo has quit
oyeyoe
I wonder if Stripe is used by any supplier within an airline supply chain.
tr12
I've definitely seen aviation-related businesses on stripe before
oyeyoe has quit
nmee joined the channel
huntwelc_ has quit
nmee
Hi! The shoppers email address doesn't show up in the Stripe dashboard. I'm using Checkout with a very simple node.js backend, and while the email address is available in the node.js code, it isn't picked up by the stripe.charges.create code (unlike the address and more). I always want to collect the email (if available), but I don't want to override the "send receipt" setting (that the receipt_email