## Get a payment's card-reveal handoff

`client.Payments.Credentials(ctx, paymentID) (*PaymentCredentialsResponse, error)`

**get** `/v3/payments/{paymentId}/credentials`

Returns a short-lived handoff for a `ready` payment. Fetch the card
credentials **directly from the provider** with the returned `user_token`
at `fetch_url` — the card number never passes through Linq. Do not persist
PAN/CVC.

### Parameters

- `paymentID string`

### Returns

- `type PaymentCredentialsResponse struct{…}`

  - `Handoff PaymentCredentialsResponseHandoff`

    Fetch the card directly from the provider with these — never through Linq.

    - `CardRef string`

    - `FetchURL string`

    - `Provider string`

    - `UserToken string`

      Short-lived bearer to fetch the card from the provider.

### 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"),
  )
  response, err := client.Payments.Credentials(context.TODO(), "paymentId")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Handoff)
}
```

#### Response

```json
{
  "handoff": {
    "card_ref": "card_7h2k",
    "fetch_url": "https://api.agentcard.sh/api/v2/cards/card_7h2k",
    "provider": "agentcard",
    "user_token": "user_token"
  }
}
```
