---
uuid: 5d5e1802-2417-444f-9e56-bf5245222077
date_created: 2026-02-27T06:19:33.343Z
date_updated: 2026-04-03T13:40:34.982Z
seo_url: retrieve-payment-methods-and-providers
category: Payment
tags: 
  - Payments
routes: 
  - GET /v1/payment_providers
  - GET /v1/payment_providers
---

# Retrieve payment methods and providers

This scenario explains how to list the payment providers exposed by the API and then retrieve the payment methods available for one selected provider.

## Flow

```mermaid
flowchart LR
    step0["List payment providers"]
    step1["Inspect payment methods on the selected provider"]
    step0 --> step1
```

## Overview

This scenario helps an application discover the payment providers exposed for a locale and then inspect the payment methods available for one selected provider.

## Prerequisites

* A valid `accept-language` header.
* A valid `x-api-key`.
* A `provider_id` returned by the first step to read the detailed payment methods.

## Expected result

The application can list the available providers, select one provider and retrieve the supported payment methods together with their payment conditions.

## 1 - List payment providers

Use `GET /v1/payment_providers` to list the payment providers available for the current locale before selecting one provider for the payment journey.

#### Prerequisites

* Send `accept-language` and `x-api-key`.
* Call this step before creating a payment.
* Keep the same locale as the rest of the payment flow so the catalog remains consistent.

#### Calling CURL

```bash
curl -X 'GET' \
  'https://api.clubmed.com/v1/payment_providers' \
  -H 'accept: application/json' \
  -H 'accept-language: en-US' \
  -H 'x-api-key: YOUR_API_KEY'
```

#### Example answer

```json
[
  {
    "id": "EOGONE",
    "label": "Ogone",
    "connection_type": "E-Commerce",
    "payment_methods": [
      {
        "id": "AE",
        "label": "American Express",
        "category": "CreditCard",
        "time_payment_conditions": [
          {
            "id": "A1",
            "payment_count": 3,
            "required_delay_before_departure": 45
          }
        ]
      }
    ]
  }
]
```

> **info:** `v1` already embeds `payment_methods` under each provider, so one response is enough to populate the provider selector and prepare the next step.

***

**Response codes**

* **OK Response (200):** returns the payment providers available for the requested locale.
* **Error (400):** the request is malformed or one input value is invalid.
* **Error (401):** authentication or API key validation failed.
* **Error (403):** access to the provider catalog is forbidden in the current context.
* **Error (404):** not documented in Swagger.

**Related route**: [GET https://api.clubmed.com//v1/payment\_providers](https://api.clubmed.com/doc?search=GET%20%2Fv1%2Fpayment_providers)

## 2 - Inspect payment methods on the selected provider

Use `GET /v1/payment_providers` to inspect the `payment_methods` exposed by the provider selected in the previous step.

#### Prerequisites

* Reuse the provider chosen from the previous `GET /v1/payment_providers` response.
* Send `accept-language` and `x-api-key`.
* Call this step before `POST /v0/payments` so you can pick a compatible method and payment condition.

#### Calling CURL

```bash
curl -X 'GET' \
  'https://api.clubmed.com/v1/payment_providers' \
  -H 'accept: application/json' \
  -H 'accept-language: en-US' \
  -H 'x-api-key: YOUR_API_KEY'
```

#### Example answer

```json
[
  {
    "id": "EOGONE",
    "label": "Ogone",
    "payment_methods": [
      {
        "id": "AE",
        "label": "American Express",
        "category": "CreditCard",
        "time_payment_conditions": [
          {
            "id": "A1",
            "payment_count": 3,
            "required_delay_before_departure": 45
          }
        ]
      }
    ]
  }
]
```

> **info:** there is no dedicated second endpoint anymore in `v1`: read the `payment_methods` array directly on the selected provider object and reuse those identifiers in the payment payload.

***

**Response codes**

* **OK Response (200):** returns the providers and their embedded payment methods for the requested locale.
* **Error (400):** the request is malformed or one input value is invalid.
* **Error (401):** authentication or API key validation failed.
* **Error (403):** access to the provider catalog is forbidden in the current context.
* **Error (404):** not documented in Swagger.

**Related route**: [GET https://api.clubmed.com//v1/payment\_providers](https://api.clubmed.com/doc?search=GET%20%2Fv1%2Fpayment_providers)
