> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# GET /customers/{customer_id}/payment-methods

**List payment methods for a customer**

Returns a paginated list of payment methods that a customer has saved.  Use the query parameters to page through results.

Customers can choose to save payment methods when purchasing one-time items and subscriptions by checking a box when completing checkout. You can present customers with their saved payment methods when they make a purchase in the future.

Returns an empty list where customers have not saved any payment methods, or have deleted all previously saved payment methods.

**Required permissions:** `payment_method.read`

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `customer_id` | string | required | Unique Paddle ID for this customer entity, prefixed with `ctm_`. (pattern: `^ctm_[a-z\d]{26}$`) |

## Query parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `after` | string | optional | Return entities after the specified Paddle ID when working with paginated endpoints. Used in the `meta.pagination.next` URL in responses for list operations. |
| `per_page` | integer | optional | Set how many entities are returned per page. Paddle returns the maximum number of results if a number greater than the maximum is requested. Check `meta.pagination.per_page` in the response to see how many were returned.

Default: `50`; Maximum: `200`. (Max: 200; default: `50`) |
| `address_id` | array | optional | Return entities related to the specified address. Use a comma-separated list to specify multiple address IDs. |
| `order_by` | string | optional | Order returned entities by the specified field and direction (`[ASC]` or `[DESC]`). For example, `?order_by=id[ASC]`.

Valid fields for ordering: `id`. (default: `"id[DESC]"`) |
| `supports_checkout` | boolean | optional | Return entities that support being presented at checkout (`true`) or not (`false`). |

## Response (200)

- `data`: array (required)
  - `id`: string (required) — Unique Paddle ID for this payment method entity, prefixed with `paymtd_`. (pattern: `^paymtd_[a-z\d]{26}$`)
  - `customer_id`: string (required) — Paddle ID of the customer that this payment method is saved for, prefixed with `ctm_`. (pattern: `^ctm_[a-z\d]{26}$`)
  - `address_id`: string (required) — Paddle ID of the address for this payment method, prefixed with `add_`. (pattern: `^add_[a-z\d]{26}$`)
  - `type`: string (required) — Type of payment method saved.
    - `alipay` — Alipay, popular in China.
    - `apple_pay` — Apple Pay on a supported Apple device.
    - `blik` — BLIK, a popular payment method in Poland.
    - `card` — Credit or debit card.
    - `google_pay` — Google Pay on a supported Android device, Chromebook, or Google Chrome browser.
    - `kakao_pay` — Kakao Pay, a popular payment method in South Korea.
    - `korea_local` — Korean payment methods, which includes over 20 payment options for the Korean market. Check `underlying_payment_method.korea_local` for information about the Korean payment method used to pay.
    - `south_korea_local_card` — Korean local credit or debit card.
    - `mb_way` — MB WAY, a popular payment method in Portugal.
    - `naver_pay` — Naver Pay, a popular payment method in South Korea.
    - `payco` — Payco, a popular payment method in South Korea.
    - `paypal` — PayPal.
    - `pix` — Pix, popular in Brazil.
    - `samsung_pay` — Samsung Pay, a popular payment method in South Korea.
    - `upi` — Unified Payments Interface (UPI), popular in India.
    - `wechat_pay` — WeChat Pay, a popular payment method in China.
  - `card`: object | null (required) — Information about the credit or debit card saved. `null` unless `type` is `card`.
    - `type`: string (required) — Type of credit or debit card used to pay.
      - `american_express` — American Express
      - `diners_club` — Diners Club
      - `discover` — Discover Card
      - `jcb` — JCB Card, popular in Japan
      - `mada` — Mada Card, popular in Saudi Arabia
      - `maestro` — Maestro (debit card)
      - `mastercard` — Mastercard
      - `union_pay` — UnionPay, popular in China
      - `unknown` — Card type unknown
      - `visa` — Visa
    - `last4`: string (required) — Last four digits of the card used to pay.
    - `expiry_month`: integer (required) — Month of the expiry date of the card used to pay.
    - `expiry_year`: integer (required) — Year of the expiry date of the card used to pay.
    - `cardholder_name`: string (required) — The name on the card used to pay.
  - `paypal`: object | null (required) — Information about the PayPal payment method saved. `null` unless `type` is `paypal`.
    - `email`: string (required) — Email address associated with the PayPal account.
    - `reference`: string (required) — PayPal payment method identifier.
  - `underlying_details`: object | null — Information about the underlying payment method used to pay. Populated for payment methods that offer multiple payment options, like `korea_local`. Deprecated - use top-level type objects instead.
    - `korea_local`: object | null (required) — Information about the Korean payment method used to pay. `null` unless the type is `korea_local`.
      - `type`: string (required) — Type of Korean payment method used to pay.
        - `bc` — BC Card (BCard), a kind of card issued in Korea. (비씨카드)
        - `citi` — Card issued by Citi Bank in Korea. (한국씨티은행)
        - `hana` — Card issued by Hana Bank in Korea. (하나카드)
        - `hyundai` — Hyundai Card, a credit card issued by Hyundai in Korea. (현대카드)
        - `jeju` — Card issued by Jeju Bank in Korea. (제주은행)
        - `jeonbuk` — Card issued by Jeonbuk Bank in Korea. (전북은행)
        - `kakaobank` — Card issued by Kakaobank in Korea. (주식회사 카카오뱅크)
        - `kakaopay` — KakaoPay digital wallet, popular in Korea. (카카오페이)
        - `kbank` — Card issued by K Bank in Korea. (케이뱅크)
        - `kdbbank` — Card issued by KDB Bank in Korea. (한국산업은행)
        - `kookmin` — Card issued by Kookmin Bank in Korea. (국민은행)
        - `kwangju` — Card issued by Kwangju Bank in Korea. (광주은행)
        - `lotte` — Lotte Card, a credit card issued by the Lotte Corporation in Korea. (롯데카드)
        - `mg` — Card issued by MG Community Credit Cooperatives (KFCC) in Korea. (MG새마을금고)
        - `naverpaycard` — Card issued by Naver Pay in Korea. (네이버 페이)
        - `naverpaypoint` — Naver Pay digital wallet, popular in Korea. (네이버 페이)
        - `nh` — NH Card, a card issued by Nonghyup Bank in Korea. (NH농협은행)
        - `payco` — PayCo digital wallet, popular in Korea. (페이코)
        - `post` — Card issued by Korea Post. (우체국예금보험)
        - `samsung` — Samsung Card, a card issued by Samsung in Korea. (삼성카드)
        - `samsungpay` — Samsung Pay digital wallet, popular in Korea. (삼성 월렛)
        - `savingsbank` — Card issued by the Korean Federation of Savings Banks in Korea. (저축은행중앙회)
        - `shinhan` — Card issued by Shinhan Bank in Korea. (주식회사 신한은행)
        - `shinhyup` — Card issued by the National Credit Unit Federation of Korea (Shinhyup) in Korea. (신한은행 신협)
        - `suhyup` — Card issued by the National Federation of Fisheries Cooperation (Suhyup) in Korea. (수협은행)
        - `tossbank` — Card issued by Toss Bank in Korea. (토스뱅크)
        - `unknown` — Underlying payment method not recognized.
        - `woori` — Card issued by Woori Bank in Korea. (주식회사 우리은행)
  - `south_korea_local_card`: object | null (required) — Information about the Korean payment method used to pay. `null` unless `type` is `south_korea_local_card`.
    - `type`: string — Type of Korean payment method used to pay.
      - `bc` — BC Card (BCard), a kind of card issued in Korea. (비씨카드).
      - `citi` — Card issued by Citi Bank in Korea. (한국씨티은행).
      - `hana` — Card issued by Hana Bank in Korea. (하나카드).
      - `hyundai` — Hyundai Card, a credit card issued by Hyundai in Korea. (현대카드).
      - `jeju` — Card issued by Jeju Bank in Korea. (제주은행).
      - `jeonbuk` — Card issued by Jeonbuk Bank in Korea. (전북은행).
      - `kakaobank` — Card issued by KakaoBank in Korea. (카카오뱅크).
      - `kbank` — Card issued by K Bank in Korea. (케이뱅크).
      - `kdbbank` — Card issued by KDB Bank in Korea. (한국산업은행).
      - `kookmin` — Card issued by Kookmin Bank in Korea. (국민은행).
      - `kwangju` — Card issued by Kwangju Bank in Korea. (광주은행).
      - `lotte` — Lotte Card, a credit card issued by the Lotte Corporation in Korea. (롯데카드).
      - `mg` — Card issued by MG Community Credit Cooperatives (KFCC) in Korea. (MG새마을금고).
      - `nh` — NH Card, a card issued by Nonghyup Bank in Korea. (NH농협은행).
      - `post` — Card issued by Korea Post. (우체국예금보험).
      - `samsung` — Samsung Card, a card issued by Samsung in Korea. (삼성카드).
      - `savingsbank` — Card issued by the Korean Federation of Savings Banks in Korea. (저축은행중앙회).
      - `shinhan` — Card issued by Shinhan Bank in Korea. (주식회사 신한은행).
      - `shinhyup` — Card issued by the National Credit Unit Federation of Korea (Shinhyup) in Korea. (신한은행 신협).
      - `suhyup` — Card issued by the National Federation of Fisheries Cooperation (Suhyup) in Korea. (수협은행).
      - `tossbank` — Card issued by Toss Bank in Korea. (토스뱅크).
      - `unknown` — Underlying payment method not recognized.
      - `woori` — Card issued by Woori Bank in Korea. (주식회사 우리은행).
    - `last4`: string — Last four digits of the card used to pay.
  - `origin`: string (required) — Describes how this payment method was saved.
    - `saved_during_purchase` — The customer chose to save this payment method while purchasing a one-time item.
    - `subscription` — The customer purchased a subscription, so this payment method was saved for future purchases.
    - `subscription_saved_during_purchase` — The customer chose to save the payment method when purchasing a subscription.
  - `saved_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was saved. Set automatically by Paddle.
  - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
- `meta`: object (required) — Information about this response.
  - `request_id`: string (required) — Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.
  - `pagination`: object (required) — Keys used for working with paginated results.
    - `per_page`: integer (required) — Number of entities per page for this response. May differ from the number requested if the requested number is greater than the maximum.
    - `next`: string (uri) (required) — URL containing the query parameters of the original request, along with the `after` parameter that marks the starting point of the next page. Always returned, even if `has_more` is `false`.
    - `has_more`: boolean (required) — Whether this response has another page.
    - `estimated_total`: integer — Estimated number of entities for this response.

For datasets with 100,000 or fewer matches, returns the exact count. For datasets with more than 100,000 matches, returns `100001` to indicate that more than 100,000 entities match. Returns `-1` when counting is skipped or couldn't be calculated.

Use `has_more` and `next` to page through all results rather than relying on `estimated_total` for an exact count.

### Response example

```json
{
  "data": [
    {
      "customer_id": "ctm_01hv6y1jedq4p1n0yqn5ba3ky4",
      "address_id": "add_01j2jfab8zcjy524w6e4s1knjy",
      "id": "paymtd_01j2jff1m3es31sdkejpaym164",
      "type": "card",
      "card": {
        "cardholder_name": "Sam Miller",
        "type": "visa",
        "last4": "4242",
        "expiry_month": 5,
        "expiry_year": 2025
      },
      "paypal": null,
      "origin": "saved_during_purchase",
      "saved_at": "2024-07-12T03:23:26Z",
      "updated_at": "2024-10-29T14:12:28.018784Z",
      "underlying_details": null,
      "south_korea_local_card": null
    }
  ],
  "meta": {
    "request_id": "0a5ed361-6e13-4cf0-bcad-cca2fca21dca",
    "pagination": {
      "per_page": 50,
      "next": "https://api.paddle.com/customers/ctm_01hv6y1jedq4p1n0yqn5ba3ky4/payment-methods?after=paymtd_01j2jff1m3es31sdkejpaym164",
      "has_more": false,
      "estimated_total": 1
    }
  }
}
```
