---
title: "List all available payment methods"
method: GET
path: "/api/pvt/merchants/payment-systems"
tags: ["Configuration"]
---

# List all available payment methods

`GET /api/pvt/merchants/payment-systems`

Returns all payment methods (such as Visa, Master, among others) that can be used in your store.

## Permissions

Any user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:

| **Product** | **Category** | **Resource** |
| --------------- | ----------------- | ----------------- |
| PCI Gateway | Payment-Make Payments | **View Payment Data** |

There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).

>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.

## Query parameters

- `salesChannel` integer

## Headers

- `Content-Type` string, required
- `Accept` string, required

## Response `200`

OK

- PaymentSystemsResponse[] — Payment methods information.
  - `id` number, required — Payment method identification.
  - `name` string, required — Payment method name.
  - `requiresDocument` boolean, required — Indicates whether a document is required.
  - `implementation` string, required — Payment method implementation class name.
  - `connectorImplementation` string, required — Connector (payment provider) implementation class name.
  - `antifraudConnectorImplementation` string, nullable, required — Connector (anti-fraud provider) implementation class name.
  - `groupName` string, required — Payment group name.
  - `redirect` boolean, required — Indicates whether the payment method allows redirection.
  - `isCustom` boolean, required — Indicates whether it is custom.
  - `isSelfAuthorized` boolean, required — Indicates whether the payment is automatically authorized.
  - `requiresAuthentication` boolean, required — Indicates whether it is necessary to log in to make the payment.
  - `allowInstallments` boolean, required — Indicates whether the payment method allows installments.
  - `allowBinExclusion` boolean, required — Indicates whether it is possible to restrict the use of specific BIN codes (only applicable for cards).
  - `allowMultiple` boolean, required — Indicates whether the method allows multiple payments. Example of `false`: debit card.
  - `allowIssuer` boolean, required — Indicates whether it is possible to identify the name of the bank responsible for issuing the card.
  - `allowCountry` boolean, required — Indicates whether it is possible to restrict a payment rule by the country where the purchase is made.
  - `allowCommercialPolicy` boolean, required — Indicates whether to restrict a payment rule by commercial policy type.
  - `allowCommercialCondition` boolean, required — Indicates whether to restrict a payment rule by commercial condition type.
  - `allowPeriod` boolean, required — Indicates whether it is possible to restrict a period for making the payment.
  - `isAvailable` boolean, required — Indicates whether the payment method is available for use.
  - `description` string, nullable, required — Description of the payment method.
  - `supportRecurrence` boolean, required — Indicates whether the payment method supports recurrence.
  - `validator` Validator, required — Validator information.
    - `regex` string, nullable, required — [Regex](https://regexr.com/) information.
    - `mask` string, nullable, required — Validator mask.
    - `cardCodeMask` string, nullable, required — Card code regular mask.
    - `cardCodeRegex` string, nullable, required — Card code regular expression.
    - `weights` integer[], nullable, required — Array containing weigths information.
    - `useCvv` boolean, required — Indicates whether it is necessary to use the CVV code to complete a transaction with payment made by card.
    - `useExpirationDate` boolean, required — Indicates whether it is necessary to use the expiration date to complete a card payment transaction.
    - `useCardHolderName` boolean, required — Indicates whether it is necessary to use the card holder name to complete a payment transaction made by card.
    - `useBillingAddress` boolean, required — Indicates whether it is necessary to use the billing address to complete a card payment transaction.
    - `validCardLengths` string, nullable, required — Information about valid card lengths.
  - `appDependencies` string, nullable, required — App dependencies information.
  - `displayDocument` boolean, required — Indicates whether a document is shown.
  - `dueDate` string, required — Payment due date.
  - `allowNotification` boolean, required — Indicates the possibility of payment notification (used by bank invoices and notes payable).
  - `affiliationId` string, nullable, required — Affiliation connector (payment provider) identification.
  - `availablePayments` string, nullable, required — Information about payment availability.
  - `dueDateMinutes` number, required — Amount of time (in minutes) until the payment date (`dueDate`).

## Changes

- **2024-08-09** `39526dd7405c` — 1 info
  - added the new optional `query` request parameter `salesChannel`
- **2024-06-10** `aca4931fa22b` — 2 info
  - the endpoint scheme security `VtexIdclientAutCookie` was added to the API
  - the endpoint scheme security `appKey AND appToken` was added to the API
- **2024-01-16** `e6bea95b9c18` — 1 breaking
  - the `items/id` response's property type changed from `string` to `number` for status `200`

[Change history](https://skmtc.dev/vtex/apis/payments-gateway-api/changes/api/pvt/merchants/payment-systems/get.md)

---

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