# Connecting merchants

> Each merchant connects their Payment Links account to your platform once, through OAuth. This page covers what is specific to Payment Links: your credentials, a

Each merchant connects their Payment Links account to your platform once, through OAuth. This page covers what is specific to Payment Links: your credentials, and how your platform must present the connection. The OAuth flow itself is in [Connecting to shared accounts](/platforms/account-sharing/connect/), and making requests with the tokens in [Calling the API with an access token](/platforms/account-sharing/access-tokens/).

## Your credentials

Shuttle gives you two OAuth clients, one per environment:

- A **sandbox** client ID and client secret, for testing. Contact Shuttle support for them.
- A **live** client ID and client secret, issued once your integration is [certified](/platforms/payment-links/intro/#certification).

Store all four. Each merchant's connection belongs to one environment: use that environment's client for everything to do with that merchant.

## What Shuttle expects of your platform


- Offer a **Connect Shuttle** action for each merchant.
- Ask the merchant whether to connect **Live** or **Sandbox**, with **Live** selected by default, before sending them to Shuttle.
- Store the access token and refresh token for each merchant, with the environment they belong to, encrypted.
- Refresh access tokens before they expire, and ask the merchant to connect again if a refresh fails.
- Let the merchant disconnect, and [revoke the refresh token](/platforms/account-sharing/removing-access/) when they do.

## What the merchant sees

1. They click **Connect Shuttle** in your platform and choose Live or Sandbox.
2. Shuttle asks them to log into their Payment Links account (the Merchant Portal), or sign up.
3. They choose the account to connect, if they have more than one, and click **Grant Access**.
4. They return to your platform, connected.

## Next

Once a merchant is connected, create payment links for them: see [Actions and events](/platforms/payment-links/api-endpoints/), and [Webhooks](/platforms/payment-links/webhooks/) to hear when they are paid.