Stripe (v3) |
/integrations/saas/stripe |
stripe, integration, schema, etl stripe, stripe etl, stripe schema |
Connection instructions, replication info, and schema details for Stitch's Stripe integration. |
singer |
stripe-setup |
stripe |
Stripe |
true |
Stripe |
|
3 |
|
true |
1 year |
30 minutes |
Standard |
|
platform.stripe |
true |
true |
true |
true |
true |
true |
600 days |
true |
true |
data-structure |
data-volume |
lots-of-full-table |
true |
false |
false |
|
true |
Stitch's {{ integration.display_name }} integration replicates data using the {{ integration.api | flatify | strip }}. Refer to the [Schema](#schema) section for a list of objects available for replication.
|
item |
**Administrator permissions in {{ integration.display_name }}.** This is required to grant Stitch access to {{ integration.display_name }}.
|
|
|
title |
anchor |
content |
Add {{ integration.display_name }} as a Stitch data source |
add-stitch-data-source |
{% include integrations/shared-setup/connection-setup.html %}
4. In the **Lookback window** field, enter the number of historical days' worth of data you would like to replicate from the start date. The maximum lookback period is 600 days. This field is optional. Head to the [Lookback windows and data extraction](#lookback-windows-extraction) section to learn more about this.
|
|
title |
anchor |
content |
Define the historical replication start date |
define-historical-sync |
{% include integrations/saas/setup/historical-sync.html %}
|
|
title |
anchor |
content |
Create a replication schedule |
define-rep-frequency |
{% include integrations/shared-setup/replication-frequency.html %}
|
|
title |
anchor |
content |
Authorize Stitch to access {{ integration.display_name }} |
grant-stitch-authorization |
1. Next, you'll be prompted to sign into your {{ integration.display_name }} account.
2. A screen explaining what you're authorizing will display. **Note**: Stitch will only ever read your {{ integration.display_name }} data, and cannot create charges or any other records in {{ integration.display_name }}.
3. Click **Sign in with {{ integration.display_name }} to connect**.
4. Sign into your {{ integration.display_name }} account.
5. After the authorization process is successfully completed, you'll be directed back to Stitch.
6. Click {{ app.buttons.finish-int-setup }}.
|
|
title |
anchor |
content |
Set objects to replicate |
setting-data-to-replicate |
{% include integrations/shared-setup/data-selection/object-selection.html %}
|
|
|
title |
anchor |
content |
Events table replication |
event-table-replication |
{{ integration.display_name }} will only provide 30 days of historical event data for the `events` table. Refer the the [{{ integration.display_name }} docs]( https://stripe.com/docs/api/events){:target="new"} for more information about the `events` table.
|
|
title |
anchor |
content |
subsections |
Objects and events |
objects-events |
In the {{ integration.display_name }} API, there are two concepts:
- **Objects**, which are items like charges, invoices, customers, etc.
- **Events**, which are changes to objects. For example: An invoice being created, or its status going from `draft` to `open`.
Whenever an object is created or updated in {{ integration.display_name }}, a corresponding event is created. Because {{ integration.display_name }} creates and updates object records in this way, there are two types of tables in Stitch's {{ integration.display_name }} integration:
- A table for **events**, which contains all events that have occurred for {{ integration.display_name }}'s [supported event types]( https://stripe.com/docs/api/events/types){:target="new"}. This table acts as a history for an object record, showing how it has been changed over time.
- Tables for **objects**, which contains the latest version of records. These are tables like [`customers`](#customers), [`charges`](#charges), [`invoices`](#invoices), etc.
**Note**: Updates based on events is only applicable to the type of object the event is for. For example: If a dispute object is updated, only the corresponding record in the `disputes` table will be updated. The related `charge` in the `charges` table will **not** be updated. To retrieve related data for different objects, you'll need to use the `events` table. Refer to [{{ integration.display_name }}'s documentation]( https://stripe.com/docs/api/events/types){:target="new"} for info about event types and the objects they describe.
|
title |
anchor |
content |
Example event and object data replication over time |
event-object-data-over-time |
In the image below is an example of how records for the `events` and `invoices` tables will look as an invoice changes over time. **Click the image to enlarge.**
[![Example showing how event and invoice records are replicated as an invoice changes over time]({{ site.baseurl }}/images/integrations/stripe-events.svg)]({{ site.baseurl }}/images/integrations/stripe-events.svg){:target="new"}
|
|
|
|
title |
anchor |
content |
Lookback windows and data extraction |
lookback-windows-extraction |
When Stitch runs a replication job for {{ integration.display_name }}, you can use a configurable lookback window of up to 600 days to query and extract data for your tables. A lookback window is a period of time for attributing shared files and the lookback period after those actions occur.
While Stitch replicates data in this way to account for updates to records made during the lookback window, it can have a [substantial impact on your overall row usage](#lookback-window-row-count-impact).
In the sections below are examples of how lookback windows impact how Stitch extracts data during historical and ongoing replication jobs.
{% include integrations/saas/ads-append-only-replication.html %}
{% include integrations/saas/attribution-window-examples.html %}
|
|
|