# Connect your payment provider

> Pick your payment provider and how customers pay (Stripe Checkout, Payment Links, Lemon Squeezy, Paddle, Polar, Shopify and more) to get the two guides that put revenue on your analytics.

Source: https://metricraven.com/docs/connect-payment-provider  
Markdown: https://metricraven.com/docs/connect-payment-provider.md  
Section: Revenue

Revenue needs two things: MetricRaven has to receive your payments, and each payment has to carry the visitor ID of the visit that led to it. Pick your provider and checkout to see which guides to follow.

| Provider | How customers pay | 1. Connect | 2. Link payments to visits |
| --- | --- | --- | --- |
| Stripe | Checkout | [Connect Stripe](https://metricraven.com/docs/stripe#connect) | [Add the visitor ID to the Checkout Session's metadata when your server creates it](https://metricraven.com/docs/stripe-checkout) |
| Stripe | Payment Links | [Connect Stripe](https://metricraven.com/docs/stripe#connect) | [Pass the visitor ID as client_reference_id on the link, with one line of script or a URL parameter](https://metricraven.com/docs/stripe-payment-links) |
| Stripe | Payment Element | [Connect Stripe](https://metricraven.com/docs/stripe#connect) | [Add the visitor ID to the PaymentIntent's metadata on your server](https://metricraven.com/docs/stripe-payment-intents) |
| Stripe | Invoices, subscriptions, other | [Connect Stripe](https://metricraven.com/docs/stripe#connect) | [Store the visitor ID on the Stripe customer, so every payment it makes is attributed](https://metricraven.com/docs/stripe-other-methods) |
| Lemon Squeezy | Checkout link | [Connect Lemon Squeezy](https://metricraven.com/docs/lemonsqueezy#connect) | [Add the visitor ID to the checkout link's custom data](https://metricraven.com/docs/lemonsqueezy#attribution) |
| Lemon Squeezy | Checkouts API | [Connect Lemon Squeezy](https://metricraven.com/docs/lemonsqueezy#connect) | [Send the visitor ID as custom data when your server creates the checkout](https://metricraven.com/docs/lemonsqueezy#attribution) |
| Lemon Squeezy | Other methods | [Connect Lemon Squeezy](https://metricraven.com/docs/lemonsqueezy#connect) | [Send the buyer's email from the page they land on after paying, so the Lemon Squeezy payment is matched to the visit](https://metricraven.com/docs/lemonsqueezy-other-methods) |
| Paddle | Paddle.js | [Connect Paddle](https://metricraven.com/docs/paddle#connect) | [Pass the visitor ID as customData when you open the Paddle.js checkout](https://metricraven.com/docs/paddle#attribution) |
| Paddle | Transactions API | [Connect Paddle](https://metricraven.com/docs/paddle#connect) | [Send the visitor ID in custom_data when your server creates the transaction](https://metricraven.com/docs/paddle#attribution) |
| Paddle | Other methods | [Connect Paddle](https://metricraven.com/docs/paddle#connect) | [Send the buyer's email from the page they land on after paying, so the Paddle payment is matched to the visit](https://metricraven.com/docs/paddle-other-methods) |
| Polar | Checkout link | [Connect Polar](https://metricraven.com/docs/polar#connect) | [Add the visitor ID to the checkout link as metadata](https://metricraven.com/docs/polar#attribution) |
| Polar | Checkout API | [Connect Polar](https://metricraven.com/docs/polar#connect) | [Send the visitor ID as metadata when your server creates the checkout](https://metricraven.com/docs/polar#attribution) |
| Polar | Other methods | [Connect Polar](https://metricraven.com/docs/polar#connect) | [Send the buyer's email from the page they land on after paying, so the Polar payment is matched to the visit](https://metricraven.com/docs/polar-other-methods) |
| Dodo Payments | Payment link | [Connect Dodo Payments](https://metricraven.com/docs/dodo-payments#connect) | [Add the visitor ID to the payment link as metadata](https://metricraven.com/docs/dodo-payments#attribution) |
| Dodo Payments | Checkout Sessions API | [Connect Dodo Payments](https://metricraven.com/docs/dodo-payments#connect) | [Send the visitor ID as metadata when your server creates the session](https://metricraven.com/docs/dodo-payments#attribution) |
| Shopify | Shopify checkout | [Connect Shopify](https://metricraven.com/docs/shopify#connect) | [Add the visitor ID to the cart attributes so each order carries it](https://metricraven.com/docs/shopify#attribution) |
| WooCommerce | WooCommerce checkout | [Connect WooCommerce](https://metricraven.com/docs/woocommerce#connect) | [Store the visitor ID on each order with a small snippet](https://metricraven.com/docs/woocommerce#attribution) |
| RevenueCat | App Store / Google Play | [Connect RevenueCat](https://metricraven.com/docs/revenuecat#connect) | [Link app users to website visitors with the same user ID](https://metricraven.com/docs/revenuecat#link-users) |
| Something else | Server-side | [Payments API](https://metricraven.com/docs/payments-api) | [Include the visitor ID (or a user ID you identified) with each payment](https://metricraven.com/docs/payments-api#send-payment) |

## How it fits together

- **Connect** imports or receives payments and refunds, so revenue and refunds appear even before any payment is attributed.
- **Link payments to visits** passes the visitor ID (or a user ID you [identified](https://metricraven.com/docs/identify-users)) through checkout, so each payment is credited to its channel, campaign and page.
- You can connect several providers to one website; their revenue adds up.

> **Note:** Payments that can't be matched to a visit still count in Revenue, shown without a source. See [Troubleshooting](https://metricraven.com/docs/troubleshooting#revenue) if revenue has no source.
