Pagar a cobrança do número extra de um número
Um número extra é um número de WhatsApp acima da capacidade que o seu workspace já pagou. Ele é cobrado quando o número conecta pela primeira vez — veja Números extras. Quando essa cobrança é recusada (cartão recusado, sem saldo), o número continua conectado, mas o envio por ele fica bloqueado até o pagamento.POST /v1/numbers/{id}/pay cobra na hora — primeiro os créditos da carteira, o restante no cartão salvo — e libera o envio.
Exige uma chave com escopo de tenant — a mesma regra de
POST /v1/subscription/extra-numbers. Com um token OAuth / MCP, só o Proprietário do workspace pode pagar (billing:manage) — caso contrário, 403 PERMISSION_DENIED.Quando usar
- Quando
GET /v1/numbersouGET /v1/numbers/{id}mostraextraChargeUnpaidSincepreenchido em um número. - Quando
POST /v1/messages/sendresponde409 NUMBER_BLOCKEDcomreason: "extra_charge_unpaid". - Logo depois de corrigir o que recusou a cobrança — um cartão novo, por exemplo — sem querer esperar.
PLAN_NUMBER_LIMIT_REACHED abaixo. No painel, o proprietário do workspace também pode usar Pagar agora na página Números.
Como saber que um número está bloqueado
GET /v1/numbers e GET /v1/numbers/{id} trazem dois campos em cada número:
Esses campos não fazem parte de
health. Um número bloqueado mantém o seu state, pode ter health.sendable: true, e extra_charge_unpaid nunca aparece em health.code. Veja Listar e obter números.
Parâmetros da requisição
Sem corpo.
Resposta
Sucesso (200)
Erros
Decida pelocode, nunca pelo status HTTP: três das recusas são 402.
Corpo do erro:
{ "error": "<mensagem>", "code": "<CÓDIGO>", … }.
- Os corpos de
PAYMENT_FAILEDeINSUFFICIENT_FUNDStrazem tambémproratedTotalecurrency— o valor que foi tentado. OINSUFFICIENT_FUNDSacrescentawalletReason. Oerrordeles é uma mensagem legível, em português. - Os corpos de
PLAN_NUMBER_LIMIT_REACHED,502,409e404trazem sóerrorecode. Oerrordeles é uma frase bilíngue,English | Português.
Depois de um
402, o número continua bloqueado. Depois de um 502, nada muda: um número que já estava bloqueado continua bloqueado até uma retentativa passar, e uma falha do processador nunca bloqueia um número por si só.O que acontece se continuar sem pagamento
- Um número conectado por QR Code que fica 7 dias sem pagamento é desconectado em
extraChargeDisconnectAt: o aparelho é deslogado e o número deixa de contar na sua capacidade. Você recebe um lembrete 2 dias antes. Conectá-lo de novo é uma nova primeira conexão, cobrada como qualquer outra. - Um número da Meta Cloud API nunca é desconectado. Ele fica bloqueado para envio até o pagamento.
Notas
- A chamada é idempotente: quando não há mais nada a pagar, ela responde
not_requirede não cobra nada. - As mensagens que estavam na fila antes do bloqueio não são enviadas: elas falham e aparecem com
NUMBER_BLOCKEDem Códigos de Erro do Log. Envie de novo depois de pagar. - O recebimento não é afetado. O bloqueio é só de envio.