Boas práticas gerais

Boas práticas para integrar o Pague Contas, incluindo fluxo recomendado, payload mínimo, regras de agendamento, idempotência e webhooks.

Use estas boas práticas para integrar o Pague Contas com menos duplicidades, menos falhas operacionais e mais previsibilidade no processamento de boletos.

Quando usar o Pague Contas

Use o Pague Contas quando sua aplicação precisar pagar boletos pela API do Asaas a partir da linha digitável do título. Essa funcionalidade é indicada para fluxos em que você quer automatizar contas recorrentes, centralizar pagamentos operacionais ou programar pagamentos sem depender de execução manual.

O campo obrigatório da operação é identificationField (linha digitável do boleto). Com ele, você pode iniciar um pagamento imediato ou programar o pagamento para uma data futura, respeitando as regras de horário limite e dia útil.

Fluxo recomendado de integração

  1. Receba ou capture a linha digitável do boleto. Armazene o valor que será enviado em identificationField e evite transformar o campo sem necessidade.
  2. Monte o payload final. Envie somente os campos necessários para a operação, incluindo scheduleDate apenas quando o pagamento for agendado.
  3. Registre o payload antes do envio. Salve o corpo final da requisição para auditoria, suporte e investigação de falhas.
  4. Aplique idempotência na sua aplicação. Antes de reenviar uma tentativa, verifique se a mesma conta já foi enviada para evitar pagamentos duplicados.
  5. Envie a requisição para pagamento. Para pagamento imediato, não envie scheduleDate; para pagamento agendado, informe uma data válida.
  6. Acompanhe o resultado da operação. Monitore webhooks e configure alertas para identificar falhas, atrasos ou comportamentos inesperados.

Exemplo de payload mínimo

Use este formato quando quiser solicitar um pagamento sem agendamento explícito:

{
  "identificationField": "83660000001084301380074119002551100010601813"
}

O payload final deve conter apenas os campos exigidos para o cenário que você está executando. Se sua aplicação adicionar campos opcionais, registre o corpo final enviado para facilitar a comparação entre o que foi planejado e o que chegou à API.

Regras de pagamento imediato e agendado

CenárioComo enviarComportamento esperado
Pagamento imediatoEnvie identificationField sem scheduleDate.O pagamento é processado no momento da requisição, respeitando as regras operacionais do boleto.
Pagamento agendadoEnvie identificationField com a data de agendamento.O pagamento é programado para a data informada, desde que ela respeite a regra de dia útil.
Envio após o horário limiteVerifique se a operação ocorre depois das 14h.Considere o horário limite (14h) e a regra de +1 dia útil para evitar agendamentos inválidos.

Checklist antes de enviar

  • Envie somente o que for necessário para o cenário.
  • Sempre logue o payload final antes do envio.
  • Implemente idempotência para evitar duplicidades.
  • Monitore seus webhooks e configure alertas para falhas.
  • Em produção, evite testes com boletos reais de terceiros.
  • Lembre-se do horário limite (14h) e da regra de +1 dia útil para agendamentos.

Comportamentos que exigem atenção

  • Duplicidade: se uma tentativa falhar por timeout ou erro de comunicação, consulte seus registros internos antes de reenviar a mesma conta.
  • Agendamento inválido: valide a data antes do envio quando usar scheduleDate, principalmente em operações próximas ao horário limite.
  • Falhas de webhook: configure alertas para ausência de eventos esperados ou respostas com erro no endpoint da sua aplicação.
  • Testes em produção: não use boletos reais de terceiros para validar integração, payload ou comportamento de retry.

Conteúdos relacionados