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

# Get a list of available payment methods

`POST /paymentMethods`

Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).

Although we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.

## 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","giropay"]`
  - `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","giropay"]`
  - `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.
  - `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. Minimum length: 3 characters. > Your reference must not include personally identifiable information (PII), for example 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.

## 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 month 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.

---

[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/f62d8d53b8e0/schema)
