# Troubleshooting

> What to do when goalmrr refuses a provider key, a number looks old, or a public page will not open.

Source: https://goalmrr-site-dev.avs-media.workers.dev/docs/troubleshooting/

## The key was refused

Read the message. The usual causes:

- **Not the shape this provider expects.** Stripe wants `rk_live_…` or `rk_test_…`, not a secret key (`sk_`). Paddle wants `pdl_live_apikey_…` and does not accept a sandbox key. Polar wants `polar_oat_…` with only `orders:read` and `subscriptions:read`. Razorpay wants `key id:key secret`.
- **A read is missing.** For Stripe, goalmrr checks Balance, balance transactions and subscriptions. If one of those is forbidden, add that read and paste the key again. Nothing was stored from the failed attempt.
- **The account is already connected.** One provider account connects to one workspace. Disconnect it there first, or use the workspace that already holds it.
- **The provider is not answering.** Wait a minute and try again. If the provider changed its interface, the connection shows as not working rather than keeping an old number looking fresh.

The six providers and their keys are in [payment providers](../payment-providers/).

## The number says it is not fresh

A verified number is fresh for 48 hours after the last successful read. After that, or when the connection errored, was disconnected or never completed a read, the page says when it was last verified. It does not present that number as current. Reads run every hour while the connection is healthy.

## The public page will not open

It opens only while the goal is published. Unpublishing closes it at once, including the share image, the badge and the Markdown copy. Amounts and posts stay hidden even on a published page until you switch them on. A featured spot can be bought only for a page that is published with its amounts shown.

## Revenue will not go in by hand

That is the rule, not a fault. A revenue number comes from a connected provider or it is not shown as revenue. An assistant connected over MCP cannot enter one either.
