account_balance.billing_mode.
Postpaid fica desligado até que smsg.balance.postpaid.enabled seja true, portanto migrar adiciona
duas colunas e não muda nada até que você diga.
O que muda
Uma conta postpaid não é debitada de forma alguma. Seubalance fica em zero, nenhum bloco é
reservado, e o que ela deve é derivado de cdr_submit quando a fatura é preparada.
O que o gateway aplica em vez disso é credit_limit — quanto de uso não faturado pode acumular antes
que a conta seja recusada.
Bater o limite é a mesma recusa que ficar sem crédito prepaid — SMPP 0x402, HTTP 402,
motivo insufficientCredit. Deliberadamente: os dois significam “você não pode enviar isto agora”,
e dois status codes fariam todo cliente na plataforma aprender um segundo.
Conta exata, aplicação aproximada
Estes são dois trabalhos diferentes, e eles deliberadamente não compartilham uma implementação.A verificação de limite
Lê um valor em memória atualizado no mesmo poll de 30 segundos que aplica recharges. Tem
permissão de estar desatualizado.
A fatura
Uma função pura de
cdr_submit sobre uma janela semiaberta. Nunca lê aquele contador,
nunca lê account_balance, nunca lê o ledger.cdr_submit ausente ou
extra. Nada no caminho de aplicação pode corromper uma fatura.
A defasagem é enviesada de forma segura
Um poll só pode apertar o headroom, nunca aumentá-lo — porque a query não pode ver mensagens enviadas enquanto ela estava rodando. Headroom sobe apenas quando a dívida genuinamente encolhe: um período fechado, um reembolso caído ou um operador que mudou o limite. Esse viés é o ponto. A defasagem recusa cedo demais em vez de tarde demais.Quão longe do limite uma conta pode ir
A última linha é a que se deve observar se você algum dia rodar mais de um gateway contra um banco de
dados. Está declarada porque é a que escala, não porque é um problema atual.
Escolhendo entre os dois
Prepaid é o padrão mais seguro para uma nova conta. Postpaid ganha seu risco com clientes cujo
volume faz top-ups constantes se tornarem um transtorno.
Relacionado
Crédito prepaid
Blocos, reservas e a identidade do dinheiro.
Statements
Fechando um período e emitindo a fatura.