REDA One Centro de ajuda
PT
Idioma
English EN Español ES Português PT Italiano em breve Français FR Deutsch em breve العربية em breve
reda.one ↗
Início / REDA Pay / Processamento agendado / Agendar o trabalho diário de pagamentos recorrentes

Agendar o trabalho diário de pagamentos recorrentes

Os pagamentos recorrentes são modelos; um trabalho em segundo plano os transforma em pagamentos reais nas datas de vencimento. O REDA Pay inclui o trabalho, mas não o agenda: um administrador faz isso uma vez, na Configuração. Até lá, todo agendamento que a sua equipe ou os seus clientes criam aparece como ativo e nunca é executado.

Antes de começar: você tem a permissão Author Apex do Salesforce (um administrador do sistema tem) e o REDA Pay - Admin User.

Agendar o trabalho

  1. Abra a Configuração, digite Classes do Apex na caixa Busca rápida e clique em Classes do Apex.
  2. Clique em Agendar Apex no topo da lista.
  3. Preencha:
CampoInforme
Nome do trabalhoUm nome que você vá reconhecer na lista de trabalhos agendados, por exemplo REDA Pay - Recurring Payments
Classe do ApexClique na pesquisa e escolha SchedulePayOrderJob (ela aparece com o namespace do REDA Pay, rpay)
FrequênciaSemanal, com todos os dias da semana marcados
IniciarHoje
FinalizarUma data bem no futuro, por exemplo daqui a dez anos
Horário de início preferencialUma hora tranquila antes do expediente, por exemplo 06:00. Os pagamentos que vencem no dia são criados e enviados nesse horário
  1. Clique em Salvar.
A página Agendar Apex na Configuração com Nome do trabalho "REDA Pay - Recurring Payments", Classe do Apex SchedulePayOrderJob, Frequência Semanal com os sete dias marcados, datas de início e de término e um horário de início preferencial
A página Agendar Apex na Configuração com Nome do trabalho "REDA Pay - Recurring Payments", Classe do Apex SchedulePayOrderJob, Frequência Semanal com os sete dias marcados, datas de início e de término e um horário de início preferencial

Um trabalho, todos os dias. O horário que você escolhe é quando os pagamentos recorrentes do dia são recebidos.

O que o trabalho faz a cada dia

  1. Encontra todas as Pay Orders do tipo Schedule com o Schedule Active marcado e cujo Schedule Next Run Date é hoje.
  2. Clona cada uma em uma nova Pay Order Immediate vinculada de volta pelo Parent Pay Order e processa essas ordens uma de cada vez, sem registrar nada novo, porque o cliente e o método foram registrados quando o agendamento foi criado.
  3. Preenche o Schedule Last Run Date de cada agendamento, o que avança o Schedule Next Run Date e soma um ao System Run Instances.
  4. Grava um REDA Pay Log se algo falhou, e o proprietário da ordem recebe "Scheduled Payment [P-000000] failed." para cada execução com falha.

Uma execução que falha não é repetida; o agendamento simplesmente continua na próxima data. Consulte Configurar um pagamento recorrente.

Conferir se ele está rodando

OndeO que procurar
Configuração → página Todos os trabalhos agendados (Scheduled Jobs)O nome do seu trabalho, com uma data em Próxima execução agendada
Configuração → Trabalhos do ApexDepois de cada execução, entradas das classes em lote do REDA Pay com status Completed
Aplicativo REDA Pay → REDA Pay Logs → Attention NeededLogs do trabalho quando houve execuções com falha, com as falhas anexadas em um arquivo
Modo de exibição de lista Order Type - Schedule de Pay OrdersSchedule Last Run Date = hoje para os agendamentos que venciam

Exemplo prático: a execução de uma manhã

Três agendamentos vencem em 1º de novembro: o aluguel de dois moradores por conta bancária e uma taxa de atendimento a proprietários por cartão.

AgendamentoO que o trabalho faz às 06:00Resultado
P-051850, $1,250.00 mensal, Checking x-7890Clona-o na P-052001 (Parent Pay Order P-051850) e a processaT-0014601 processed; P-052001 Schedule - Processed; na P-051850, Last Run Date 1º nov., Next Run Date 1º dez., Run Instances 1
P-051860, $980.00 mensal, Checking x-1122Clona-o na P-052002 e a processaA Payload recusa: saldo insuficiente. T-0014602 failed; P-052002 Schedule - Not Processed; o proprietário da P-051860 vê "Scheduled Payment [P-051860] failed."; a P-051860 avança mesmo assim para 1º dez.
P-051870, $45.00 mensal, Visa x-4242 (vencido)Clona-o na P-052003 e a processaRecusado; como acima

Um REDA Pay Log da execução registra duas falhas, com as duas ordens e os seus erros no arquivo anexo, e os administradores recebem o e-mail "ATTENTION NEEDED". A cobrança acompanha as duas execuções com falha; os agendamentos em si não precisam de alteração, a menos que o cartão seja substituído.

Escolher o horário

O horário que você escolhe está no fuso horário do usuário que agenda o trabalho. Uma hora cedo, antes do expediente, faz com que as falhas já estejam no modo de exibição Attention Needed quando a equipe chega, e os pagadores veem um horário de cobrança constante. Evite o início da hora em que rodam os seus outros trabalhos pesados; o trabalho do REDA Pay chama a Payload uma vez por agendamento e é rápido, mas disputa os mesmos espaços de processamento em lote.

Executar mais de uma vez por dia, ou para uma data passada

O trabalho roda uma vez por dia por projeto: os agendamentos são organizados por data, e uma segunda execução no mesmo dia não encontra nada novo a fazer. Se o trabalho não rodou em algum dia (por exemplo, ainda não estava agendado, ou a organização estava indisponível), um administrador pode executá-lo para essa data no Developer Console (Debug → Open Execute Anonymous Window; os menus do Developer Console ficam em inglês):

rpay.SchedulePayOrderJob job = new rpay.SchedulePayOrderJob();
job.processDate = Date.newInstance(2026, 11, 1);   // a data perdida
System.schedule('REDA Pay - catch-up ' + String.valueOf(DateTime.now().getTime()), '0 0 * * * ?', job);

Isso agenda uma execução avulsa na próxima hora para a data informada; os agendamentos que venciam nessa data e ainda não rodaram são processados. O trabalho também aceita batchSize (padrão 50), o número de agendamentos tratados por lote.

Erros comuns a evitar

ErroO que aconteceSolução
Nunca agendar o trabalhoTodo agendamento fica "ativo" para sempre e nada é cobradoAgende-o; depois revise os agendamentos cujo Next Run Date está no passado
Agendá-lo duas vezesInofensivo, mas confuso: a segunda execução não encontra nadaMantenha um trabalho só
Escolher um horário de início durante o expedienteOs pagamentos são recebidos no meio da manhã; as falhas aparecem com a equipe ocupadaEscolha uma hora cedo
Excluir o trabalho agendado durante uma "limpeza"O pagamento automático paraAgende-o de novo
Esperar que o trabalho repita os pagamentos com falhaEle não repeteCobre os valores perdidos separadamente

Perguntas frequentes

O trabalho roda como o usuário que o agendou. Esse usuário precisa ter o REDA Pay - Admin User e permissão para recebimentos; se essa pessoa sair, agende o trabalho de novo como outro administrador.

Não, mas organizações de produção devem tê-los para que as recusas e as rejeições posteriores cheguem ao Salesforce; consulte Configurar webhooks.

Exclua o trabalho agendado, na página Todos os trabalhos agendados, para pausar; agende-o de novo para retomar. Os agendamentos cujas datas passaram nesse meio-tempo não são recuperados automaticamente.

O que vem a seguir