> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chargefy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a Payment Method

> Atualiza um payment method.

Atualiza campos editáveis de um `payment_method`. Hoje o campo editável é
`metadata`.

<ParamField path="id" type="string" required>
  ID do payment method (`pm_*`).
</ParamField>

<ParamField body="customer" type="string">
  Customer usado como contexto quando necessário.
</ParamField>

<ParamField body="metadata" type="object">
  Metadata livre.
</ParamField>

<RequestExample>
  ```bash cURL theme={}
  curl -X POST "https://api.chargefy.io/v1/payment-methods/pm_123" \
    -H "Authorization: Bearer {{API_KEY}}" \
    -H "Content-Type: application/json" \
    -d '{
      "customer": "cus_123",
      "metadata": {
        "label": "principal"
      }
    }'
  ```
</RequestExample>

## Resposta

`200 OK` com o objeto `payment_method` completo — mesmo shape de [GET /v1/payment-methods/:id](/api-reference/payment-methods/get).

<ResponseExample>
  ```json 200 theme={}
  {
    "id": "pm_123",
    "object": "payment_method",
    "billing_details": {
      "address": null,
      "email": "cliente@email.com",
      "name": "Ana Silva",
      "phone": null
    },
    "card": {
      "brand": "visa",
      "exp_month": 12,
      "exp_year": 2030,
      "last4": "4242"
    },
    "created_at": "2026-05-16T18:30:00Z",
    "customer": "cus_123",
    "livemode": true,
    "metadata": {
      "label": "principal"
    },
    "type": "credit_card",
    "updated_at": "2026-05-16T18:45:00Z"
  }
  ```

  ```json 400 theme={}
  {
    "error": {
      "code": "invalid_request",
      "message": "metadata must be an object.",
      "param": "metadata",
      "type": "invalid_request_error"
    }
  }
  ```

  ```json 401 theme={}
  {
    "error": {
      "code": "authentication_failed",
      "message": "Invalid API key provided.",
      "type": "authentication_error"
    }
  }
  ```

  ```json 404 theme={}
  {
    "error": {
      "code": "resource_missing",
      "message": "Payment method not found.",
      "type": "invalid_request_error"
    }
  }
  ```
</ResponseExample>
