Stripe

Stripe

This document provides step-by-step instructions for importing data from Stripe. The following will be covered:

Stripe Data Integration

  1. Click Data Sources in the navigation menu.
  2. Click the Add Data Source button.
  3. In the Data Sources - Choose Source Type window, select Stripe. Stripe is listed under APIs.
  4. In the Data Sources – Stripe screen, enter your Stripe API key and click Next.
  5. In the Data Sources – Stripe screen, select which data to import.
  6. (Optional) To Customize the ingestion from your data source, review the advanced options.
  7. Click Collect.

The Data Sources – Stripe window will go gray while the data integration is pending. A small green progress bar will appear below Stripe once the integration has begun. A prompt will appear asking if you would like to set up the integration of another data source. Multiple data integrations can be set up without impacting the ingestion of the already scheduled or pending data integrations.

From the Data Sources main menu you can monitor the data ingestion status of the scheduled and pending data integrations. After the data ingestion is complete, you can clean or transform your data in the tables menu.

Advanced options

Clicking Show next to Advanced will expand the Data Sources - Stripe window to include Deep Pagination, Destination, Primary Key, Exclude, Parse String and Truncate table.

Deep Pagination - Stripe has inner paging on some attributes in each resource, which can cause slow data ingestion and increase storage usage. If you don’t require the data stored in these nested structures, you can disable deep pagination in order to make ingestion more efficient.

Destination - Default is stripe_{__tablename}, where __tablename is the table name from the schema for this data source. See Data Schema for more detail about each table.

Primary Key - Default is id. The primary key here determines which field(s) to use as the deduplication key when ingesting data.

Data Schema

The Stripe API creates a data object in response to each request, which Panoply unpacks and organizes into tables. References to “object” in the table schema listed below are referring to the data object created by Stripe. The Stripe data elements ingested by Panoply are listed below. Additional information is available in the Stripe API reference documentation.

Stripe’s data resources are organized into core resources, subscriptions, connect, relay and payment methods categories. Panoply collects the following data from Stripe:

Internal fields - In addition to the data schema details noted below, Panoply creates __updatetime and __senttime internal fields on all tables.

Balance history

Panoply makes a request to the balance history endpoint, which returns a set of balance_transaction objects that will be compiled into a table in your Panoply warehouse. As noted above, this data is retrieved from the https://api.stripe.com/v1/balance/history API endpoint. For more information see the Stripe balance API endpoint documentation. In Panoply, the table generated from these data sources can contain the following fields:

Column Name Data Type Description
object Text String representing object’s type
id Text Unique identifier of object
amount Number Gross amount of transaction in smallest currency unit
available_on Time Date transaction’s net funds will become available
created Time Time at which object was created (Unix epoch)
currency Text 3-letter ISO currency code
description Text Description attached to object
exchange_rate Number Exchange rate
fee Number Fees paid for transaction
fee_details Various Set of fields describing details of the fields (.amount, .currency are examples)
net Number Net amount of transaction
source Text Stripe object to which transaction is related
status Text Whether transaction’s net funds are available in Stripe balance
type Text Transaction type (see Stripe documentation for full list of options)

Charges

As noted above, this data is retrieved from the https://api.stripe.com/v1/charges API endpoint. For more information, see the Stripe charges API endpoint documentation. In Panoply, the table generated from this datasource will contain the following fields:

Column Name Data Type Description
id Text Unique ID of object
amount Number Amount of charge in smallest currency unit (i.e. $1.00 = 100 cents)
amount_refunded Number Amount refunded
application Text ID of application generating charge
application_fee Text Fee for charge (if any)
application_fee_amount Number Amount of fee
balance_transaction Text ID of balance transaction
billing_details.address.city Text Address details of transaction
billing_details.address.country Text Address details of transaction
billing_details.address.line1 Text Address details of transaction
billing_details.address.line2 Text Address details of transaction
billing_details.address.postal_code Text Address details of transaction
billing_details.address.state Text Address details of transaction
billing_details.email Text Address details of transaction
billing_details.name Text Address details of transaction
billing_details.phone Text Address details of transaction
created Time Time entry created (epoch time)
currency Text 3-letter ISO currency code
customer Text ID of customer
description Text Description of charge
dispute Text Details of dispute (if applicable)
failure_code Text Error code for failure of charge (if applicable)
failure_message Text Description of charge failure (if applicable)
fraud_details.stripe_report Text Fraud assessment from Stripe (set to ‘fraudulent’ if applicable)
fraud_details.user_report Text Fraud assessment set by user (options are ‘safe’ and ‘fraudulent’
invoice Text ID of invoice for charge
on_behalf_of Text Account charge was made on behalf of
order Text ID of order this charge is connected to
outcome Text A set of fields describing whether payment was accepted and why. Subfields include network_status, reason, risk_level, risk_score, rule, seller_message, type
paid Text Boolean indicating whether charge succeeded
payment_intent Text ID of PaymentIntent associated with charge
payment_method Text ID of payment method used in charge
payment_method_details Text Set of fields containing details of payment method. Subfields include all details of payment.
receipt_email Text Address that receipt was sent to
receipt_number Text Transaction number on email receipt
receipt_url Text URL of receipt for charge
refunded Text Boolean indicating whether charge has been refunded
refunds Text A set of fields indicating the refunds that have been applied to the charge
review Text ID of review associated with charge (if applicable)
shipping Text Set of fields showing shipping information for charge
source_transfer Text Transfer ID that created charge
statement_descriptor Text Additional information about charge
status Text Status of payment
transfer Text ID of transfer to destination account
transfer_data Text Set of fields indicating which account to automatically transfer to as part of destination charge
transfer_group Text Identifies charge as part of group (if applicable)

Customers

As noted above, this data is retrieved from the https://api.stripe.com/v1/charges API endpoint. For more information, see the Stripe charges API endpoint documentation. In Panoply, the table created from this data source contains the following fields:

Column Name Data Type Description
id Text Unique ID of object
object Text String representation of object type in Stripe API. Will be ‘customer’ here.
balance Number Account balance being tired on customer. If negative, customer has a credit
address Text This and its subfields (I.e. city, country, etc) contain address information for the customer
created Time Time object was created (Unix epoch)
currency Text Three-letter ISO currency code
default_source Text ID of default payment source of customer
delinquent Text Boolean indicating whether customer’s account is delinquent
description Text Description attached to object
discount Text Describes current discount active on customer
email Text Customer’s email address
invoice_prefix Text Prefix for customer in generating invoices
invoice_settings Text Customer’s default invoice settings
name Text Customer’s name / business name
phone Text Customer’s phone number
preferred_locales Text Customer’s preferred locales (language settings)
shipping Text Set of fields containing shipping information for customer
sources Text Customer’s payment sources
subscriptions Text Customer’s current subscriptions
tax_exempt Text Customer’s tax exemption status
tax_ids Text Set of fields containing information about customer’s tax ID(s)

Disputes

As noted above, this data is retrieved from the https://api.stripe.com/v1/disputes API endpoint. For more information, see the Stripe disputes API endpoint documentation. In Panoply, the table created from this data will contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
amount Number Disputed amount
balance_transactions Text Set of fields that show funds withdrawn and reinstated to Stripe account as a result of dispute
charge Text ID of disputed charge
created Time Time at which object was created (Unix epoch)
currency Text 3-letter ISO currency code
evidence Text Set of fields that detail evidence for dispute
evidence_details Text Set of fields with information about evidence submission
is_charge_refundable Text Boolean representing possibility of refunding disputed payment
reason Text Reason given by cardholder for dispute. See Stripe API reference for all possible options
status Text Current status of dispute

Events

As noted above, this data is retrieved from the https://api.stripe.com/v1/events API endpoint. For more information, see the Stripe events API endpoint documentation. In Panoply, the table created from this data source contains the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
api_version Text Stripe API version used to generate data
created Time Time at which object was created (Unix epoch)
data Text Set of fields containing data associated with the event (i.e. invoice data)
pending_webhooks Number Number of web hooks that have yet to be delivered
request Text Set of fields describing API request that instigated event
type Text Description of event

Payouts

As mentioned above, this data is retrieved from the https://api.stripe.com/v1/payouts API endpoint. For more information, see the Stripe payouts API endpoint documentation. In Panoply, the table created from this data source will contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
amount Number Amount to be transferred to your account / card
arrival_date Time Date payout is expected to arrive in account
automatic Text Boolean indicating whether payout was created by an automated payout schedule
balance_transaction Text ID of balance transaction that describes impact of payout
created Time Time at which object was created (Unix epoch)
currency Text 3-letter ISO currency code
description Text Description
failure_balance_transaction Text ID of balance transaction that reversed initial transaction (if applicable)
failure_code Text Error code explaining reason for failure
failure_message Text Further explanation of payout failure if applicable
method Text Method used to send payout
source_type Text Source balance payout came from
statement_descriptor Text Extra information about payout displayed on account statement
status Text Current status of payout (see API documentation for full details)
type Text Type of payout. Options are bank_account or card

Refunds

As noted above, this data is retrieved from the https://api.stripe.com/v1/refunds API endpoint. For more information, see the Stripe refunds API endpoint documentation. In Panoply, the table generated from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
amount Number Amount to be transferred to your account / card
balance_transaction Text ID of balance transaction that describes impact of refund
charge Text ID of refunded charge
created Time Time at which object was created (Unix epoch)
currency Text 3-letter ISO currency code
description Text Description
failure_balance_transaction Text ID of balance transaction that reversed initial transaction (if applicable)
failure_reason Text Error code explaining reason for failure. Options are: lost_or_stolen_card, expired_or_canceled_card or unknown
reason Text Reason for refund (duplicate, fradulent, requested_by_customer)
receipt_number Text Transaction number on receipt
source_transfer_reversal Text Transfer reversal associated with the refund
status Text Status of refund
transfer_reversal Text Transfer reversal object

Coupons

As mentioned above, this data is retrieved from the https://api.stripe.com/v1/coupons API endpoint. For more information, see the Stripe coupons API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
amount Number Amount to be transferred to your account / card
amount_off Number Amount to be taken off subtotal of any invoice
created Time Time at which object was created (Unix epoch)
currency Text 3-letter ISO currency code
duration Text Describes how long customer will get discount
duration_in_months Number Number of months coupon applies
max_redemptions Number Max number of times coupon can be used
name Text Name of coupon
percent_off Number Percent of subtotal to be taken off
redeem_by Time Date after which coupon can no longer be redeemed
times_redeemed Number Number of times coupon has been applied
valid Text Boolean indicating whether coupon can be applied to customer

Invoices

As noted above, this data is retrieved from the https://api.stripe.com/v1/invoices API endpoint. For more information, see the Stripe invoices API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
account_country Text Country of business associated with invoice
account_name Text Name of business associated with account
amount_due Number Final amount due
amount_paid Number Amount paid in smallest unit of currency (i.e. cents if in USD)
amount_remaining Number Amount remaining in smallest unit of currency
application_fee_amount Number Fee that will be applied to invoice and transferred to owner’s stripe account
attempt_count Number Number of payment attempts made for invoice
attempted Text Boolean indicating whether payment attempts have been made
auto_advance Text Boolean indicating whether stripe will perform automatic collection
billing Text Options are charge_automatically or send_invoice
billing_reason Text Reason why invoice was created
charge Text ID of latest charge generated for invoice
created Time Time at which object was created (Unix epoch)
currency Text 3-letter ISO currency code
custom_fields Text Custom fields displayed on invoice. Will appear in form custom_fields.{field}
customer Text Data about the customer
customer_address Text Customer’s address
customer_email Text Customer’s email
customer_name Text Customer’s name
customer_phone Text Customer’s phone
customer_shipping Text Customer’s shipping information
customer_tax_exempt Text Tax exempt status of customer
customer_tax_ids Text Customer’s tax IDs
default_payment_method Text ID of default payment method for invoice
default_source Text ID of default payment source
default_tax_rates Text Tax rates applied to invoice
description Text Description of invoice
discount Text Data about discounts applied
due_date Time Date on which payment is due
ending_balance Number Ending customer balance after payment
footer Text Footer of invoice
hosted_invoice_url Text URL for hosted invoice page
invoice_pdf Text Link to download pdf of invoice
lines Text Set of fields containing individual line items of invoice
next_payment_attempt Time Time at which next payment will be attempted
number Text ID string for invoice
paid Text Boolean indicating whether or not payment was successfully collected
payment_intent Text Payment intent associated with invoice
period_end Time End of usage period during which invoice items were added
period_start Time Start of usage period in which invoice items were added
post_payment_credit_notes_amount Number Total amount of all post-payment credit notes issued for invoice
pre_payment_credit_notes_amount Number Total amount of all pre-payment credit notes issued for invoice
receipt_number Text Transaction number that appears on email receipts for invoice
starting_balance Number Starting customer balance before invoice is finalized
statement_descriptor Text Description for customer’s credit card statement
status Text Status of invoice
status_transition Text Set of fields describing time data about invoice status transitions
subscription Text Subscription associated with invoice (if any)
subscription_proration_date Number Time used to calculate prorations if applicable
subtotal Number Total of all sobscriptions, invoice items, and prorations before any discount applied
tax Number Amount of tax on invoice
threshold_reason Text Information about which threshold rules triggered invoice (if applicable)
total Number Total after discount
total_tax_amounts Number Aggregate amounts calculated per tax rate for all line items
webhooks_delivered_at Time Time at which web hooks for invoice were delivered

Invoice items

As noted above, this data is retrieved from the https://api.stripe.com/v1/invoiceitems API endpoint. For more information, see the Stripe invoive items API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
amount Number Amount of invoice item
currency Text 3-letter ISO currency code
customer Text ID of customer who will be billed
date Time Date of item
description Text Description attached to item
discountable Text Boolean indicating whether discounts apply to item
invoice Text ID of invoice this item belongs to
period Number Set of fields indicating start and end of item’s billing period (includes period.start and period.end
plan Text The plan of the subscription that proration was computed for (if applicable)
proration Text Boolean indicating whether item was created automatically as proration adjustment
quantity Number Quantity of units for invoice item
subscription Text Subscription that this item is linked to
tax_rates Multiple Set of fields detailing tax rates that apply to invoice item
unit_amount Number Unit price (in specified currency) of invoice item

Plans

As noted above, this data is retrieved from the https://api.stripe.com/v1/plans API endpoint. For more information, see the Stripe plans API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
active Text Boolean indicating whether plan is available for new subscriptions
aggregate_usage Text Usage aggregation strategy
amount Number Amount charged on interval specified
billing_scheme Text How to compute price per period
created Time Time at which object was created (Unix epoch)
currency Text 3-letter ISO currency code
interval Text Frequency with which subscription will be billed (e.g. day, week, etc)
interval_count Number Number of intervals between Billings
nickname Text Descriptor for plan
product Text Product attached to pricing plan
tiers Number Set of fields describing prices attached to various tiers of plan
tiers_mode Text Describes method of tier pricing
transform_usage   Set of fields describing transformations to be used on reported usage for purposes of computing billed price
trial_period_days Number Default number of trial days for customers on plan
usage_type Text Describes how quantity per period should be determined

Subscriptions

As noted above, this data is retrieved from the https://api.stripe.com/v1/subscriptions API endpoint. For more information, see the Stripe subscriptions API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
application_fee_percent Number Percentage of subscription invoice subtotal that will be transferred to Stripe account
billing Text Options: charge_automatically or send_invoice
billing_cycle_anchor Time Date of first full invoice
billing_thresholds Number Set of fields describing thresholds at which invoice can be sent
cancel_at_period_end Text Boolean indicating whether plan is set to be canceled
canceled_at Time Date of cancellation if applicable
created Time Time at which data object was created (Unix epoch)
current_period_end Time End of current period
current_period_start Time Start of current period
customer Text ID of customer
days_until_due Number Number of days until due
default_payment_method Text ID of default payment method for subscription
default_source Text ID of default payment source
default_tax_rates Various Set of fields describing tax rates that apply to subscription
discount Text Describes discount that will be applied to subscription
ended_at Time Date subscription ended if applicable
items Various Set of fields describing subscription items.
latest_invoice Text Most recent invoice generated by subscription
plan Text Set of fields describing plan subscription is attached to
quantity Number Quantity of plan to which customer is subscribed
start Time Date of last substantial change to subscription
start_date Time Date when subscription was first created
status Text Status of current subscription
trial_end Time End of trial period
trial_start Time Start of trial period

Accounts

As noted above, this data is retrieved from the https://api.stripe.com/v1/accounts API endpoint. For more information, see the Stripe accounts API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
business_profile Text Set of fields describing information related to the business
business_type Text Type of business
capabilities Text Set of fields showing capabilities requested for account
charges_enabled Text Boolean indicating whether account can create live charges
company Text Set of fields containing information about company
country Text Country of account
created Time Time at which object was created (Unix epoch)
default_currency Text 3-letter ISO currency code for default currency of account
details_submitted Text Boolean indicating whether account details have been submitted
email Text Email for primary user
external_accounts Various Set of fields describing external accounts attached to account
individual Various Set of fields describing information about the individual represented by account (if applicable)
payouts_enabled Text Boolean indicating whether Stripe can send payouts to account
requirements Various Set of fields describing requirements for account
settings Text Account options for customizing how account functions with stripe
tos_acceptance Text Details on TOS acceptance
type Text Type of account

Application fees

As noted above, this data is retrieved from the https://api.stripe.com/v1/application_fees API endpoint. For more information, see the Stripe application fees API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
account Text ID of Stripe account fee was taken from
amount Number Amount earned
amount_refunded Number Amount refunded
application Text ID of application that earned fee
balance_transaction Text Describes impact of collected application fee on account balance
charge Text ID of charge that fee was taken from
created Time Time at which object was created (Unix epoch)
currency Text 3-letter ISO currency code
originating_transaction Text ID of corresponding charge on platform account
refunded Text Boolean indicating whether fee has been fully refunded
refunds Text Set of fields describing list of refunds that have been applied to fee

Country specs

As noted above, this data is retrieved from the https://api.stripe.com/v1/country_specs API endpoint. For more information, see the Stripe country specs API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
account Text ID of Stripe account fee was taken from
default_currency Text Default currency for country
supported_bank_account_currencies Text Currencies that can be accepted in country
supported_payment_currencies Text Currencies that can be accepted in country
supported_payment_methods Text Methods that can be accepted in country for payment
supported_transfer_countries Text Countries that can accept transfers from specified country
verification_fields Various Set of fields describing types of verification data needed to keep account open

Recipients

As noted above, this data is retrieved from the https://api.stripe.com/v1/recipients API endpoint. For more information, see the Stripe recipients API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Transfers

As noted above, this data is retrieved from the https://api.stripe.com/v1/transfers API endpoint. For more information, see the Stripe transfers API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
amount Number Amount to be transferred
amount_reversed Number Amount to be reversed, if applicable
balance_transaction Text Describes impact of this transfer on your account balance
created Time Time that record of transfer was created
currency Text 3-letter ISO currency code
description Text Description of object
destination Text ID of destination Stripe account
destination_payment Text ID of payment that destination account received for transfer (if destination is Stripe account)
reversals Text Set of fields describing reversals that have been applied to transfer
reversed Text Boolean indicating whether transfer has been fully reversed
source_transaction Text ID of charge or payment used to fund transfer
source_type Text Source balance transfer came from
transfer_group Text String that identifies transaction as part of group

Orders

As noted above, this data is retrieved from the https://api.stripe.com/v1/orders API endpoint. For more information, see the Stripe orders API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
amount Number Amount to be transferred
amount_returned Number Amount returned
application Text ID of Connect application that created order
application_fee Number Fee amount
charge Text ID of payment used to pay for order
created Time Time at which object was created (Unix epoch)
currency Text 3-letter ISO currency code
customer Text Customer used for order
email Text Email address of customer placing order
external_coupon_code Text Coupon code if generated externally
items Text List of items in order
returns Text Set of fields describing returns
selected_shipping_method Text Shipping method for order
shipping Text Shipping address for order
shipping_methods Various Set of fields describing supported shipping methods and their details
status Text Current order status
status_transitions Time Set of fields describing times at which order status was updated
updated Time Time when order was updated
upstream_id Text User’s order ID if it is different from Stripe order ID

Products

As noted above, this data is retrieved from the https://api.stripe.com/v1/products API endpoint. For more information, see the Stripe products API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
active Text Whether product is currently available for purchase
attributes Text List of attributes each SKU can provide values for
caption Text One-line description of product
created Time Time at which object was created (Unix epoch)
deactivate_on Text List of connect application identifiers that cannot purchase this product
description Text Product’s description (for customer)
images Text List of URLs of images for product
name Text Product’s name
package_dimensions Number Set of fields describing packaging dimensions
shippable Text Boolean indicating whether product is shipped good
statement_descriptor Text Extra information about product that will appear on customer’s card statement
type Text Type of product (i.e. good or service)
unit_label Text Label that represents units of product
updated Time Time object was updated
url Text URL of webpage for product

Order returns

As noted above, this data is retrieved from the https://api.stripe.com/v1/order_returns API endpoint. For more information, see the Stripe returns API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
amount Number Total amount of returned line item in smallest unit of currency (i.e. 100 cents for $1.00)
created Time Time at which object was created
currency Text 3-letter ISO currency code
items Various Set of fields representing the items included on this return
order Text The order that this return is attached to
refund Text ID of the refund issued for this return

SKUs

As noted above, this data is retrieved from the https://api.stripe.com/v1/skus API endpoint. For more information, see the Stripe SKUs API endpoint documentation. In Panoply, the table created from this data source can contain the following fields:

Column Name Data Type Description
id Text Unique ID of the object
object Text String representation of object type
active Text Boolean indicating whether or not SKU is available for purchase
attributes Text Set of fields describing attributes of the SKU (i.e. size, gender)
created Time Time at which object was created (Unix epoch)
currency Text 3-letter ISO currency code
image Text URL of image attached to SKU
inventory Various Set of fields describing SKU’s inventory
package_dimensions Number Set of fields describing package dimensions (.height, .width, etc)
price Number Cost of item in smallest currency unit (i.e. 100 cents if currency in USD)
product Text ID of product SKU is associated with
updated Time Time updated
Getting started is easy! Get all your data in one place in minutes.
Try Free