hm thats weird, they wont allow me to use shopify payments anymore D:
Would you guys recommend inputting my products in the stripe dashboard or is there a way to integrate products into stripe from shopify?
markin
chris___: I don't think Shopify supports relay
bklane has quit
chris___
alright, so from the sounds of things my website is functional for payment again
puddles
markin: sorry, yeah. I understand.
bwa has quit
Guest77300 has quit
tr12
chris___: separately, if your shopify payments account was rejected, there's a relatively high chance your stripe account is going to be rejected as well, since shopify payments is basically just a white-labelled version of stripe
chris___: you may want to sanity check with support that stripe will be able to work with your business
Does anyone know when you send your prospective connect users to signup/login, whether it's possible to be sent back additional meta data (like there user id in a database) so when they are returned to your url, you can save there stripe connect account id into there user record?
tr12
irctc830: there's a `state` parameter you can pass to the oauth link to do exactly this
irctc830
cool:) i just seen that, that will be perfect.
tr12
note, of course, that the user can tamper with this value
so if you're passing a user_id back, you'd need to make sure that I can't just plug in alice's user id
irctc830
hmm, good point:)
tr12
if the value you're passing around is essentially "which user is this", you may want to just key this off your normal session authentication, if you have one of those
basiclaser has quit
because when the user is redirected, they're still using their own browser, so they'd still have their session cookie set, if your system uses those
felipe_ joined the channel
irctc830
yeah, unfortunately not.
This is for an App.
tr12
like a mobile app?
irctc830
so we have a single page with no login / session control in place.
tr12
you're presumably doing this in a webframe or something?
irctc830
well, we're actually diverting the user to a url outside of the App to do this.
The user can't login to the App until they successfully connect to our Stripe account.
Sambru joined the channel
felipe has quit
tr12
they're presumably halfway through signup or something at this point, right?
otherwise you'd have nothing to tie back to in your db
irctc830
Our flow at the moment is 1) Email to user (who already has a user id in our database but can't login) with url to connect Stripe. 2) Once signed up, taken to a open url with which we direct them to download the app and login.
yes
they're already half way through the signup, so a userid exists.
tr12
presumably that url contains a secret already, right?
something to identify the user?
you could just pass that same secret as the state param
actually, better yet
set it as an http-only cookie tied to your own domain when you render out the response to that url
then stripe doesn't get to see that secret
gnoze5 has quit
irctc830
Ok tr12, thanks, will give it ago.
one question on your previous suggestion.
tr12
neato
irctc830
if we do simply pass it userid to the state method, i thought as soon as it url redirects, you could simply query the user table for this stateid and update...how is it possible for this stateid to be modified before reaching this point?
regarding your point that someone could modify this stateid..
tr12
update the table how?
as for the modification thing, your app gives me the client a url that it wants me to go to. but I might go to that url, then notice that there are some parameters in the url that I can fiddle with.
tr12: does the chrome developer console let you change http only cookies?
tr12
markin: it does, but that's not the point of http-only cookies
markin: it's just generally good practice to make secrets http-only, because then they're not going to get leaked if you get XSS'd
felipe_ has quit
markin: this absolutely doesn't defend against a user tampering with the value - what defends against that is the fact that you're using something considered to be secret as the cookie
markin
yeah, I was just making sure that the reason behind it wasn't to defend against user tampering