---
title: "Get a list of available payment methods"
method: POST
path: "/paymentMethods"
tags: ["Payments"]
---

# Get a list of available payment methods

`POST /paymentMethods`

Retrieves the list of available payment methods for the transaction, based on the transaction information like amount, country, and currency.

## Headers

- `Idempotency-Key` string

## Request body

- PaymentMethodsRequest
  - `additionalData` object — This field contains additional data, which may be required for a particular payment request. The `additionalData` object consists of entries, each of which includes the key and value.
  - `allowedPaymentMethods` string[] — List of payment methods to be presented to the shopper. To refer to payment methods, use their [payment method type](https://docs.adyen.com/payment-methods/payment-method-types). Example: `"allowedPaymentMethods":["ideal","applepay"]`
  - `amount` Amount
    - `currency` string, required — The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes).
    - `value` integer, required — The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
  - `blockedPaymentMethods` string[] — List of payment methods to be hidden from the shopper. To refer to payment methods, use their [payment method type](https://docs.adyen.com/payment-methods/payment-method-types). Example: `"blockedPaymentMethods":["ideal","applepay"]`
  - `browserInfo` BrowserInfo
    - `acceptHeader` string, required — The accept header value of the shopper's browser.
    - `colorDepth` integer, required — The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.
    - `javaEnabled` boolean, required — Boolean value indicating if the shopper's browser is able to execute Java.
    - `javaScriptEnabled` boolean — Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.
    - `language` string, required — The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).
    - `screenHeight` integer, required — The total height of the shopper's device screen in pixels.
    - `screenWidth` integer, required — The total width of the shopper's device screen in pixels.
    - `timeZoneOffset` integer, required — Time difference between UTC time and the shopper's browser local time, in minutes.
    - `userAgent` string, required — The user agent value of the shopper's browser.
  - `channel` 'iOS' | 'Android' | 'Web' — The platform where a payment transaction takes place. This field can be used for filtering out payment methods that are only available on specific platforms. Possible values: * iOS * Android * Web
  - `countryCode` string — The shopper's country code.
  - `merchantAccount` string, required — The merchant account identifier, with which you want to process the transaction.
  - `order` EncryptedOrderData
    - `orderData` string, required — The encrypted order data.
    - `pspReference` string, required — The `pspReference` that belongs to the order.
  - `shopperConversionId` string — A unique ID that can be used to associate `/paymentMethods` and `/payments` requests with the same shopper transaction, offering insights into conversion rates.
  - `shopperEmail` string — The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.
  - `shopperIP` string — The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).
  - `shopperLocale` string — The combination of a language code and a country code to specify the language to be used in the payment.
  - `shopperReference` string — Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters. > Your reference must not include personally identifiable information (PII) such as name or email address.
  - `splitCardFundingSources` boolean — Boolean value indicating whether the card payment method should be split into separate debit and credit options.
  - `store` string — Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment.
  - `storeFiltrationMode` 'exclusive' | 'inclusive' | 'skipFilter' — Specifies how payment methods should be filtered based on the 'store' parameter: - 'exclusive': Only payment methods belonging to the specified 'store' are returned. - 'inclusive': Payment methods from the 'store' and those not associated with any other store are returned.
  - `telephoneNumber` string — The shopper's telephone number.

## Response `200`

OK - the request has succeeded.

- PaymentMethodsResponse
  - `paymentMethods` PaymentMethod[] — Detailed list of payment methods required to generate payment forms.
    - `apps` PaymentMethodUPIApps[] — A list of apps for this payment method.
      - `id` string, required — The unique identifier of this app, to submit in requests to /payments.
      - `name` string, required — A localized name of the app.
    - `brand` string — Brand for the selected gift card. For example: plastix, hmclub.
    - `brands` string[] — List of possible brands. For example: visa, mc.
    - `configuration` object — The configuration of the payment method.
    - `fundingSource` 'credit' | 'debit' — The funding source of the payment method.
    - `group` PaymentMethodGroup
      - `name` string — The name of the group.
      - `paymentMethodData` string — Echo data to be used if the payment method is displayed as part of this group.
      - `type` string — The unique code of the group.
    - `inputDetails` InputDetail[] — All input details to be provided to complete the payment with this payment method.
      - `configuration` object — Configuration parameters for the required input.
      - `details` SubInputDetail[] — Input details can also be provided recursively.
        - `configuration` object — Configuration parameters for the required input.
        - `items` Item[] — In case of a select, the items to choose from.
          - `id` string — The value to provide in the result.
          - `name` string — The display name.
        - `key` string — The value to provide in the result.
        - `optional` boolean — True if this input is optional to provide.
        - `type` string — The type of the required input.
        - `value` string — The value can be pre-filled, if available.
      - `inputDetails` SubInputDetail[] — Input details can also be provided recursively (deprecated).
        - `configuration` object — Configuration parameters for the required input.
        - `items` Item[] — In case of a select, the items to choose from.
          - `id` string — The value to provide in the result.
          - `name` string — The display name.
        - `key` string — The value to provide in the result.
        - `optional` boolean — True if this input is optional to provide.
        - `type` string — The type of the required input.
        - `value` string — The value can be pre-filled, if available.
      - `itemSearchUrl` string — In case of a select, the URL from which to query the items.
      - `items` Item[] — In case of a select, the items to choose from.
        - `id` string — The value to provide in the result.
        - `name` string — The display name.
      - `key` string — The value to provide in the result.
      - `optional` boolean — True if this input value is optional.
      - `type` string — The type of the required input.
      - `value` string — The value can be pre-filled, if available.
    - `issuers` PaymentMethodIssuer[] — A list of issuers for this payment method.
      - `disabled` boolean — A boolean value indicating whether this issuer is unavailable. Can be `true` whenever the issuer is offline.
      - `id` string, required — The unique identifier of this issuer, to submit in requests to /payments.
      - `name` string, required — A localized name of the issuer.
    - `name` string — The displayable name of this payment method.
    - `type` string — The unique payment method code.
  - `storedPaymentMethods` StoredPaymentMethod[] — List of all stored payment methods.
    - `bankAccountNumber` string — The bank account number (without separators).
    - `bankLocationId` string — The location id of the bank. The field value is `nil` in most cases.
    - `brand` string — The brand of the card.
    - `expiryMonth` string — The two-digit month when the card expires
    - `expiryYear` string — The last two digits of the year the card expires. For example, **22** for the year 2022.
    - `holderName` string — The unique payment method code.
    - `iban` string — The IBAN of the bank account.
    - `id` string — A unique identifier of this stored payment method.
    - `label` string — The shopper’s issuer account label
    - `lastFour` string — The last four digits of the PAN.
    - `name` string — The display name of the stored payment method.
    - `networkTxReference` string — Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. This contains either the Mastercard Trace ID or the Visa Transaction ID.
    - `ownerName` string — The name of the bank account holder.
    - `shopperEmail` string — The shopper’s email address.
    - `supportedRecurringProcessingModels` string[] — The supported recurring processing models for this stored payment method.
    - `supportedShopperInteractions` string[] — The supported shopper interactions for this stored payment method.
    - `type` string — The type of payment method.

## Other responses

- `400` — Bad Request - a problem reading or understanding the request.
- `401` — Unauthorized - authentication required.
- `403` — Forbidden - insufficient permissions to process the request.
- `422` — Unprocessable Entity - a request validation error.
- `500` — Internal Server Error - the server could not process the request.

## Changes

- **2025-05-16** (v70) `186b1147039b` — 4 info
  - added the new optional request property `browserInfo`
  - added the new optional request property `shopperEmail`
  - added the new optional request property `shopperIP`
  - added the new optional request property `telephoneNumber`
- **2025-05-07** (v70) `e2109d52f6f6` — 1 breaking, 18 info
  - the `storedPaymentMethods/items/` response's property type changed from no type to `object` for status `200`
  - added the optional property `storedPaymentMethods/items/bankAccountNumber` to the response with the `200` status
  - added the optional property `storedPaymentMethods/items/bankLocationId` to the response with the `200` status
  - added the optional property `storedPaymentMethods/items/brand` to the response with the `200` status
  - …15 more
- **2025-03-20** (v70) `75be9483c272` — 2 breaking, 17 warning
  - added `#/components/schemas/PixStoredPaymentMethod, #/components/schemas/StoredPaymentMethod` to the `storedPaymentMethods/items/` response property `oneOf` list for the response status `200`
  - the `storedPaymentMethods/items/` response's property type changed from `object` to no type for status `200`
  - removed the optional property `storedPaymentMethods/items/bankAccountNumber` from the response with the `200` status
  - removed the optional property `storedPaymentMethods/items/bankLocationId` from the response with the `200` status
  - …15 more

[Change history](https://skmtc.dev/adyen/apis/checkoutservice/changes/paymentMethods/post.md)

---

[API](https://skmtc.dev/adyen/apis/checkoutservice.md) · [All operations](https://skmtc.dev/adyen/apis/checkoutservice/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/adyen/checkoutservice/revisions/06d28363fdd0/schema)
