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

# Processa o pagamento de um Plano Anual

> Registra o pagamento via gateway ClubFix, ativando o Plano Anual

<ParamField path="id" type="integer" required>
  ID do Plano Anual retornado na contratação (`POST /annual-plans`). O plano deve estar com status `awaiting_payment`.
</ParamField>

<ParamField header="Authorization" type="string" required>
  Token de autenticação do tipo Bearer obtido através do endpoint de login.
</ParamField>

<ParamField header="Content-Type" type="string" required initialValue="application/json">
  Deve ser definido como `application/json`.
</ParamField>

<ParamField header="Accept" type="string" required initialValue="application/json">
  Deve ser definido como `application/json`.
</ParamField>

<ParamField body="billingType" type="string" required>
  Tipo de cobrança. Valores aceitos: `CREDIT_CARD` ou `SLIP` (boleto).
</ParamField>

<ParamField body="creditCard" type="object">
  Dados do cartão. **Obrigatório quando `billingType` for `CREDIT_CARD`.**
</ParamField>

<ParamField body="creditCard.number" type="string">
  Número do cartão de crédito, somente dígitos (ex: `4111111111111111`). Obrigatório para pagamento em cartão.
</ParamField>

<ParamField body="creditCard.expirate_at" type="string">
  Data de validade no formato `MMYY` (ex: `1228` para dezembro/2028). Obrigatório para pagamento em cartão.
</ParamField>

<ParamField body="creditCard.cvv" type="string">
  Código de segurança CVV/CVC do cartão. 3 ou 4 dígitos. Obrigatório para pagamento em cartão.
</ParamField>

<ParamField body="creditCard.installments" type="integer">
  Número de parcelas no cartão. Inteiro entre `1` e o máximo configurado para o parceiro (padrão: `12`). Obrigatório para pagamento em cartão.
</ParamField>

## Quando usar

Este endpoint é para parceiros que utilizam o **gateway de pagamento ClubFix**. O pagamento é processado diretamente pela ClubFix.

<Warning>
  Exclusivo para parceiros com gateway ClubFix. Parceiros com gateway externo devem usar `POST /annual-plans/{id}/notify-payment` e receberão erro 422 ao chamar este endpoint.
</Warning>

## Fluxo

```
POST /annual-plans → status: awaiting_payment
      ↓
POST /annual-plans/{id}/payment  ← este endpoint
      ↓
Plano Anual: status paid ✓ (ativo)
```
