Skip to content

Stripe

Stripe is a technology company that builds economic infrastructure for the internet, providing payment processing software and APIs for e-commerce websites and mobile applications.

Bruin supports Stripe as a source for Ingestr assets, and you can use it to ingest data from Stripe into your data warehouse.

In order to set up Stripe connection, you need to add a configuration item in the .bruin.yml file and in asset file. You need api_key. For details on how to obtain these credentials, please refer here.

Follow the steps below to correctly set up Stripe as a data source and run ingestion.

Step 1: Add a connection to .bruin.yml file

To connect to Stripe, you need to add a configuration item to the connections section of the .bruin.yml file. This configuration must comply with the following schema:

yaml
connections:
    stripe:
        - name: 'my-stripe'
          api_key: 'test_123'
  • api_key: the API key used for authentication with the Stripe API

Step 2: Create an asset file for data ingestion

To ingest data from Stripe, you need to create an asset configuration file. This file defines the data flow from the source to the destination. Create a YAML file (e.g., stripe_ingestion.yml) inside the assets folder and add the following content:

yaml
name: public.stripe
type: ingestr
connection: postgres

parameters:
  source_connection: my-stripe
  source_table: 'event'

  destination: postgres
  • name: The name of the asset.
  • type: Specifies the type of the asset. Set this to ingestr to use the ingestr data pipeline.
  • connection: This is the destination connection, which defines where the data should be stored. For example: "postgres" indicates that the ingested data will be stored in a PostgreSQL database.
  • source_connection: The name of the Stripe connection defined in .bruin.yml.
  • source_table: The name of the data table in Stripe you want to ingest. Available tables:
TablePKInc KeyInc StrategyDetails
accountidcreatedmergeContains information about a Stripe account, including balances, payouts, and account settings.
apple_pay_domainidcreatedmergeRepresents Apple Pay domains registered with Stripe for processing Apple Pay payments.
application_feeidcreatedmergeRecords fees collected by platforms on payments processed through connected accounts.
balance_transactionidcreatedmergeRecords transactions that affect the Stripe account balance, such as charges, refunds, and payouts.
chargeidcreatedmergeReturns a list of charges.
checkout_sessionidcreatedmergeContains data about Checkout sessions created for payment processing workflows.
couponidcreatedmergeStores data about discount codes or coupons that can be applied to invoices, subscriptions, or other charges.
credit_noteidcreatedmergeContains credit note information for refunds and adjustments.
customeridcreatedmergeHolds information about customers, such as billing details, payment methods, and associated transactions.
disputeidcreatedmergeRecords payment disputes and chargebacks filed by customers or banks.
eventidcreatedmergeLogs all events in the Stripe account, including customer actions, account updates, and system-generated events.
invoiceidcreatedmergeRepresents invoices sent to customers, detailing line items, amounts, and payment status.
invoice_itemidcreatedmergeContains individual line items that can be added to invoices.
invoice_line_itemidcreatedmergeRepresents line items within invoices.
payment_intentidcreatedmergeRepresents payment intents tracking the lifecycle of payments from creation to completion.
payment_linkidcreatedmergeContains information about payment links created for collecting payments.
payment_methodidcreatedmergeStores payment method information such as cards, bank accounts, and other payment instruments.
payment_method_domainidcreatedmergeRepresents domains verified for payment method collection.
payoutidcreatedmergeRecords payouts made from Stripe accounts to bank accounts or debit cards.
planidcreatedmergeContains subscription plan information including pricing and billing intervals.
priceidcreatedmergeContains pricing information for products, including currency, amount, and billing intervals.
productidcreatedmergeRepresents products that can be sold or subscribed to, including metadata and pricing information.
promotion_codeidcreatedmergeStores data about promotion codes that customers can use to apply coupons.
quoteidcreatedmergeContains quote information for customers, including line items and pricing.
refundidcreatedmergeRecords refunds issued for charges, including partial and full refunds.
reviewidcreatedmergeContains payment review information for payments flagged by Stripe Radar.
setup_attemptidcreatedmergeRecords attempts to set up payment methods for future payments.
setup_intentidcreatedmergeRepresents setup intents for collecting payment method information.
shipping_rateidcreatedmergeContains shipping rate information for orders and invoices.
subscriptionidcreatedmergeRepresents a customer's subscription to a recurring service, detailing billing cycles, plans, and status.
subscription_itemidcreatedmergeContains individual items within a subscription, including quantities and pricing.
subscription_scheduleidcreatedmergeRepresents scheduled changes to subscriptions over time.
tax_codeidcreatedmergeContains tax code information for products and services.
tax_ididcreatedmergeStores tax ID information for customers and accounts.
tax_rateidcreatedmergeContains tax rate information applied to invoices and subscriptions.
top_upidcreatedmergeRecords top-ups made to Stripe accounts.
transferidcreatedmergeRecords transfers between Stripe accounts.
webhook_endpointidcreatedmergeContains webhook endpoint configurations for receiving event notifications.

Step 3: Run asset to ingest data

bruin run assets/stripe_ingestion.yml

As a result of this command, Bruin will ingest data from the given Stripe table into your Postgres database.

stripe