> ## Documentation Index
> Fetch the complete documentation index at: https://seenpaid.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect a revenue source

> Connect Stripe, Gumroad, Lemon Squeezy, Whop, Shopify, Paddle, Polar or Dodo Payments so seenpaid can match sales to the posts that drove them.

A **revenue source** is where seenpaid reads your sales from. Connect at least one after [turning on revenue attribution](/guides/turn-on-revenue-attribution). Revenue-source connections are not capped on any plan.

## Stripe

<Steps>
  <Step title="Open Settings → Attribution">
    With attribution on, the revenue sources appear below the switch.
  </Step>

  <Step title="Click Connect Stripe">
    You're sent to Stripe to authorize seenpaid via Stripe Connect, then returned to the dashboard.
  </Step>

  <Step title="Confirm it's connected">
    From now on completed payments are checked against your tracked clicks.
  </Step>
</Steps>

<Check>
  seenpaid only reads payment events. It never creates charges, moves money or changes your Stripe settings. (Stripe requires its standard Connect scope for this; a narrower read-only grant is something Stripe approves per platform, not a setting on our side.)
</Check>

You can connect more than one Stripe account. Revoke access at any time from Stripe under **Settings → Connected apps**, or from seenpaid.

## Gumroad, Lemon Squeezy, Whop, Shopify, Paddle, Polar, Dodo Payments

These connect by webhook: seenpaid gives you a URL, you paste it into the provider.

<Steps>
  <Step title="Click Connect on the provider's card">
    seenpaid creates a unique webhook URL for your workspace.
  </Step>

  <Step title="Paste it into the provider">
    In that provider's dashboard, add a webhook pointing at the URL for sale events. Whop, Shopify, Paddle, Polar and Dodo also give you a signing secret to paste back into seenpaid; Lemon Squeezy uses a secret seenpaid mints for you; Gumroad needs none.
  </Step>

  <Step title="Confirm">
    The card shows the source as connected. Reconnecting rotates the URL.
  </Step>
</Steps>

Refunds and reversals from every source are subtracted from the post they were matched to.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Sales aren't showing up against posts">
    Two things must both be true: a revenue source is connected, and the buyer clicked a tracked link on a published post before paying. A sale from a visitor who never touched a tracked link can't be attributed. If clicks are landing but sales aren't matching, the pixel is probably not on the page where people pay; see [Track your sales](/guides/track-your-sales).
  </Accordion>

  <Accordion title="The traced share looks low">
    On Results, **Sales traced to a post** shows how many of the payments seenpaid saw it could match. A low share means the tracking install has a gap, not that your posts failed.
  </Accordion>
</AccordionGroup>

<Card title="Next: track your sales" icon="arrow-right" href="/guides/track-your-sales">
  Install the pixel if buyers land on your own site before paying.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.