Stripe

Connect Stripe to your Workspace to build revenue dashboards, track MRR and churn, follow up on failed payments, look up a customer’s billing history, and reconcile payouts — without leaving Luo.

What Luo can do

  • Balance — your current balance and balance transactions (gross, fees, and net for every charge, refund, dispute, and payout)
  • Customers — list, look up, and search customers
  • Payments — charges, PaymentIntents, refunds, and disputes
  • Billing — invoices and subscriptions, including each subscription’s items and billing period
  • Catalog — products and prices
  • Payouts — payouts to your bank account, and the balance transactions each payout contains
  • Search — find customers, charges, PaymentIntents, invoices, and subscriptions with Stripe’s search syntax (e.g. email~'example.com', status:'past_due', metadata['plan']:'pro')

What Luo can’t do

The integration is read-only. Luo can’t create customers, issue refunds, cancel subscriptions, send invoices, or change anything else in your Stripe account — do those in the Stripe Dashboard. Because Luo only reads, it never asks you to confirm a Stripe action.

How to connect

Stripe connects with a restricted API key: a key you create in the Stripe Dashboard and limit to read access on only the data you want Luo to see.

Use a restricted key, not your secret key. Luo rejects secret keys (sk_live_..., sk_test_...) because they carry full write access to your account. Publishable keys (pk_...) can’t read account data, so they’re rejected too.

1. Create a restricted key in Stripe

  1. Sign in to the Stripe Dashboard and open Developers → API keys (dashboard.stripe.com/apikeys).
  2. Click Create restricted key and name it something you’ll recognize (e.g. Luo).
  3. Set Read access on each resource you want Luo to see. Leave everything else at None:
    • Balance and Balance transactions
    • Customers
    • Charges, PaymentIntents, Refunds, and Disputes
    • Invoices and Subscriptions
    • Products and Prices
    • Payouts
  4. Optionally, set Read on Connect (the account resource). Luo then shows your Stripe account’s name on the connection; without it, the connection is simply labeled “Stripe”.
  5. Click Create key and copy it — it starts with rk_live_.

You can leave out any resource you don’t want Luo to read. The assistant tells you which permission is missing if you later ask for that data.

To try Luo on test data first, switch the Dashboard to test mode and create the key there — it starts with rk_test_, and the connection is labeled (test mode).

2. Connect Stripe in Luo

  1. Open your workspace in Luo, go to Settings → Integrations, and click Add Integration.
  2. Select Stripe.
  3. Choose to connect as a user integration (your personal connection) or a workspace integration (shared across members).
  4. Paste your Restricted API Key from step 1.
  5. Click Create Integration. Luo checks the key with Stripe before saving it.

Good to know

  • Amounts are in the smallest currency unit. Stripe reports 1999 USD for $19.99. Zero-decimal currencies such as JPY aren’t divided. The assistant converts these for you, and won’t add up amounts in different currencies.
  • Canceled subscriptions are included only when you ask. By default Stripe lists active and other non-canceled subscriptions — ask for “all subscriptions” or “including canceled” for churn analysis.
  • MRR is before discounts and taxes. Tiered and metered prices can’t be turned into a fixed monthly amount; the assistant lists them separately instead of guessing.
  • Search can lag by about a minute behind new activity in Stripe, and isn’t available for accounts in India — Luo falls back to listing there.

Troubleshooting

  • “Secret keys (sk_…) are not accepted” — create a restricted key (step 1) and connect with that instead.
  • “Stripe rejected the API key” — the key is wrong, was deleted, or was rolled in Stripe. Copy the current key and reconnect.
  • “The restricted key lacks Read permission for this resource” — edit the key under Developers → API keys and set Read on the resource named in the message. No need to reconnect; the change applies right away.
  • Numbers look wrong or empty — check whether the connection is labeled (test mode). A test-mode key only sees test data.

Privacy and data handling

The restricted key only grants the read access you chose in Stripe, and Luo stores it encrypted. Data flowing through Luo is governed by Luo’s security and privacy practices.

To revoke access, delete the key under Developers → API keys in the Stripe Dashboard — it stops working immediately. Then remove the integration in Luo.