Integrations ยท Payment providers
Polar orders and subscriptions, each with its source.
Connect Polar with an organization access token limited to five scopes. Tally reads purchases and subscription cycles with their refunds and lost disputes, and links each to the visitor through checkout metadata, a checkout link's reference, or email.
14 days free, no card needed.
01What Tally reads
- Orders once paid with money in them: purchases and subscriptions' first payments as new, cycles and metered cycles as renewals, plan changes as upgrades.
- Refunds while pending or succeeded; one that fails or is cancelled adds its reversal, so the pair nets to zero.
- Lost disputes as chargebacks, without their tax.
- Amounts after discounts and before tax, in US cents at the day's reference rate.
- Sandbox tokens connect in test mode.
02How a sale finds its visit
- Checkout metadataThe visitor's id in a checkout's metadata, which Polar copies to its order and subscription.
- Checkout linksA checkout link's reference_id lands in the checkout's metadata and links like a Stripe Payment Link.
- EmailThe customer's email, hashed at once, matches a tally('identify') call. Medium confidence.
03What it can't read
- Polar sends no dispute event, so a lost dispute is read when its order next changes, or at a re-import.
- The snippet doesn't tag Polar checkout links on its own; a few lines on your page do, for links Polar's embed marks data-polar-checkout.
- Orders without money in them, such as free products, aren't sales and aren't counted.
04Connecting it
- In Polar, open Settings, Access Tokens, and create an organization token with the five scopes below.
- Paste it on your site's Integrations page; each scope is checked, and a token for the sandbox is recognised as test mode.
- Tally creates its own webhook endpoint and imports the past 365 days, refunds and lost disputes included.
- Put the visitor's id in checkout metadata, or reference_id on checkout links, as the Coverage page shows.
What the access token needs
Tally asks for a access token that can do only this, and checks each permission with a real call when you paste it, so a missing one is named:
| Permission | Access | Why |
|---|---|---|
| Organizations | organizations:read | The organization's name, so you can tell which one is connected. |
| Orders | orders:read | Every payment: its amount, tax, metadata and the customer's email (hashed at once, never stored). |
| Refunds | refunds:read | Refunds. |
| Disputes | disputes:read | Chargebacks: disputes you lost. |
| Webhooks | webhooks:write | Tally adds its own webhook endpoint, so payments arrive within seconds. |
Where to make it: Polar, Settings, Access Tokens.
05Questions
Does Tally count metered usage billed through Polar?
Yes: an order for a metered subscription cycle is a renewal, counted at the amount Polar charged, and credited to the visit that won the customer.
Why does Polar need the disputes scope?
Polar sends no dispute event, so Tally reads the Disputes API to find disputes you lost and count them as chargebacks against the sale.
Can I try it in Polar's sandbox first?
Yes. Paste a sandbox token and the integration connects in test mode, with its own webhook, so you can check a sandbox checkout end to end.