---
title: "Get the current user's payment method and card-change config"
method: GET
path: "/v1/billing/payment-method"
tags: ["Billing"]
---

# Get the current user's payment method and card-change config

`GET /v1/billing/payment-method`

Returns the saved payment method (brand, last4, expiry, expiringSoon), the $0 product ident to purchase in order to re-bind the card, and — for providers with an own card vault (Upgate) — every saved card the user can manage. CVV is never stored.

## Response `200`

- GetPaymentMethodResponseDto
  - `paymentMethod` PaymentMethodDto
    - `source` 'apple' | 'stripe' | 'funnelfox' | 'unlimit' | 'upgate', required — Provider that owns this payment method
    - `type` string, nullable — Payment method type, e.g. 'card', 'apple_pay'
    - `brand` string, nullable — Card network / brand
    - `last4` string, nullable — Last four digits of the card
    - `expMonth` number, nullable — Expiry month (1-12)
    - `expYear` number, nullable — Expiry year (4-digit)
    - `expiringSoon` boolean, required — True when the card expires within 6 months (or has expired)
  - `rebindProductIdent` string, required — FunnelFox $0 product ident to purchase via the normal checkout flow in order to change the payment method. Empty for redirect-checkout providers.
  - `rebindMode` 'funnelfox_product' | 'redirect_checkout', required — How to change the card: buy the FF $0 product via the embedded SDK, or start a card_update redirect checkout (POST /v2/payments/checkout).
  - `savedCards` SavedCardDto[], required — Every saved card the user can manage (remove / make primary). Empty for providers without an own card vault (FunnelFox, Unlimit).
    - `id` string, uuid, required — Saved card id — the handle for DELETE / make-primary calls
    - `brand` string, nullable — Card network / brand
    - `last4` string, nullable — Last four digits of the card
    - `expMonth` number, nullable — Expiry month (1-12)
    - `expYear` number, nullable — Expiry year (4-digit)
    - `expiringSoon` boolean, required — True when the card expires within 6 months (or has expired)
    - `isPrimary` boolean, required — The card renewals and one-click purchases are charged to (exactly one per user)
    - `removalRequiresCancellation` boolean, required — True when this is the last card of a subscription that still renews: the client has to take the user through the cancellation flow before DELETE succeeds (GEN-1282)

---

[API](https://skmtc.dev/miaai/apis/backend-template-api.md) · [All operations](https://skmtc.dev/miaai/apis/backend-template-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/miaai/backend-template-api/revisions/2a8d88a5124f/schema)
