This guide walks you through setting up Stripe on Sequin.
In just a couple of minutes, you'll have a Postgres database with all your Stripe data, syncing in real-time.
Connect your Stripe API
First, add your Stripe secret key to Sequin:
Step 1: Create a new Sequin account at https://app.sequin.io/signup.
Step 2: Select Stripe as the platform you want to sync.
Step 3: Provide us with your Stripe secret key (it should begin with the characters
sk_live_). On our console, click the How do I get this? link if you need a little help generating your API key or follow this link to your Stripe dashboard.
As a best practice, we recommend you create a new Restricted secret key for Sequin. Sequin needs read permissions for everything and just write access for webhooks.
Step 4: Select the tables you want to sync. By default, we'll sync all the tables. You can adjust which tables you sync at anytime.
Step 5: Select the destination database you want to sync your data to. You can sync to a Sequin-hosted database or sync to your self-hosted database.
Step 6: Click Create.
After you click Create, we'll immediately connect to Stripe and begin backfilling all your data. While we're backfilling, you can still connect to your database and start querying your data.
Connect to your Postgres database
As soon as your database is provisioned, you can connect to it and start querying.
Sequin provisions you a Postgres database hosted on AWS RDS. You can connect to your database in all the ways you're used to. For this setup guide, we'll use TablePlus as an example.
Step 1: Download and install TablePlus from https://tableplus.com/.
Step 2: Open TablePlus and click Create a new connection...
Step 3: Click the Import from URL button.
Step 4: Copy and paste the Connect URL from Sequin into the Connection URL in TablePlus then click Import.
Step 5: Then name your TablePlus connection and click Create.
Query Stripe with SQL
You'll now see all your Stripe data represented in Postgres. To start querying, click the SQL button and write your first statement:
customer.email as "customer",
(sum(invoice.amount_paid)/100.00)::money as "total revenue"
left join invoice on invoice.customer_id = customer.id
group by customer.email;
Read our Stripe Reference to learn more about how we make Stripe work with SQL.