---
title: "Update a payment method for a subscription"
method: PUT
path: "/billing/subscriptions/{subscription_id}/payment-methods"
tags: ["Billing"]
---

# Update a payment method for a subscription

`PUT /billing/subscriptions/{subscription_id}/payment-methods`

Update a payment method for a subscription

## Path parameters

- `subscription_id` string, required

## Response `200`

Successful Response

- BillingTransaction — DTO for Paddle Billing Transaction
  - `id` string, required
  - `status` string, required
  - `customer_id` string
  - `address_id` string
  - `business_id` string
  - `custom_data` object
  - `origin` string, required
  - `collection_mode` string, required
  - `subscription_id` string
  - `invoice_id` string
  - `invoice_number` string
  - `billing_details` BillingDetails
    - `enable_checkout` boolean, required
    - `payment_terms` PaymentTerms, required
      - `interval` string, required
      - `frequency` integer, required
    - `purchase_order_number` string
    - `additional_information` string
  - `billing_period` BillingPeriod
    - `starts_at` string, date-time, required
    - `ends_at` string, date-time, required
  - `currency_code` string, required
  - `discount_id` string
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `billed_at` string, date-time
  - `revised_at` string, date-time
  - `items` PaddleBillingTransactionItem[], required
    - `price` PaddleBillingPrice, required
      - `id` string, required
      - `product_id` string, required
      - `name` string
      - `description` string
      - `type` string
      - `billing_cycle` Duration
        - `interval` string, required
        - `frequency` integer, required
      - `trial_period` Duration
        - `interval` string, required
        - `frequency` integer, required
      - `tax_mode` string
      - `unit_price` MoneyAmount, required
        - `amount` string, required
        - `currency_code` string, required
      - `unit_price_overrides` object[]
      - `quantity` QuantityConstraints
        - `minimum` integer, required
        - `maximum` integer, required
      - `status` string, required
      - `custom_data` object
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `import_meta` object
    - `quantity` integer, required
    - `proration` Proration
      - `rate` string, required
      - `billing_period` BillingPeriod, required
        - `starts_at` string, date-time, required
        - `ends_at` string, date-time, required
  - `checkout` PaddleBillingCheckout
    - `url` string
  - `payments` TransactionPayment[]
    - `payment_attempt_id` string, required
    - `stored_payment_method_id` string
    - `payment_method_id` string, required
    - `amount` string, required
    - `status` string, required
    - `error_code` unknown
    - `method_details` PaymentMethodDetails, required
      - `type` string, required
      - `card` object
    - `created_at` string, date-time, required
    - `captured_at` string, date-time
  - `details` PaddleBillingTransactionDetails
    - `line_items` PaddleBillingTransactionLineItem[], required
      - `price_id` string, required
      - `product` PaddleBillingTransactionProduct, required
        - `id` string, required
        - `name` string, required
        - `description` string
        - `custom_data` object
        - `image_url` string
      - `quantity` integer, required
      - `totals` TransactionItemTotals, required
        - `discount` integer, required
        - `subtotal` integer, required
        - `tax` integer, required
        - `total` integer, required
      - `unit_totals` TransactionItemTotals, required
        - `discount` integer, required
        - `subtotal` integer, required
        - `tax` integer, required
        - `total` integer, required
      - `tax_rate` string
    - `totals` TransactionTotals, required
      - `subtotal` string, required
      - `tax` string, required
      - `discount` string, required
      - `total` string, required
      - `grand_total` string, required
      - `fee` string
      - `credit` string, required
      - `credit_to_balance` string, required
      - `balance` string, required
      - `earnings` string
      - `currency_code` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/pollination/apis/pollination-server.md) · [All operations](https://skmtc.net/pollination/apis/pollination-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pollination/pollination-server/revisions/c1f3c6d96b31/schema)
