Stripe

Send data from Stripe to your destinations through Freshpaint

What you'll need

How this works

With the Stripe source, Freshpaint can sync the data from your Stripe objects into Freshpaint's SQL Engine. All of this data will be made available as SQL tables.

With that data, you can:

  • Send to your destinations on a schedule with our Scheduled Events, keeping them in sync with Stripe

  • Send data as properties of your tracked events with SQL Transformations

  • Query the data with our SQL Editor to see what you have and test that your source is working

  • Combine your Stripe data with that of any other source

Connect to Stripe

To connect, you'll need to choose the Stripe source in Freshpaint.

You'll need to provide your account id and your secret key to authenticate with Stripe. You'll also need to provide an ISO timestamp. For example, midnight on December 20 of 2022 would look like this: 2022-12-20T00:00:00Z. The T and the Z are important, and must not be omitted.

Freshpaint will sync all data on or after the timestamp you provide. If you want to send us all of your data, you can provide a timestamp in the past before you started using Stripe.

Choose the objects you'll want to provide to Freshpaint. These will appear as tables in the SQL Editor.

When you're finished, your configuration page will look something like this the following.

Working with Stripe data

Freshpaint can work with any of the objects available in your Stripe account. Here's just a few of the popular objects we can work with:

TableDescription

Your balance available with Stripe

A list of transactions that add to or take from your balance at Stripe

The set of charges you've made against credit or debit cards with your Stripe account

All of the customers that are recognized for your Stripe account

The set of disputes made for charges that originated with your Stripe account

A list of events that have happened in your account. For example, each dispute, charge, and refund will have events in this table that relate to actions that occur with them.

The products that can be purchased through your Stripe account

All of the refunds issues by your Stripe account

For the full list of objects you can sync with Stripe, check out their API documentation.

Use Cases

Sending raw data to destinations

Let's say you want to connect your customer data to Freshpaint and send them to Mixpanel. With Freshpaint, you could do a query like this:

SELECT
    *,
    id AS insert_id,
    email AS user_id,
    created AS time
FROM
    stripe_customers

This query will identify the customer by their id and their email address. It's important that you include those fields, named the way they are, because we'll need that to help Mixpanel make sense of the event. All of your other charge information would be sent to Mixpanel for you to analyze because you selected *.

Calculating lifetime value

You can also use Freshpaint's SQL Engine to find aggregate information. Let's say you were interested in how much revenue you've had in charges over the past twelve months. You can write a query like this:

SELECT
    EXTRACT(YEAR_MONTH FROM FROM_UNIXTIME(created)) AS year_and_month,
    SUM(amount) AS ltv
FROM
    stripe_charges
WHERE
    FROM_UNIXTIME(created) > DATE_SUB(NOW(), INTERVAL 12 MONTH)
GROUP BY EXTRACT(YEAR_MONTH FROM FROM_UNIXTIME(created))

You can use this query either see the data in our editor, or you can send this data to another destination (with one event per month).

Notes

  • Stripe may include sensitive data that you don't want to expose to your analytics tools. In those cases, it's a good idea not to use * in your select queries, and instead to list out the columns you want to find. The SQL Editor can show you which columns are available.

Last updated