> This page is for version v1 (default).
> For other versions, use one of these documentation indexes:
> - v1 (default): https://developers.truemed.com/v-1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.truemed.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.truemed.com/_mcp/server.

# Retrieve Payment Token

GET https://dev-api.truemed.com/api/v1/payment_tokens/{payment_token}

Get data back for a given `payment_token`.

This endpoint returns details about the `payment_token` specified in the URL path.
This endpoint can be used to populate information on a user facing dashboard,
such as the last 4 of the card(s) on file and the expiration dates.

Partners should store expiration dates of cards on file and preemptively encourage
users to update their payment methods (using a call to
[`update_payment_token`](/api-reference/payment-tokens/update-payment-token)) to avoid the failure scenarios
outlined in our [subscriptions guide](/guides/subscriptions/subsequent-billing-periods).

## Request Notes

**Path Params:**
- **payment_token** (Required): The `payment_token` string provided by the
  [`payment_token_updated`](/api-reference/payment-tokens/payment-token-updated-webhook) webhook.

Reference: https://developers.truemed.com/api-reference/payment-tokens/retrieve-payment-token

## Authentication

- `x-truemed-api-key` header (required) — Sales channel API key for merchant server-to-server authentication

## Servers

- `https://dev-api.truemed.com` (Development server, default)
- `https://api.truemed.com` (Production server)

## Request

### Path parameters

- `payment_token` (string, required) — The payment token to get details for

## Response

### 200

Successful response

- `created_at` (string, required) — ISO 8601 formatted date and time the `payment_token` was created at.
- `customer_email` (string, required) — The email address for the customer associated with this `payment_token`.
- `customer_name` (string, required) — The first and last name of the customer associated with this `payment_token`.
- `payment_token` (string, required) — The payment token identifier.
- `lmn_expires_at` (date, optional, nullable) — ISO 8601 formatted date when this payment token's HSA/FSA coverage ends (inclusive, UTC). Counts letters earned on the token's own sessions and letters its customer earned on this sales channel, matching the date the Payment Token Updated webhook reports for the same token. Null if the customer holds no verified LMN. Prompt the customer to requalify before this date.
- `payment_methods` (list of PaymentMethodResponse, optional, nullable) — An optional array of payment_method objects.

## Errors

### 400 Bad Request Error

Bad Request

- `error` (enum, required)
  - Allowed values: `TotalAmountInvalid`, `ValidationError`
- `message` (string, required)

### 404 Not Found Error

Not Found

- `error` (enum, required)
  - Allowed values: `InvalidToken`, `NotFound`
- `message` (string, required)

### 405 Method Not Allowed Error

Method Not Allowed

- `error` (enum, required)
  - Allowed values: `MethodNotAllowed`
- `message` (string, required)

### 500 Internal Server Error

Internal Server Error

- `error` (enum, required)
  - Allowed values: `ServerError`
- `message` (string, required)

### 501 Not Implemented Error

Not Implemented

- `error` (enum, required)
  - Allowed values: `NotImplemented`
- `message` (string, required)

## Types

### PaymentMethodResponse

- `expiration` (string, optional, nullable) — A MM/YYYY formatted string specifying the month and year the card on file will expire.
- `last4` (string, optional, nullable) — The last 4 digits of the CC number associated with this payment method.
- `payment_method_updated_at` (string, optional, nullable) — ISO 8601 formatted DateTime object that represents the date and time the `payment_method` was last updated by the customer.

## Examples

**Response**

```json
{
  "created_at": "string",
  "customer_email": "string",
  "customer_name": "string",
  "payment_token": "string",
  "lmn_expires_at": "2023-01-15",
  "payment_methods": [
    {
      "expiration": "string",
      "last4": "string",
      "payment_method_updated_at": "string"
    }
  ]
}
```

**SDK Code**

```python
import requests

url = "https://dev-api.truemed.com/api/v1/payment_tokens/payment_token"

headers = {"x-truemed-api-key": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://dev-api.truemed.com/api/v1/payment_tokens/payment_token';
const options = {method: 'GET', headers: {'x-truemed-api-key': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```