Stripe
Stripe is an online payment processing platform.
Features
| Feature Name | Supported | Notes |
|---|---|---|
| Capture deletes | check | BANK_ACCOUNT, CARD, COUPON, CUSTOMER, INVOICE, INVOICE_ITEM, PERSON, PLAN, PRICE, PRODUCT, and SKU tables. |
| History mode | check | SUBSCRIPTION_HISTORY table. |
| Custom data | ||
| Data blocking | check | |
| Column hashing | check | |
| Re-sync | check | |
| API configurable | check | API configuration |
| Priority-first sync | check | APPLE_PAY_DOMAIN, CHECKOUT_SESSION, CREDIT_NOTE, EARLY_FRAUD_WARNING, PLAN, and SKU. |
| Fivetran data models | check | |
| Private networking | ||
| Authorization via API | check |
* Connections created before February 1, 2022, do not have history mode.
Supported environments
Our two Stripe connectors, Stripe and Stripe Test Mode, support the following environments:
| CONNECTOR NAME | ENVIRONMENT |
|---|---|
| Stripe | Production (Live mode) |
| Stripe Test Mode | Test mode |
Supported deployment models
We support the SaaS and Hybrid deployment models for the connector.
You must have an Enterprise or Business Critical plan to use the Hybrid Deployment model.
Setup guide
Follow our step-by-step Stripe setup guide to connect Stripe with your destination using Fivetran connectors.
Sync overview
We use hard deletes to remove records from the following tables:
APPLICATION_FEE_REFUNDCHECKOUT_SESSION_LINE_ITEMCHECKOUT_SESSION_LINE_ITEM_DISCOUNTCHECKOUT_SESSION_LINE_ITEM_TAX_RATECHECKOUT_SESSION_PAYMENT_METHODCHECKOUT_SESSION_SHIPPING_ADDRESS_ALLOWED_COUNTRIESCHECKOUT_SESSION_SHIPPING_OPTIONCHECKOUT_SESSION_TAX_RATECREDIT_NOTE_LINE_ITEMCUSTOMER_BALANCE_TRANSACTIONCUSTOMER_DISCOUNTDISCOUNTDISPUTE_BALANCE_TRANSACTIONFEEINVOICE_CUSTOM_FIELDINVOICE_DISCOUNTINVOICE_ITEM_TAX_RATEINVOICE_LINE_ITEMINVOICE_LINE_ITEM_TAX_RATEINVOICE_TAX_RATEORDER_ITEMORDER_RETURN_ITEMPHASEPHASE_PLANSETUP_ATTEMPTSHIPPING_METHODSUBSCRIPTION_DISCOUNTSUBSCRIPTION_ITEMSUBSCRIPTION_TAX_RATETIERTRANSFER_REVERSALUSAGE_RECORD
The shape of the resources that the Stripe API retrieves from the Events endpoint depends on the default version of the API used by your Stripe account. Make sure that your Stripe account uses an API version released after February 19, 2019.
To capture new records and updates, we re-import the PLAN table every time we perform a sync for your connection.
Schema information
This schema applies to all Stripe connections.
To zoom, open the ERD in a new window.Schema notes
The CARD table does not include credit card number or CVV code data. Instead, the fingerprint column contains Stripe-provided hashes that uniquely identify each card number. You can use this column to check if two customers who've signed up are using the same card number.
If you want to sync the following columns in the CARD table, contact Stripe support to enable them on your account because these columns are not available in the standard Stripe API requests:
iindescriptionissuer
To sync data from the CARD, BANK_ACCOUNT, and SOURCE tables, select the CHARGE, SOURCE, BANK_ACCOUNT, PAYMENT_METHOD, CARD, and ACCOUNT tables in the Schema tab.
To sync PAYMENT_METHOD and its child tables, PAYMENT_METHOD_CARD, AU_BECS_DEBIT, FPX, IDEAL, and SEPA_DEBIT, you must select the SETUP_INTENT, SETUP_ATTEMPT, PAYMENT_INTENT, CUSTOMER, and CHARGE tables in the Schema tab. This is because PAYMENT_METHOD is a child table of these tables. For example:
- If you do not select the
PAYMENT_INTENTtable, we cannot sync thePAYMENT_METHODdata used in thePAYMENT_INTENTtable and further cannot sync the child tables of thePAYMENT_METHODtable. - If you do not select the
SETUP_INTENTtable, we cannot sync thePAYMENT_METHODdata used inSETUP_INTENTand further cannot sync the child tables for thePAYMENT_METHODtable.
To sync data from the DISPUTE, PAYOUT and BALANCE_TRANSACTION tables, select the DISPUTE, PAYOUT, and BALANCE_TRANSACTION tables in the Schema tab.
To sync data from the INVOICE, PRICE and PRODUCT tables, select the INVOICE, PRICE, PRODUCT, INVOICE_TAX_RATE, INVOICE_DISCOUNT, INVOICE_LINE_ITEM, and INVOICE_LINE_ITEM_TAX_RATE tables in the Schema tab.
Connected Accounts
Fivetran supports syncing Connected Accounts data for the following endpoints:
- Events
- Charges
- Payouts
- Balance Transaction
- Apple Pay Domain
- Refunds
- Disputes
- Payment Intent
Enabling Connected Accounts Sync
To sync data from connected accounts:
- In the Schema tab, select the
ACCOUNTtable. - In the connection setup form, set the Sync Connected Accounts toggle to ON.
Toggle Behavior
- ON: Fivetran captures both new connected accounts and all subsequent updates in the
ACCOUNTtable. - OFF: Fivetran captures only new connected accounts; updates to existing accounts are ignored.
- We populate the
connected_account_idcolumn for all supported tables. - If you enable this feature during a sync, we automatically perform a historical re-sync of the supported tables.
Sync overview
On a weekly basis, we re-sync pending balance transactions. During these re-syncs, we sync back to the earliest pending balance transaction that's present in the Stripe account.
We do not initiate any action when you click Re-sync for the SUBSCRIPTION_HISTORY table. This is because re-syncing this table might result in the loss of historical data.
Syncing empty tables and columns
Fivetran can sync empty tables and columns for your Stripe connection.
We create a table in the destination even if we can't retrieve the source table data from Stripe. For more information, see our Features documentation.
If the INVOICE_LINE_ITEM table is empty, we add the invoice_item_id column only if it contains a non-null value.
Historical sync time frame
You can configure the historical sync time frame when setting up your connection to speed up both the initial sync and subsequent re-syncs. The historical sync time frame limits the amount of data synced for the following tables:
APPLICATION_FEEAUTHORIZATIONBALANCE_TRANSACTIONCHARGEDISPUTEFILEFILE_LINKINVOICEINVOICE_ITEMISSUING_DISPUTEISSUING_TRANSACTIONORDER_RETURNPAYMENT_INTENTPAYOUTREFUNDREVIEWSETUP_INTENTTOPUPTRANSFER
We apply the selected start date only to these tables, as they contain data that you are less likely to reference much later.
You can modify the historical sync time frame at any time. If you change it to an earlier date, we perform a full historical re-sync to sync data back to that new date. If you set it to a later date, we do not delete any existing data. Instead, we apply the new time frame only to subsequent re-syncs.
Limitations
Fivetran uses the Stripe API events to detect and sync changes. Stripe does not generate an event if only the metadata object is updated. Because the API doesn’t return an event for the metadata changes, Fivetran can’t automatically capture and sync the metadata changes.
When we sync the
CARD_PAYMENTS_FEES_TRANSACTION_LEVEL_1table, we only retrieve data up to 2 days before the current date. For example, during the sync on January 3, 2025, we retrieve data up to January 1, 2025. We use this strategy to maintain data integrity and account for potential delays in Stripe Report API responses.Avoid using the
payout_idcolumn in theBALANCE_TRANSACTIONtable. Instead, use thePAYOUT_BALANCE_TRANSACTIONtable to get the relationship between the PAYOUT and BALANCE_TRANSACTION tables.
UTC conversion
We don't convert source timestamps to Universal Time Coordinated (UTC) but use the Stripe account's time zone to store the data in your destination.