# Payment Providers

## Start payment-provider onboarding

**post** `/v3/payments/providers/{provider}/connect`

Begins connecting your organization to a payment provider (e.g.
`agentcard`). Returns a hosted URL where an admin authorizes the
connection; on completion the provider redirects back and Linq stores
your connected credentials.

### Path Parameters

- `provider: string`

### Body Parameters

- `return_url: string`

  Where to send the admin after they authorize the connection.

### Returns

- `hosted_url: optional string`

  Send the admin here to authorize the connection.

- `session_id: optional string`

- `status: optional string`

### Example

```http
curl https://api.linqapp.com/api/partner/v3/payments/providers/$PROVIDER/connect \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $LINQ_API_V3_API_KEY" \
    -d '{
          "return_url": "https://partner.example/settings/payments"
        }'
```

#### Response

```json
{
  "hosted_url": "https://app.agentcard.sh/connect-platform/tok_abc",
  "session_id": "pcs_9f2a",
  "status": "pending"
}
```

## Get payment-provider status

**get** `/v3/payments/providers/{provider}`

Returns your organization's onboarding status for a payment provider.

### Path Parameters

- `provider: string`

### Returns

- `PaymentProvider object { provider, status }`

  - `provider: optional string`

  - `status: optional "onboarding" or "ready" or "disabled"`

    - `"onboarding"`

    - `"ready"`

    - `"disabled"`

### Example

```http
curl https://api.linqapp.com/api/partner/v3/payments/providers/$PROVIDER \
    -H "Authorization: Bearer $LINQ_API_V3_API_KEY"
```

#### Response

```json
{
  "provider": "agentcard",
  "status": "ready"
}
```

## Domain Types

### Payment Provider

- `PaymentProvider object { provider, status }`

  - `provider: optional string`

  - `status: optional "onboarding" or "ready" or "disabled"`

    - `"onboarding"`

    - `"ready"`

    - `"disabled"`

### Payment Provider Connect Response

- `PaymentProviderConnectResponse object { hosted_url, session_id, status }`

  - `hosted_url: optional string`

    Send the admin here to authorize the connection.

  - `session_id: optional string`

  - `status: optional string`
