# Get member's default recurring payment card

`GET /api/members/{memberId}/rcp-card`

- **Success:** `200 OK`
- **Products:** Operator (`FOH`), Consumer (`CONSUMER`) (any one of these products, not all)
- **Features:** Online Bookings (`ONLINEBOOK`), Online Joining (`ONLINEJOIN`), Front of House Generic Access (`FOHGENERIC`) (any one of these features, not all)

HTML version: [Get member's default recurring payment card](https://support.gladstonesoftware.cloud/reference/members/get-members-default-recurring-payment-card)

## Overview

Returns the card a member has designated as their default for recurring card payments (RCP) — the card that repeat, automated billing is taken from.

That designation lives on the Gladstone side, on the member's wallet record: a card id, plus whether the card was verified with the payment provider at the point it was designated. This endpoint reads that record and nothing else. It does not call the payment provider, so it will not tell you whether the card still exists, whether it has expired, or what it looks like. For any of that, list the wallet with `GET /api/members/{memberId}/wallet/gladstonepay` and match `rcpCardId` against `data[].cardID`. The designation also protects the card: while it is in place, `DELETE /api/members/{memberId}/wallet/gladstonepay/{cardId}` refuses to remove that card.

A member has a wallet only once their first card has been saved, so expect `404` for anyone who has never stored one. A member who has a wallet but has never designated a recurring card gets `200` with `rcpCardId` null and `verified` false.

## Endpoint

`GET {base_url}/api/members/{memberId}/rcp-card`

`{base_url}` is the environment URL issued to your integration. See [Authenticating with Gladstone APIs](../../guides/authenticating-with-gladstone-apis.md).

## Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `memberId` | integer (int32) | Yes | The member whose recurring payment card you want. Must be the member identified by your access token, or a member linked to them; any other member is rejected with `403`. The member must already have a wallet, which happens only once their first card has been saved through `POST /api/members/{memberId}/wallet/card` — otherwise you get `404`. |

## Sample request

```bash title="cURL"
curl -X GET '{base_url}/api/members/{memberId}/rcp-card' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true'
```

## Response fields

| Field | Type | Description |
|-------|------|-------------|
| `rcpCardId` | string | The id of the card designated for recurring payments, or null when the member has a wallet but has never designated one. It is the same identifier as `data[].cardID` in `GET /api/members/{memberId}/wallet/gladstonepay`, but is returned here as a string where that endpoint returns an integer — convert before comparing. Pair it with that endpoint if you need the card's expiry date or type; this response carries nothing else about the card. |
| `verified` | boolean | Whether the designated card was verified with the payment provider at the moment it was designated. The value is worked out rather than set directly: it is `true` only when a card id is present *and* a provider reference was captured for that card. A provider reference is only captured when the card is designated as part of adding or verifying a card (`POST /api/members/{memberId}/wallet/card`) or as part of taking a payment — designating a card with `PUT /api/members/{memberId}/rcp-card` on its own always leaves this `false`. Because it is derived, `false` does not distinguish "no card designated" from "card designated but unverified": check `rcpCardId` to tell those apart. |

## Sample response

```json title="200 OK"
{
  "rcpCardId": "string",
  "verified": true
}
```

## Errors

| Status | Meaning | When |
|--------|---------|------|
| `404` | Not found | The member has no wallet. A wallet is created only when the member's first card is saved through `POST /api/members/{memberId}/wallet/card`, so this is what you get for any member who has never stored a card — it does not mean the member does not exist. The body is the text `Member Wallet with id {memberId} was not found.` |
| `500` | Internal server error | An unexpected server-side failure while reading the member's wallet. The response has no body, so there is nothing to parse — retry, and raise it with Gladstone if it persists. |
