Establishing a Connection
Configure a Connection Profile
From the CData ribbon, click Get Data and select From Stripe connection/s to launch the CData Query window. To setup a new connection, you will have to click the New Stripe Connection button. Here you can set the connection settings, test the connection, and save the connection profile.
Connecting to Stripe
Stripe supports authentication via either a live API key or via OAuth.Note: After authenticating, if you only want to retrieve data from a specific Stripe Connected account, set AccountId to that account's Id. To find an Id, log in to the Stripe dashboard and navigate to Connect > Connected accounts. Click an account to open its details page, where the Id is displayed under Profile > Account ID (for example, acct_1234567890abcdef).
Live API Key
If you want to connect via a live API key, you must set the following connection properties:- AuthScheme: APIKey.
- LiveAPIKey: The value of the live API key (see below for instructions on obtaining this value).
To obtain the value of the live API key:
- Log in to the Stripe dashboard.
- Navigate to Developers > API keys > Secret key > Reveal live API Key.
Please note that Stripe does not allow access to the entities in the StripeV2 Data Model using secret keys created under test mode. Secret keys created in either live mode or in sandbox mode are allowed.
Furthermore, access to the entities in the StripeV2 Data Model is not allowed through restricted keys.
OAuth
To authenticate via OAuth, set AuthScheme to OAuth.The following subsections describe how to authenticate to Stripe from three common authentication flows:
- Desktop: The add-in and the browser run on the same machine. Because they share a machine, the add-in can open the browser, listen on a local port (set by CallbackURL) for the returned authorization code, and exchange it for an access token automatically. This option is often used for testing and prototyping. In this flow, you can authenticate with either the embedded OAuth application or a custom OAuth application.
- Web: The add-in runs from within a web application, where the add-in and the browser run on separate machines. Because the add-in cannot open the browser directly, you use stored procedures to generate the authorization URL and to exchange the returned code for tokens. In this flow, you can only authenticate via a custom OAuth application.
- Headless Machine: A machine configured to operate without a monitor, keyboard, or mouse; therefore, one that cannot open a browser to authenticate at runtime. Because the standard desktop flow is unavailable, you either obtain a verifier code from a browser-equipped machine, or perform the entire OAuth flow on one and transfer the resulting OAuth settings file. In this flow, you can authenticate with either the embedded OAuth application or a custom OAuth application.
For information about how to create a custom OAuth application, and why you might want to create one even for auth flows that have embedded OAuth credentials, see Creating a Custom OAuth Application.
For a complete list of connection string properties available in Stripe, see Connection.
Desktop Applications
CData provides an embedded OAuth application that simplifies authentication at the desktop. You can also authenticate from the desktop via a custom OAuth application, which you configure and register at the Stripe console. For further information, see Creating a Custom OAuth Application.Before you connect, set the following connection properties:
- InitiateOAuth: GETANDREFRESH. Used to automatically get and refresh the OAuthAccessToken.
- Custom OAuth applications only:
- OAuthClientId: The client Id assigned when you registered your custom OAuth application.
- OAuthClientSecret: The client secret assigned when you registered your custom OAuth application.
- CallbackURL: The redirect URI defined when you registered your custom OAuth application.
When you connect, the add-in opens Stripe's OAuth endpoint in your default browser. Log in and grant permissions to the application.
When the access token expires, the add-in refreshes it automatically.
Automatic refresh of the OAuth access token:
To have the add-in automatically refresh the OAuth access token, do the following:
- The first time you connect to data, set the following connection properties:
- InitiateOAuth: REFRESH.
- OAuthClientId: The client Id in your application settings.
- OAuthClientSecret: The client secret in your application settings.
- OAuthAccessToken: The access token returned by GetOAuthAccessToken.
- OAuthSettingsLocation: The path where you want the add-in to save the OAuth values, which persists across connections.
- On subsequent data connections, set the following:
- InitiateOAuth: REFRESH.
- OAuthSettingsLocation: The same location you specified above, where the add-in persisted the OAuth values.
Manual refresh of the OAuth access token:
The only value needed to manually refresh the OAuth access token is the OAuth refresh token.
- To manually refresh the OAuthAccessToken after the ExpiresIn period (returned by GetOAuthAccessToken) has elapsed, call the RefreshOAuthAccessToken stored procedure.
- Set the following connection properties:
- OAuthClientId: The client Id in your application settings.
- OAuthClientSecret: The client secret in your application settings.
- Call RefreshOAuthAccessToken with OAuthRefreshToken set to the OAuth refresh token returned by GetOAuthAccessToken.
- After the new tokens have been retrieved, set the OAuthAccessToken property to the value returned by RefreshOAuthAccessToken. This opens a new connection.
Store the OAuth refresh token so that you can use it to manually refresh the OAuth access token after it has expired.
Connection Properties
The Connection properties describe the various options that can be used to establish a connection.
Managing Connections
After successfully authenticating to Stripe you will be able to customize the data you are importing. To learn more about this, see Managing Connections.
See Also
- Querying Data: Use the data selection wizard to pull data into a spreadsheet. You can also configure scheduled data refresh here.
- Using the Excel Add-In: Find other ways to interact with Stripe data, such as using the available CData Excel Functions.