---
title: "Get Payment Methods"
method: GET
path: "/api/v1/payment/methods"
tags: ["payment"]
---

# Get Payment Methods

`GET /api/v1/payment/methods`

Get available payment methods, with admin-toggle aware enabled+hint_text fields.

Each channel may carry a private per-user historical-recharge gate
(see channel_config.get_channel_min_history_cny). When the current user's
cumulative successful recharge in CNY equivalent is below the gate, that
channel is reported as `enabled=false` with a generic hint — the gate
threshold itself is never returned in the response (private internal policy).

Args:
    user: Authenticated user (Depends). /recharge requires login, and
        this endpoint is only called from there, so requiring auth is safe.
    language: User's i18n locale (zh/en/ja/ru). Used to localize hint_text fallback.
    currency: Optional CNY/USD filter for which methods to return. When None,
        we infer it from `language` for backward compat (zh→CNY else USD).

## Query parameters

- `language` string
- `currency` string, nullable

## Response `200`

Successful Response

- PaymentMethodsResponse — Available payment methods response.
  - `success` boolean, required
  - `methods` object[]

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/qcode/apis/qcode-web.md) · [All operations](https://skmtc.dev/qcode/apis/qcode-web/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/qcode/qcode-web/revisions/2f2f5f49ffc7/schema)
