Connect Stripe to Infograph
What it brings in: customers, invoices, subscriptions, products, prices and 6 more.
What you need
- A Stripe account, and a Dashboard role that lets you create API keys.
- Access to the email or phone Stripe sends verification codes to. It asks for one when you create a key.
Steps
Open API keys in the Stripe Dashboard
In the Dashboard, open Developers, then API keys. Check you are in live mode, not a sandbox, unless you want test data.
Create a restricted key
Click Create restricted key, start from zero permissions and name it Infograph. Every permission starts at None. Set Read, not Write, on the resources below, one for each table Infograph syncs: Customers, Invoices, Subscriptions, Products, Prices, Charges and Refunds, Payment Intents, Payouts, Payment Disputes, and Balance Transaction Sources for balance transactions. Leave the rest at None.
Copy the key
Click Create key and enter the verification code Stripe sends you. Click the key value to copy it. A live restricted key starts with rk_live_, and Stripe shows it only once.
Paste it in Infograph and choose your tables
Open Stripe in Infograph, paste the key into API Secret Key and press Connect. Pick the tables you want and Infograph starts loading them, two years of history for balance transactions, refunds and payouts, and everything for the rest.
What it syncs
Each becomes a table in Infolake that you can chart, report on or ask about. You choose which to sync.
- Customers
customers Every customer in Stripe, with their name, email, balance and when they were created. Ties every payment, invoice and subscription to who paid.
Ask: “How many new customers did we add each month this year?”
- Invoices
invoices Every invoice Stripe raised, with the customer, status, amount due, amount paid, tax, total and dates. Shows billed revenue and what is still unpaid.
Ask: “Which invoices are still open, and how much is outstanding?”
- Subscriptions
subscriptions Every subscription, cancelled ones included, with the customer, status, plan, current billing period and when it started or was cancelled. The base for MRR and churn.
Ask: “What was our monthly churn rate over the last six months?”
- Products
products The products and plans you sell, with their name, description and whether they are active. Lets you group revenue by what was sold.
Ask: “Which products bring in the most revenue?”
- Prices
prices The prices set on each product, with the amount, currency, and whether it is a one-off or recurring price and how often it bills. Explains what each subscription costs.
Ask: “How many customers are on each price of our main plan?”
Show all 11 tables
- Charges
charges Every charge made to a card or other payment method, with the amount, currency, status, customer and how much was refunded. Shows what was actually collected.
Ask: “How much did we collect in successful charges each week last month?”
- Payment attempts
payment_intents Each attempt to take a payment, from start to finish, with the amount, currency, customer and status, including ones that failed or were abandoned. Shows where payments fall through.
Ask: “How many payments failed last month, and for which customers?”
- Balance movements
balance_transactions Every movement in your Stripe balance, such as a charge, refund, fee or payout, with the gross amount, the Stripe fee and the net. Shows what Stripe kept and what you received.
Ask: “How much did we pay in Stripe fees each month this year?”
- Refunds
refunds Every refund, with the amount, currency, status, reason and the charge it refunds. Shows how much revenue goes back to customers and why.
Ask: “What share of our revenue did we refund last quarter?”
- Payouts
payouts Each transfer from Stripe to your bank account, with the amount, status and arrival date. Lets you match Stripe to what landed in the bank.
Ask: “How much did Stripe pay into our bank each month?”
- Disputes
disputes Every dispute, also called a chargeback, where a customer asked their bank to reverse a payment, with the amount, reason and status. Shows what is at risk and what you won or lost.
Ask: “How many disputes did we lose this year, and for how much?”
Troubleshooting
Each entry is the message Infograph shows when a connection fails. Open it for the fix.
Those credentials were not accepted.
Stripe did not accept the key. Check you copied all of it, from rk_live_ to the end. A publishable key, starting pk_, cannot read account data, so it fails here: create a restricted key instead. A key that was rotated or expired in the Dashboard stops working too, so a connection that synced before and now shows this needs a new key: open the connection, choose Edit configuration and paste it.
Common problems
These happen in Stripe itself, where Infograph cannot see them.
Some tables fail while others sync
Infograph only checks that the key is valid when you connect, so a key without Read on a resource still connects. The table for that resource then shows Error, and Sync failing after repeated attempts. In the Dashboard, open the key's menu (⋯), choose Edit key, set Read on the missing resource and save. Then retry the table in Infograph.
The tables hold test data, or none of your real payments
A key from a sandbox, starting rk_test_ or sk_test_, reads only that sandbox. Live data and sandbox data are separate in Stripe. Create the key again in live mode, where it starts rk_live_.
The key has an access policy
If you attach an access policy to the key, Stripe blocks requests from anywhere it does not allow, Infograph included. Add 51.222.152.247 to an IP addresses policy, or leave the key without a policy.