# Calcular Pro Rata
`POST /v1/subscriptions/:subscriptionId/prorata`
**Área:** Assinaturas

**Scopes necessários:** `subscriptions/read`

Calcula o valor de pro rata para uma troca de plano **sem efetuar cobrança**.

Útil para exibir ao cliente o valor exato da mudança antes de confirmar o upgrade. O cálculo considera os dias restantes do ciclo atual.

Envie `old` com o preço/quantidade atuais e `new` com o preço/quantidade desejados.

Case de uso:

_Como SaaS, quero mostrar na interface "Você pagará R$ 45,48 hoje pela diferença proporcional" antes do cliente confirmar o upgrade._

### Path parameters

| Campo | Obrigatório | Descrição |
|---|---|---|
| `subscriptionId` | **sim** | ID da assinatura (ex: sub_xxx) - required |

### Request body

```json
{
  "old": {
    "priceId": "price_xxx",
    "quantity": 1
  },
  "new": {
    "priceId": "price_yyy",
    "quantity": 1
  }
}
```

### Campos do body

**Obrigatórios:** `old`, `old.priceId`, `new`, `new.priceId`

| Campo | Descrição |
|---|---|
| `old` |  |
| `old.priceId` | Preço atual |
| `new` |  |
| `new.priceId` | Novo preço |

**Opcionais**

| Campo | Descrição |
|---|---|
| `old.quantity` |  |
| `new.quantity` |  |

### Resposta 200 — 200

```json
{
  "subscriptionId": "sub_xxx",
  "currentAmount": 99.9,
  "newAmount": 199.9,
  "prorataAmount": 45.48,
  "remainingDays": 15,
  "cycleDays": 31,
  "currentCredit": 48.34,
  "nextCycleChargeDate": "2024-02-15"
}
```

### Resposta 404 — 404 old

```json
{
    "error": {
        "message": "Preço antigo não encontrado",
        "code": "OLD_PRICE_NOT_FOUND",
        "details": null,
        "timestamp": "2026-07-14T21:39:36.322Z"
    }
}
```

### Resposta 404 — 404 new

```json
{
    "error": {
        "message": "Preço novo não encontrado",
        "code": "NEW_PRICE_NOT_FOUND",
        "details": null,
        "timestamp": "2026-07-14T21:39:36.322Z"
    }
}
```

### Resposta 404 — 404 sub

```json
{
    "error": {
        "message": "Assinatura não encontrada",
        "code": "SUBSCRIPTION_NOT_FOUND",
        "details": null,
        "timestamp": "2026-07-14T21:39:36.322Z"
    }
}
```

---
Página: https://docs.validapay.com.br/documentacao-validapay2/post-calcular-pro-rata
Contrato OpenAPI: https://docs.validapay.com.br/openapi.json