## Connect a customer handle

`client.PaymentHandles.Connect(ctx, handle) (*PaymentHandleConnection, error)`

**post** `/v3/payments/handles/{handle}/connect`

Starts connecting a customer (by phone/email) so an agent can pay on
their behalf. Linq drives the OTP + consent ceremony through the
messaging channel; this returns `pending` and a `connection.created`
webhook fires once the customer completes it.

### Parameters

- `handle string`

### Returns

- `type PaymentHandleConnection struct{…}`

  - `ConnectID string`

    Returned only by `connect`, and only while the ceremony is pending.
    Nothing on our side persists it — it comes back from the provider and
    is required again to verify — so hold it until you submit the code.

  - `Handle string`

  - `Status PaymentHandleConnectionStatus`

    - `const PaymentHandleConnectionStatusNotConnected PaymentHandleConnectionStatus = "not_connected"`

    - `const PaymentHandleConnectionStatusPending PaymentHandleConnectionStatus = "pending"`

    - `const PaymentHandleConnectionStatusConnected PaymentHandleConnectionStatus = "connected"`

    - `const PaymentHandleConnectionStatusRevoked PaymentHandleConnectionStatus = "revoked"`

### Example

```go
package main

import (
  "context"
  "fmt"

  "github.com/linq-team/linq-go"
  "github.com/linq-team/linq-go/option"
)

func main() {
  client := linqgo.NewClient(
    option.WithAPIKey("My API Key"),
  )
  paymentHandleConnection, err := client.PaymentHandles.Connect(context.TODO(), "handle")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", paymentHandleConnection.ConnectID)
}
```

#### Response

```json
{
  "connect_id": "cs_01HZY8",
  "handle": "+14155550123",
  "status": "connected"
}
```
