---
title: "List Payment Methods by Country"
source_url: https://docs.rapyd.net/en/list-payment-methods-by-country.html
lang: en
---

# List Payment Methods by Country

Retrieve a list of all payment methods available for a country.

You can filter the results by specifying the `currency` query parameter.

For general information about payment methods, use the Client Portal.

> **Note:**
>
> - The code samples include successful requests (200) and bad requests (400).
>
>   - For error messages that appear due to bad requests (400), see:
>
>     - [General Errors](https://docs.rapyd.net/en/general-errors.md "General Errors")
>     - [Payment Method Errors](https://docs.rapyd.net/en/payment-method-errors.md "Payment Method Errors")
>   - For information about unauthorized request (401) and other authentication errors, see [Troubleshooting Authentication and Authorization Errors](https://docs.rapyd.net/en/troubleshooting-authentication-and-authorization-errors.md "Troubleshooting Authentication and Authorization Errors").

### Parameters

### Request Path Parameters

- - country
  - Two-letter ISO 3166-1 ALPHA-2 code for the country.

### Request Query Parameters

- - currency
  - Three-letter ISO 4217 code for the currency.

### Request Header Parameters

- - access_key
  - Unique access key provided by Rapyd for each authorized user.

    See [Developers](https://docs.rapyd.net/en/developers.md "Developers").
- - Content-Type
  - Indicates that the data appears in JSON format. Set to **application/json**.
- - salt
  - Random string. Recommended length: 8-16 characters.
- - signature
  - Signature calculated for each request individually.

    See [Request Signatures](https://docs.rapyd.net/en/request-signatures.md "Request Signatures").
- - timestamp
  - Timestamp for the request, in [Unix time](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_unix_time "Unix time") (seconds).

### Response Parameters

- - amount_range_per_currency
  - Indicates the amount range for the payment method's currencies. Array of objects. Each object contains the following fields:

    - - currency
      - Three-letter ISO 4217 code for the currency.
    - - maximum_amount
      - The maximum amount allowed for a payment.
    - - minimum_amount
      - The minimum amount allowed for a payment.
- - category
  - Category of payment method. One of the following:

    - **bank_redirect**
    - **bank_transfer**
    - **card**
    - **cash**
    - **ewallet**
    - **rapyd_ewallet**
- - country
  - Name of the country where this payment method is in use. Two-letter ISO 3166-1 alpha-2 code.
- - currencies
  - A list of currencies in use in the country for this type of payment method. Array of strings. Three-letter ISO 4217 format.
- - image
  - A URL to the image of the icon for the type of payment method.
- - is_cancelable
  - Indicates whether a payment made with this payment method can be canceled.
- - is_expirable
  - Indicates whether the merchant can set an expiration time for the customer to complete the payment.
- - is_online
  - Indicates whether the payment is completed immediately online.
- - is_refundable
  - Indicates whether the payment method type supports refunds.
- - is_restricted
  - Reserved.
- - is_tokenizable
  - Indicates whether the token of the payment method can be used in a collect operation.
- - is_updatable
  - Indicates whether the payment that uses the payment method can be updated.
- - is_virtual
  - Indicates whether a Web-based version of the payment method type exists.
- - maximum_expiration_seconds
  - The maximum time (in seconds) that the merchant can set for completing the payment.

    Relevant when `is_expirable` is **true**.
- - minimum_expiration_seconds
  - The minimum time (in seconds) that the merchant can set for completing the payment.

    Relevant when `is_expirable` is **true**.
- - multiple_overage_allowed
  - Indicates whether multiple overage charges are allowed for this payment method type.
- - name
  - The name of the payment method, in user-friendly terms. For example, **Ireland Visa card**.
- - payment_flow_type
  - Indicates how the customer completes the payment transaction. Possible values:

    - **bank_transfer** - Customer makes a transfer directly from the customer's bank to a bank account.
    - **card** - Rapyd charges the customer's card.
    - **cash** - The customer pays in cash at a Rapyd point-of-sale location.
    - **ewallet** - The customer pays with a local ewallet.
    - **redirect_url** - The customer is directed to another URL to complete the bank payment.
- - payment_options
  - Additional fields of the `payment` object which are required for the payment.

    In the request to create payment, these fields appear in the root of the body of the request.

    To determine the fields required, run [Get Payment Method Required Fields](https://docs.rapyd.net/en/get-payment-method-required-fields.md "Get Payment Method Required Fields").
- - supported_digital_wallet_providers
  - Describes the digital wallet providers that support the payment method. These providers can include **apple_pay** and **google_pay**.
- - supports_aft
  - Indicates whether the payment method supports account funding transactions (AFT).
- - supports_subscription
  - Indicates whether the payment method supports subscription payments.
- - type
  - Type of the payment method. For example, **it_visa_card**.
- - virtual_payment_method_type
  - Indicates the name of the Web-based version of this payment method type.

### Code Samples

- - .NET

    - ```csharp
      using System;

      namespace RapydApiRequestSample
      {
          class Program
          {
              static void Main(string[] args)
              {
                  try
                  {

                      string result = RapydApiRequestSample.Utilities.MakeRequest("GET", $"/v1/payment_methods/countries/IT?currency=EUR");

                      Console.WriteLine(result);
                  }
                  catch (Exception e)
                  {
                      Console.WriteLine("Error completing request: " + e.Message);
                  }
              }
          }
      }
      ```
- - JavaScript

    - ```javascript
      const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest;

      async function main() {
        try {
          const result = await makeRequest('GET', '/v1/payment_methods/countries/IT?currency=EUR');

          console.log(result);
        } catch (error) {
          console.error('Error completing request', error);
        }
      }
      ```
- - PHP

    - ```php
      <?php
      $path = $_SERVER['DOCUMENT_ROOT'];
      $path .= "/<path-to-your-utility-file>/utilities.php";
      include($path);

      try {
          $object = make_request('get', '/v1/payment_methods/countries/IT?currency=EUR');
          var_dump($object);
      } catch(Exception $e) {
          echo "Error: $e";
      }
      ?>
      ```
- - Python

    - ```python
      from pprint import pprint

      from utilities import make_request

      response = make_request(method='get',
                              path=f'/v1/payment_methods/countries/IT?currency=EUR')

      pprint(response)
      ```

- /v1/payment_methods/countries/:country

- List Payment Methods by Country
- ```curl
  curl -X get 'https://sandboxapi.rapyd.net/v1/payment_methods/countries/US' \
  -H 'access_key: your-access-key-here' \
  -H 'Content-Type: application/json' \
  -H 'salt: your-random-string-here' \
  -H 'signature: your-calculated-signature-here' \
  -H 'timestamp: your-unix-timestamp-here'
  ```
- ```json
  {
    "status": {
      "error_code": "",
      "status": "SUCCESS",
      "message": "",
      "response_code": "",
      "operation_id": "4cc7a174-3c28-49ac-947b-06867781342e"
    },
    "data": [
      {
        "type": "us_multiplestoresother_cash",
        "name": "Cash Payment in US",
        "category": "cash",
        "image": "https://iconslib.rapyd.net/checkout/us_multiplestoresother_cash.png",
        "country": "us",
        "payment_flow_type": "cash",
        "currencies": [
          "USD"
        ],
        "status": 1,
        "is_cancelable": false,
        "payment_options": [
          {
            "name": "customer",
            "type": "customer",
            "regex": "",
            "description": "A 'customer' object or the ID of an existing customer object. All fields listed here as required must appear either directly in the API request or in the saved customer object.",
            "is_required": true,
            "is_updatable": false,
            "required_fields": [
              {
                "name": "name",
                "type": "string",
                "regex": "^[0-9a-zA-Z.:|?*,!&_ -]{1,128}$",
                "description": "Customer\u2019s full name",
                "is_required": true,
                "is_updatable": false
              }
            ]
          }
        ],
        "is_expirable": false,
        "is_online": false,
        "is_refundable": false,
        "minimum_expiration_seconds": 0,
        "maximum_expiration_seconds": 1209600,
        "virtual_payment_method_type": null,
        "is_virtual": false,
        "multiple_overage_allowed": false,
        "amount_range_per_currency": [
          {
            "currency": "USD",
            "maximum_amount": null,
            "minimum_amount": null
          }
        ],
        "is_tokenizable": false,
        "supported_digital_wallet_providers": [],
        "is_restricted": false,
        "supports_subscription": true,
        "supports_aft": false,
        "is_allowed_cancel_refund": false
      }
    ]
  }
  ```

- Bad Request - Invalid Country Value
- ```curl
  curl -X get 'https://sandboxapi.rapyd.net/v1/payment_methods/countries/xx' \
  -H 'access_key: your-access-key-here' \
  -H 'Content-Type: application/json' \
  -H 'salt: your-random-string-here' \
  -H 'signature: your-calculated-signature-here' \
  -H 'timestamp: your-unix-timestamp-here'
  ```
- ```json
  {
      "status": {
          "error_code": "MISSING_INVALID_PARAMETERS",
          "status": "ERROR",
          "message": "A parameter is missing or contains an invalid value. The request was rejected. Corrective action: Check all input parameters.",
          "response_code": "INVALID_COUNTRY",
          "operation_id": "9e85e33c-03de-4387-895b-3cff3ab6bb3a"
      }
  }
  ```
