#plant-stripe-apps
1 messages · Page 1 of 1 (latest)
Hi, you're right sharing API secret keys is not recommended, https://stripe.com/docs/keys. Are you able to speak more into what you're exactly doing? Are you trying to attain their reports for Revenue Recognition?
Thanks for asking! I'm trying to query their invoices to show them trends in their revenue (growth, churn, etc.)
To do that, I just need read-only access to their stripe account
It looks like this is possible with Stripe Apps, but I don't need a front end for my app
I just need an OAuth connection that let's me read their stripe data
Have you looked at the restricted API key, https://stripe.com/docs/development/dashboard/manage-api-keys#create-a-restricted-api-secret-key?
It looks like it might solve the issue.
If you're solely looking at OAuth, here is the document: https://stripe.com/docs/connect/oauth-standard-accounts
For the API key option - you're suggesting the user share a readonly API key with my application?
For the OAuth option, I tried creating a "Connect" client as suggested by the link and my customers were asked to connect a bank account for payouts, which is not what I'm interested in.
Thanks for the help, btw
Oh wait, you're not an employee of the account rather, building an app for Revenue Recognition. So scratch that
That's right
That would be useful if you were the employee of the account.
Definitely. Then I would just use my company's api key
With OAuth, I do not think it will solve your issue. Rather, these accounts would need to run the Reports API, https://stripe.com/docs/api/reporting/report_run and ingest the data to your that way.
Unfortunately my users don't have time to send me their reports every day.
It looks like making API calls with connected accounts is possible:
https://stripe.com/docs/connect/authentication
All you need for the connect case is
- Have the user accept the oauth flow
- Get that user's stripe account id
- Use that account ID in your api call (https://stripe.com/docs/api/connected_accounts)
It looks like you can also hit the stripe api once a user is using your stripe app
https://stripe.com/docs/stripe-apps/build-backend#using-stripe-apis
I don't know how step 1 would work for stripe apps, but steps 2 and 3 look the same in that link
I guess I'm a bit confused because the Stripe Connect product lets you read and write stripe data, but there isn't a product that just lets you read stripe data for another company. Is that true?
That is correct. If you're using Platform Connect, then yes - you would be able to make calls on behalf of your Connected account. However, your case is not that. You're not acting as the Platform and you would not need to as these are all independent Connect Accounts making direct charges.
That's right. So how would you recommend I query these charges on behalf of my customers?
These accounts would need to run a cron job on a daily basis to run the Reports API, https://stripe.com/docs/api/reporting/report_run and ingest the data to you.
When you say "these accounts" do you mean that my customers would need to run a cron job to get the reports?
That is correct
Unfortunately that won't work for my application. Are you familiar with Stripe Apps?
Yes, how can I assist there?
The stripe docs say that Stripe Apps can query the stripe api on behalf of connected users: https://stripe.com/docs/stripe-apps/build-backend#using-stripe-apis
Could I use a Stripe App to query for my users invoices and subscriptions?
That is the same as I described before. If you're not the Platform, you won't be able to make this request on behalf of the Connected Account.
So given that you're working with independent, non-connect accounts, this won't work either.
Could you explain what it means that I'm "not the platform"?
yes, it means that a main Stripe Account would have connected accounts: https://stripe.com/connect like a marketplace to accept payments.
I see. So how does an app like "Synder" (https://marketplace.stripe.com/apps/synder) have access to stripe data? It isn't a platform, but it shares data between stripe and quickbooks
In fact there's a whole section of the Stripe App marketplace of companies that just access stripe data: https://marketplace.stripe.com/categories/data_and_analytics
I guess all I would like to know is whether I can create a Stripe App without a frontend
I believe these are Extensions that were built by these apps.
I see. But Extensions are no longer supported: https://stripe.com/docs/stripe-apps/migrate-extension
So I could make this with an app?
plant-stripe-apps
@steel canyon Extensions still work, you can build one
but yes a Stripe App would be a better fit
Great! Thanks. Could you help me understand how to make an extension or a stripe app without a frontend?
You do need some front-end, you said you were an analytics platform right? Why would you show that information in their UI?
Yes, I'm an analytics platform. I have a UI on my own website. I would like to have a button on my website that allows users to "connect to stripe". When they click that button, they would be directed to stripe where they will view the permissions and confirm the connection. After confirmation, they will be sent back to my site.
The reason I said "without a frontend" is that if I am going to make a Stripe App, I would like to avoid having a UI on the Stripe website.
I do think you'd gain a ton more value by having a real UI inside our Dashboard really
but overall it's still doable, there's no need for a UI
https://stripe.com/docs/stripe-apps/build-backend covers most of this
Thank you. It appears that the authentication flow on this page starts on the stripe dashboard:
I would like to make the authentication flow start from my application on my website
Thanks
I think what you do is have a button that will link to your app on the marketplace to install it