# Cobrança

URL: https://0.0.0.0:3002/docs/cobranca

Assinar um plano, pagar com Pix, boleto ou cartão, mudar de plano e o que acontece quando uma fatura atrasa.

O Hydro cobra por assinatura mensal, processada pelo **Asaas**. Cada fatura tem uma página de pagamento onde você escolhe **Pix, boleto ou cartão**.

## Assinar [#assinar]

Em **Plano e uso**, o owner do workspace escolhe um plano e clica em **Assinar**.

1. Na primeira vez, informe os dados de cobrança: nome ou razão social, CPF ou CNPJ e e-mail. Eles vão para o Asaas, que emite as cobranças.
2. A página de pagamento da primeira fatura abre numa aba nova.
3. **O plano passa a valer quando o pagamento é confirmado.** Até lá, o workspace continua como estava (em teste, por exemplo). Cartão e Pix confirmam em instantes; boleto, em até 3 dias úteis.

As próximas faturas chegam todo mês, no mesmo dia, por e-mail do Asaas.

## Mudar de plano [#mudar-de-plano]

* **Para um plano maior:** os limites novos valem na hora. A diferença dos dias que faltam no período vem numa cobrança à parte, com vencimento em 3 dias (abaixo de R$ 5,00 não há cobrança). As próximas faturas já vêm com o valor novo.
* **Para um plano menor:** vale no próximo ciclo. Só é possível se o que está em uso couber no plano novo (`409 plan_usage_exceeds`, com o que reduzir).

## Cancelar [#cancelar]

O cancelamento vale no **fim do período pago**, e até lá dá para desfazer. Depois, o workspace entra na mesma carência do fim do teste: os recursos continuam rodando por alguns dias, sem criar nem aumentar nada, e depois param. Nada é apagado.

## Fatura em atraso [#fatura-em-atraso]

1. No vencimento sem pagamento, o workspace fica **em atraso**, com aviso no painel e por e-mail.
2. Durante a **carência de 7 dias**, tudo continua rodando e os deploys funcionam, mas não dá para criar recursos nem aumentar o tamanho (`403 billing_past_due`).
3. No fim da carência, **apps e bancos param**. Nada é apagado.
4. **Pagou, volta:** o que parou por falta de pagamento religa sozinho assim que o pagamento é confirmado.

O mesmo vale para o fim do período de teste: apps e bancos param no fim da carência e religam quando um plano é assinado.

## Quem pode [#quem-pode]

| Ação                              | Papéis        |
| --------------------------------- | ------------- |
| Ver plano, assinatura e faturas   | Owner e admin |
| Assinar, mudar de plano, cancelar | Só o owner    |

## API [#api]

| Método | Caminho                                          |
| ------ | ------------------------------------------------ |
| `GET`  | `/v1/workspaces/{id}/billing`                    |
| `POST` | `…/billing/subscribe` com `{ planId, profile? }` |
| `POST` | `…/billing/change-plan` com `{ planId }`         |
| `POST` | `…/billing/cancel` e `…/billing/cancel/revert`   |

Erros específicos: `billing_not_configured` (cobrança desligada na plataforma), `billing_gateway_error` (o Asaas não respondeu), `billing_active`, `billing_pending_payment`, `billing_profile_required`, `billing_past_due`, `plan_usage_exceeds`, `plan_not_purchasable` e `same_plan`.
