---
title: "List a customer's payment methods"
method: GET
path: "/v1/customers/{id}/payment_methods"
tags: ["Customers"]
---

# List a customer's payment methods

`GET /v1/customers/{id}/payment_methods`

Returns a list of payment methods attached to the specified customer, sorted by ID in descending order (most recently created first).

## Path parameters

- `id` string, required

## Query parameters

- `limit` integer, nullable — A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
- `offset` integer, nullable — Number of objects to skip before returning results.
- `include_org` boolean, nullable — Resolve payment methods for a customer owned by a sibling partner in the same organization (PII opt-in). Defaults to `false`; a sibling-owned customer returns `404` unless this is `true` and the caller shares an organization with the owner. A sibling-owned payment method's `metadata` is returned as `null`.

## Response `200`

An envelope wrapping a list of payment method objects.

- MultiplePaymentMethodsBodyForV1PaymentMethod — An envelope wrapping a list of payment method objects.
  - `payment_methods` V1PaymentMethod[], required — The list of payment methods.
    - `payment_method_id` string, required — The ID of the PaymentMethod.
    - `billing_details` BillingDetails, required — Billing information associated with a PaymentMethod, such as the cardholder's billing address, email, name, and phone number.
      - `address` BillingAddress — A billing address attached to a PaymentMethod's billing details.
        - `city` string, nullable — City, district, suburb, town, or village.
        - `country` string, nullable — Two-letter ISO country code (e.g., `US`).
        - `line1` string, nullable — Address line 1, such as the street, PO box, or company name.
        - `line2` string, nullable — Address line 2, such as the apartment, suite, unit, or building.
        - `postal_code` string, nullable — ZIP or postal code.
        - `state` string, nullable — State, county, province, or region.
      - `email` string, nullable — The billing email address.
      - `name` string, nullable — The billing name.
      - `phone` string, nullable — The billing phone number.
    - `customer` union, required — An expandable field — either a string ID or an expanded Customer object.
      - string
      - Customer — A Customer object represents a customer of your business. Use it to track payments, store reusable payment methods, and reference the customer on checkout sessions, invoices, and subscriptions.
        - `customer_id` string, required — The unique identifier for the customer.
        - `owner_partner_id` string, nullable — The partner that owns this customer. When a customer is shared with you by another partner in your organization, this is that sibling partner; otherwise it is your own partner id.
        - `first_name` string, required — The customer's first name.
        - `last_name` string, required — The customer's last name.
        - `email` string, email, required — The customer's email address.
        - `phone` string, phone, nullable — The customer's phone number.
        - `employer` string, nullable — The customer's employer.
        - `shipping` ShippingAddress — A ShippingAddress represents the postal address a physical order is delivered to. It is referenced by checkout sessions and customers.
          - `shipping_address_id` string, required — Unique identifier for the shipping address.
          - `line1` string, nullable — The first line of the street address (e.g., street number and name).
          - `line2` string, nullable — The second line of the street address (e.g., apartment, suite, or unit).
          - `city` string, nullable — City, district, suburb, town, or village.
          - `state` string, nullable — State, county, province, or region.
          - `postal_code` string, nullable — ZIP or postal code.
          - `country` string, nullable — Two-letter country code (ISO 3166-1 alpha-2, e.g., `US`).
        - `metadata` object, nullable — Metadata associated with the customer.
        - `created_at` string, required — A timestamp encoded as an RFC 3339 / ISO 8601 string (e.g. `2026-06-15T14:30:00Z`).
        - `test_mode` boolean, required — Whether the customer was created in test mode.
    - `metadata` object, nullable — Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
    - `card` V1Card, required — The card backing a PaymentMethod, as returned by the public API: brand, country, expiration, funding type, and the last four digits.
      - `brand` 'american_express' | 'diners_club' | 'discover' | 'eftpos_au' | 'JCB' | 'master_card' | 'union_pay' | 'visa' | 'unknown', required — The card's network (brand).
      - `country` string, required — Two-letter ISO country code of the card's issuing country (e.g., `US`).
      - `exp_month` integer, required — The card's expiration month.
      - `exp_year` integer, required — The card's expiration year.
      - `funding` 'credit' | 'debit' | 'hsa_fsa' | 'prepaid' | 'unknown', required — The card's funding type, such as credit, debit, prepaid, or an HSA/FSA benefits card.
      - `last4` string, required — The last four digits of the card.
    - `created_at` string, required — A timestamp encoded as an RFC 3339 / ISO 8601 string (e.g. `2026-06-15T14:30:00Z`).
    - `test_mode` boolean, required — Whether this PaymentMethod is in test mode.
    - `off_session` boolean, required — Whether this PaymentMethod is valid for off_session (customer not present) purchase flows.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `422` — Validation Error
- `429` — Too Many Requests

---

[API](https://skmtc.dev/withflex/apis/flex-api.md) · [All operations](https://skmtc.dev/withflex/apis/flex-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/withflex/flex-api/revisions/b1560fc2f199/schema)
