---
title: "Find one Payment Method"
method: GET
path: "/payment-methods/{id}"
tags: ["Payment Methods"]
---

# Find one Payment Method

`GET /payment-methods/{id}`

Retrieve a Payment Method by its ID

## Path parameters

- `id` string, required

## Response `200`

OK

- PaymentMethodDTO
  - `createdAt` string, date-time, required — The date and time when the entity was created.
  - `updatedAt` string, date-time, nullable, required — The date and time when the entity was last updated.
  - `metadata` object, nullable — Metadata used by merchants to store additional information about the entity.
  - `id` string, required — The ID of the payment method
  - `type` 'card' | 'paypal' | 'applePay', required — The type of the payment method
  - `customer` string, nullable, required — The ID of the customer who this payment method belongs to
  - `isDefault` boolean, required — Whether the payment method is the default one for the customer
  - `card` object, nullable — The card details of the payment method, only present if the type is `card`
    - `brand` 'visa' | 'mastercard' | 'amex' | 'discover' | 'null', nullable, required — The brand of the card
    - `lastFour` string, required — The last four digits of the card
    - `bin` string, required — The card BIN/IIN (Bank/Issuer Identification Number) - 4 to 8 digits
    - `expMonth` string, nullable, required — The expiration month of the card (in MM format)
    - `expYear` string, nullable, required — The expiration year of the card (in YYYY format)
    - `cardholderName` string, nullable, required — The name on the card
  - `applePay` object, nullable — The Apple Pay details of the payment method, only present if the type is `apple_pay`
    - `displayName` string, nullable, required — The display name of the Apple Pay payment method

## Other responses

- `202` — The merchant is entitled but its environment is not provisioned yet. Provisioning has been kicked off (exactly once) and is in progress; retry the request — it succeeds once the environment is ready. Returned only for identity-token (dashboard) requests bound to a merchant, not for secret-key API calls; any such endpoint can return it while provisioning is underway.
- `400` — The request was rejected. `type` is `invalid_request_error` when the request itself is at fault — `errors` then lists every problem found, with field-attributable entries prefixed by the field’s path; `invalid_state_error` when the request was well-formed but the resource is not in a state that allows it; or `payment_error` when the payment was refused by the issuer or processor.
- `401` — No API key was supplied, or the key is not valid. `type` is `authentication_error`.
- `403` — The API key is valid but lacks the permission this operation requires. `type` is `permission_error`.
- `404` — No resource exists with the requested identifier. `type` is `not_found_error`.
- `429` — Too many requests. The rate limit is applied per client across all operations. `type` is `rate_limit_error`.
- `500` — The request could not be completed because of an unexpected error. `type` is `api_error`.
- `504` — The request exceeded the processing time limit and was abandoned. `type` is `api_error` and `code` is `timeout` — unlike a plain 500 the request may still have taken effect, so retry with the same idempotency key rather than blindly.

---

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