StripePAYMENT PROCESSING

A Stripe revenue dashboard read with a key that cannot move money

MRR, active subscriptions, failed charges, and open disputes — read with a key that cannot move money.

Get early access to the Stripe integration

dev-views is in active development. Join the waitlist and we will note your interest in Stripe.

Stripe's own dashboard is thorough, which is exactly the problem when the question is small. Checking MRR, whether any payments failed overnight, and whether a dispute has appeared means three separate views and a mental note to come back tomorrow.

dev-views reads a Stripe account through the API and computes the figures that answer that question: recurring revenue normalised to a month, subscription movement in both directions, payment success and failure, and the balance waiting to pay out. It is the one integration where the credential deserves real care, so the connect screen names the exact six read permissions to grant — and a key built that way cannot charge a card, issue a refund, or change a subscription.

What dev-views reads from Stripe

26 readings, computed from the Stripe API. There are no defaults — you choose which become tiles and in what order, because guessing which of 26 matters to you would be wrong for most people.

MRR

Monthly recurring revenue from active subscriptions, normalised to a month so annual and monthly plans are comparable. ARR is the same figure projected over twelve months.

Past due

Subscriptions whose payment failed and is being retried — revenue that still counts as active but is one retry away from not being.

Open disputes

Chargebacks awaiting a response. These put both funds and your account standing at risk, and they have a deadline.

Charge success rate

The share of attempted charges that succeeded, with the failed count beside it. A rate that slips is usually a card-issuer problem you would otherwise find out about from a customer.

Ending at period end

Active subscriptions already set to cancel when the current period closes — churn that has happened but has not shown up in the revenue figure yet.

The full list

Revenue
  • MRR
  • ARR
  • Revenue, 30 days
  • Revenue, 7 days
  • Revenue today
  • Average charge
Subscriptions
  • Active subscriptions
  • Trialing
  • Past due
  • New subscriptions, 30 days
  • Cancellations, 30 days
  • Ending at period end
Payments
  • Successful charges, 30 days
  • Failed charges, 30 days
  • Charge success rate
  • Refunds, 30 days
  • Refunded, 30 days
  • Open disputes
  • New customers, 30 days
Balance
  • Available balance
  • Pending balance
Account
  • Mode
  • Charges enabled
  • Payouts enabled
  • Default currency
  • Country

How the connection works

  1. 01In Stripe, create a restricted key — not a secret key — under Developers → API keys.
  2. 02Grant read access to exactly six resources: Account information, Balance, Charges, Customers, Subscriptions, and Disputes. Leave everything else at none.
  3. 03Paste the key into dev-views. It is verified against the Stripe API, then encrypted before storage.
  4. 04Choose your tiles. There is nothing to scope: a Stripe key is the account, so dev-views skips the picker entirely.
Credential
A restricted key (rk_live_…), created under Developers → API keys.
Watches
The whole account. There is nothing to pick — the credential is the account.
Refresh
Every 60 seconds, cached per user so browsing does not re-spend your API budget. A manual refresh forces a read immediately.
Storage
Encrypted with AES-256-GCM before it is stored. The encryption key lives in the environment, never in the database, and the credential is never sent back to the browser.

Read-only is enough

Grant these and nothing else. A credential scoped this way cannot change anything, whatever software is holding it.

  • Account informationmode, country, charges and payouts enabled
  • Balanceavailable and pending balance
  • Chargesrevenue, success rate, refunds
  • Customersnew customers
  • SubscriptionsMRR, ARR, churn
  • Disputesopen chargebacks
Where to create the restricted key in Stripe

What your dashboard shows

  • Recurring revenue and one-off charges kept apart, because a good month of one-time payments should not read as growth in MRR.
  • Subscription movement in both directions on the same row — new, trialing, cancelled, and already-set-to-cancel — so the net picture is one glance rather than arithmetic.
  • An open dispute or a past-due subscription raised in the attention band above the dashboard whether or not you added that tile.
  • Test keys clearly labelled as test data, so a staging connection can never be mistaken for live revenue.

Who this is for

  • Solo founders charging for a product who want MRR and failed payments visible next to their deploys and errors, not in a separate tab.
  • Developers whose first sign that billing broke is currently an email from a customer.
  • Anyone who wants revenue on a dashboard without handing a full secret key to a third-party tool.

Stripe questions

Which Stripe metrics does dev-views track?

Twenty-six readings for one account: revenue as MRR, ARR, and gross charges over today, 7 days, and 30 days plus the average charge; subscription counts for active, trialing, past due, newly created, cancelled, and set-to-cancel; payment health including successful and failed charges, success rate, refund count and amount, open disputes, and new customers; available and pending balance; and account facts such as live or test mode, whether charges and payouts are enabled, settlement currency, and country.

Do I have to give dev-views my Stripe secret key?

No, and you should not. dev-views is built for a restricted key with read access to six resources and nothing else. A key scoped that way is physically unable to charge a card, issue a refund, or modify a subscription, regardless of what any software holding it tries to do. That is a stronger guarantee than a promise to only read, which is why the connect screen names the six permissions rather than asking for trust.

How is MRR calculated?

From active subscriptions, normalised to a month: an annual plan contributes one twelfth of its amount, a monthly plan its full amount. It is computed from subscription data rather than from charges, so a month with unusually many one-off payments does not inflate it. ARR is that figure multiplied by twelve.

Can I connect a test-mode key?

Yes. A test key works exactly like a live one, and the Mode reading makes it explicit — everything it shows is labelled as test data so a staging connection is never mistaken for real revenue.

Can I watch more than one Stripe account?

One account per connected key. Stripe is registered as account-wide in dev-views: unlike GitHub or Vercel there is nothing to pick after connecting, because the key already is the account, and offering a chooser with one entry would be friction for its own sake.

Works alongside

dev-views is most useful when more than one service is on the board. These are the ones people connect next to Stripe.

Watch Stripe alongside the rest of your stack

One read-only surface for every service you run. Join the waitlist for early access.