Skip to main content

Data Source

Follow the instructions below to create a new data flow that ingests data from a Stripe source in Nexla.
stripe_api.png

Stripe

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Stripe connector tile from the list of available connectors. Then, select the credential that will be used to connect to your Stripe account, and click Next; or, create a new Stripe credential for use in this flow.

  3. In Nexla, Stripe data sources can be created using pre-built endpoint templates, which expedite source setup for common Stripe endpoints. Each template is designed specifically for the corresponding Stripe endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Stripe sources can also be configured manually, allowing you to ingest data from Stripe endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Stripe endpoints. Each template is designed specifically for the corresponding Stripe endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    Get All Records of a Type

    This endpoint template retrieves a list of all records of a specific type from your Stripe account. Use this template when you need to access comprehensive data for charges, customers, products, subscriptions, invoices, or other Stripe resources for analysis, reporting, or integration purposes.

    • Enter the Resource Type in the Resource Type field. This should be the type of Stripe records you want to retrieve (e.g., charges, customers, products, subscriptions, invoices, etc.). The Resource Type determines which type of records will be retrieved. See the API documentation URL for details about available resources. The endpoint uses ID-based pagination to handle large datasets efficiently, returning up to 100 records per page by default.
    • Optionally, enter a Starting After record ID to start pagination from a specific point. This should be the ID of the last record from the previous page. The Starting After parameter determines where pagination begins.

    This endpoint returns all records of a specific type from your Stripe account, sorted by creation date with the most recently created appearing first. The endpoint uses ID-based pagination with starting_after parameter to handle large datasets efficiently. Nexla will automatically follow the pagination by using the last record ID from each page to fetch subsequent pages of data.

    Use the Filter Records endpoint if you want to fetch a filtered list of items. The Resource Type can be selected from available options (e.g., accounts, balance_transactions, charges, customers, disputes, events, invoices, products, subscriptions, etc.). For detailed information about available resources, API response structures, pagination, and record types, see the Stripe API Documentation.

    Get Filtered Records of a Type

    This endpoint template retrieves a list of records of a specific type matching filter criteria from your Stripe account. Use this template when you need to access filtered data based on specific conditions, such as date ranges, status, or other criteria for analysis, reporting, or integration purposes.

    • Enter the Resource Type in the Resource Type field. This should be the type of Stripe records you want to retrieve (e.g., charges, customers, products, subscriptions, invoices, etc.). The Resource Type determines which type of records will be retrieved. See the API documentation URL for details about available resources.
    • Enter the Query in the Query field. This should be a valid URL query string for filtering (e.g., created[gte]=1640995200&status=succeeded). The Query parameter determines which records will be retrieved based on the filter criteria. Check out the API documentation for allowed search criteria and parameter formats for each record type. The endpoint uses ID-based pagination to handle large datasets efficiently, returning up to 100 records per page by default.
    • Optionally, enter a Starting After record ID to start pagination from a specific point. This should be the ID of the last record from the previous page. The Starting After parameter determines where pagination begins.

    This endpoint returns records of a specific type matching filter criteria from your Stripe account, sorted by creation date with the most recently created appearing first. The endpoint uses ID-based pagination with starting_after parameter to handle large datasets efficiently. Nexla will automatically follow the pagination by using the last record ID from each page to fetch subsequent pages of data.

    The Filter Query must be a valid URL query string. Check out the API documentation for allowed search criteria and parameter formats for each record type. The Resource Type can be selected from available options (e.g., accounts, balance_transactions, charges, customers, disputes, events, invoices, products, subscriptions, etc.). For detailed information about filtering, API response structures, pagination, and available filter parameters, see the Stripe API Documentation.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Stripe data sources can be manually configured to ingest data from any valid Stripe API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex Stripe sources, such as sources that use chained API calls to fetch related data or sources that require custom query parameters or filters.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Stripe API from the Method pulldown menu. Stripe API typically uses GET method for retrieving data from endpoints, though some endpoints may use POST method.

API Endpoint URL

  1. Enter the URL of the Stripe API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL to your Stripe endpoint (e.g., https://api.stripe.com/v1/charges, https://api.stripe.com/v1/customers?limit=100). Include any required query parameters in the URL.

Ensure the API endpoint URL is correct and accessible with your current credentials. The Stripe API endpoint URL should include the API base URL (https://api.stripe.com/v1/) and the resource path. You can test the endpoint using the Test button after configuring the URL.

Response Data Path

  1. Enter the JSONPath expression in the Response Data Path field to specify which part of the API response should be treated as the relevant data by Nexla. For Stripe API responses, use $.data[*] to extract all items from the data array, or $[*] to extract all items from the response array, depending on your endpoint.

The JSONPath expression must correctly reference the structure of your Stripe API response. Stripe API responses typically have a data array containing the records. Ensure your JSONPath expression matches the structure returned by your specific endpoint. The JSONPath expression determines which data will be extracted and processed by Nexla.

Pagination (if applicable)

  1. If your endpoint supports pagination, configure the pagination settings in the Pagination section. Stripe API uses ID-based pagination with starting_after parameter for most endpoints. Select the pagination type that matches your endpoint's pagination mechanism.

  2. Configure the pagination parameters based on your selected pagination type. For ID-based pagination, specify the ID field name (id), the parameter name (starting_after), and how to extract the ID from the response.

Save the Data Source

  1. Once all of the relevant steps in the above sections have been completed, click the Next button to proceed with the rest of the data flow configuration, or click Save to save the data source configuration for later use.