revenueproviders

Six providers, one rule

Stripe, Lemon Squeezy, Paddle, Polar, Dodo Payments and Razorpay connect to goalmrr. The rule is the same: revenue is read, never typed.

The first version of this story was easy to tell: connect Stripe, and the goal follows that number. It was also incomplete. Six providers connect today, and the rule did not get looser when the list got longer.

What "connect" means#

You paste a key. goalmrr reads totals. It does not charge a customer, refund a payment or edit the account.

Stripe is the strict case. A secret key, the kind that starts with sk_, is refused. A restricted key, rk_live_ or rk_test_, is accepted only after three reads succeed: Balance, balance transactions and subscriptions. Stripe does not let us list every permission on that key, so the key you create has to be read-only. We do not probe with a write to find out.

Lemon Squeezy, Dodo Payments and Razorpay cannot issue a key that is only allowed to read. For those, the limit is on our side: goalmrr only sends read requests, and you can delete the key at the provider when you disconnect. Paddle and Polar do offer a read-only key, and that is the one to paste. The shapes are in the payment providers page.

What is not on the list#

RevenueCat, Creem, Whop, Superwall, Shopify and the App Store are not available yet. We add each one when its API details are checked. Until then there is no key to paste, and no number from those sources on your page.

One number, named#

Whichever of the six you connect, the page says who verified the figure and when it was last read. After 48 hours it stops calling the number fresh. A goal that follows real revenue should also say when it has lost sight of it.

If you want the Stripe steps on their own, they are in connect Stripe.