> ## Documentation Index
> Fetch the complete documentation index at: https://dev.moonpay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# client.deletePaymentMethod()

> Delete a stored payment method for the connected customer.

Use this method to remove a stored payment method — for example, when a customer asks to forget a card, or after a one-off purchase where you don't want to retain card details. For request and response details, see the [Delete payment method API](/api-reference/platform/endpoints/payment-methods/delete).

To obtain a `paymentMethodId`, list the customer's stored payment methods with [`client.getPaymentMethods()`](/platform/sdk-reference/react-native/get-payment-methods).

```tsx Delete a payment method focus={5-19} theme={null}
import { useMoonPay } from "@moonpay/platform-sdk-react-native";

export function ForgetCardButton({
  paymentMethodId,
}: {
  paymentMethodId: string;
}) {
  const { client } = useMoonPay();

  const handleDelete = async () => {
    // Call this after the client has an active connection.
    const result = await client.deletePaymentMethod(paymentMethodId);

    if (!result.ok) {
      // Handle error
      console.error(result.error.code, result.error.message);
      return;
    }

    // On success, `result.value` is `undefined`.
  };

  // ...
}
```

***

## Parameters

| Parameter         | Type     | Required | Description                                                                                                                                                               |
| ----------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `paymentMethodId` | `string` | ✅        | The `id` of the stored card to delete. Obtain this from [`client.getPaymentMethods()`](/platform/sdk-reference/react-native/get-payment-methods#storedcardpaymentmethod). |

## Result

`client.deletePaymentMethod()` returns a `Result<void, DevPlatformApiError>`.

The API responds with `204 No Content` on success, so `result.value` is `undefined` — there is no response body to read. Check `result.ok` to confirm the delete succeeded.

### Result envelope

`Result<void, DevPlatformApiError>`

| Field   | Type                                          | Required | Description                                                         |
| ------- | --------------------------------------------- | -------- | ------------------------------------------------------------------- |
| `ok`    | `boolean`                                     | ✅        | Whether the operation succeeded.                                    |
| `value` | `undefined`                                   |          | Present when `ok` is `true`. Always `undefined` (no response body). |
| `error` | [`DevPlatformApiError`](#devplatformapierror) |          | Present when `ok` is `false`.                                       |

### `DevPlatformApiError`

The standard MoonPay Platform API error shape.

| Field     | Type                          | Required | Description                                                                                                                                                                     |
| --------- | ----------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`    | `DevPlatformApiErrorCode`     | ✅        | A machine-readable error code (for example, `"not_found"`, `"unauthorized"`). See the [error reference](/api-reference/platform/documentation/using-the-api) for the full list. |
| `message` | `string`                      | ✅        | A developer-friendly message.                                                                                                                                                   |
| `errors`  | `DevPlatformApiErrorDetail[]` |          | Optional list of field-level errors.                                                                                                                                            |

<Accordion title="TS Definition">
  ```ts types.ts theme={null}
  type DevPlatformApiError = {
    code: DevPlatformApiErrorCode;
    message: string;
    errors?: DevPlatformApiErrorDetail[];
  };

  type DevPlatformApiErrorDetail = {
    field?: string;
    message: string;
  };
  ```
</Accordion>
