---
title: "Start a checkout to save a card"
method: POST
path: "/api/v1/billing/payment-methods/setup"
tags: ["billing"]
---

# Start a checkout to save a card

`POST /api/v1/billing/payment-methods/setup`

Returns an embedded Stripe Checkout `clientSecret` in setup mode. The customer enters card details in Checkout; on completion the card is saved to the account's Stripe customer for top-ups and subscription billing, and appears in `paymentMethods` on GET /api/v1/billing. Not available during impersonation.

## Headers

- `Authorization` string, required

## Request body

- object
  - `returnUrl` string, uri — Where Checkout returns after completion. Defaults to the dashboard billing page.

## Response `200`

Embedded Checkout client secret.

- BillingCreatePaymentMethodSetupResponse200
  - `clientSecret` string

## Other responses

- `401` — Missing or invalid API key.

---

[API](https://skmtc.net/getdial/apis/rest-api.md) · [All operations](https://skmtc.net/getdial/apis/rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getdial/rest-api/revisions/5f4eb30ac29a/schema)
