Como os status dos pagamentos se mantêm atualizados
Receber um pagamento é o começo da vida dele, não o fim. Um pagamento bancário aceito hoje pode ser rejeitado em três dias; um pagamento com cartão pode ser reembolsado no painel da Payload; o dinheiro chega à sua conta bancária em lote. O REDA Pay fica sabendo de tudo isso por meio de webhooks (mensagens que a Payload envia para a sua organização quando algo acontece) e atualiza os registros sem que ninguém pressione um botão. Este artigo explica o que chega, o que isso altera e o que fazer quando não chega.
Os dez eventos
| Evento da Payload | O que significa | O que o REDA Pay faz |
|---|---|---|
| payment | Uma transação de pagamento foi criada | Relê a transação e atualiza a Pay Transaction |
| processed | Uma transação foi processada | O mesmo |
| authorized | Um valor de cartão foi autorizado | O mesmo |
| credit | Uma transação de repasse (desembolso) foi criada | O mesmo |
| refund | Foi feito um reembolso, na tela ou no painel da Payload | O mesmo; um reembolso feito fora do Salesforce aparece como uma atualização de transação |
| void | Uma transação foi cancelada | O mesmo |
| decline | Uma transação foi recusada | O mesmo |
| reject | Um pagamento bancário foi devolvido depois de aceito | O mesmo: a Pay Transaction passa a rejected, com um Rejected Date |
| deposit | A Payload depositou fundos na sua conta bancária | Cria ou atualiza uma Statement Activity do tipo Deposit e lista os pagamentos que ela inclui |
| reversal | A Payload retirou fundos da sua conta bancária (repasses, reembolsos) | Cria ou atualiza uma Statement Activity do tipo Payout |
Para todos os eventos, menos deposit e reversal, o REDA Pay faz uma coisa: pega o identificador da transação na mensagem e relê a transação inteira na Payload, depois salva o que a Payload devolve (status, código de status, status de liquidação, valores, datas). O conteúdo da mensagem nunca é gravado diretamente em um registro, então um status no Salesforce sempre reflete o que a Payload tem. Uma mensagem sobre uma transação que o Salesforce nunca viu é ignorada.
Dez eventos, um por linha. Se a guia mostrar menos, execute o Setup Webhooks de novo.
O que muda nos registros
| Registro | Campos que mudam | Acionado por |
|---|---|---|
| Pay Transaction | Status, Status Code, Status Message, Funding Status, Processed Date, Rejected Date, Voided Date, valores | payment, processed, authorized, credit, refund, void, decline, reject |
| Statement Activity e as suas Transaction Activities | Criadas com Statement Amount, Type, Reference Number, Logged Datetime; linhas vinculadas às Pay Transactions | deposit, reversal |
| Pay Order | Nada. O status da própria ordem reflete o processamento feito na tela ou pelo trabalho; as mudanças posteriores ficam na transação | — |
O processamento dos webhooks roda em segundo plano, em lotes pequenos, poucos minutos depois do evento. Os erros são gravados em um REDA Pay Log.
Exemplo prático: a vida de um pagamento bancário
| Dia | Evento | O que muda no Salesforce |
|---|---|---|
| Seg 10:00 | Um morador paga $1,251.75 no portal | Pay Order P-052010 Immediate - Processed; T-0014610 processed, Funding Status pending |
| Seg 10:01 | A Payload envia payment e processed | O REDA Pay relê a T-0014610: nenhuma mudança visível, ela já estava atualizada |
| Ter 02:00 | A Payload agrupa em lote os pagamentos bancários do dia para liquidação | No próximo evento ou sincronização, o Funding Status mostra batched |
| Qua 09:00 | A Payload envia deposit do lote de terça | A Statement Activity S-0000931:2026-11 é criada, tipo Deposit, com uma linha Transaction Activity vinculada à T-0014610; Status Completed, Good To Reconcile |
| Qui 15:00 | O banco do morador devolve o pagamento: a Payload envia reject | A T-0014610 passa a rejected, Rejected Date quinta-feira; a P-052010 não muda |
| Sex 09:00 | A Payload envia reversal dos fundos devolvidos | Uma Statement Activity do tipo Payout registra a saída do dinheiro da sua conta |
Sem webhooks, o Salesforce continuaria mostrando o pagamento como processado e o depósito nunca apareceria.
O que um webhook nunca faz
| Ele nunca… | Porque |
|---|---|
| Altera uma Pay Order | As ordens registram a sua instrução; os resultados ficam nas transações e nos extratos |
| Cria um pagamento para uma ordem que o Salesforce não conhece | Transações desconhecidas são ignoradas; a conciliação pode criar as que faltam de propósito |
| Grava os dados da própria mensagem em um registro | O REDA Pay sempre relê na Payload, então uma mensagem malformada ou desatualizada não consegue corromper um registro |
| Envia algo aos seus clientes | As notificações são internas, para os proprietários das ordens |
Como ver que está funcionando
| Verificação | Onde |
|---|---|
| As transações mudam de status sem sincronizações manuais | Abra um pagamento bancário recente alguns dias depois: Funding Status batched e, mais tarde, uma Statement Activity que o menciona |
| Os depósitos chegam | Statement Activities → In Process / Pending Reconciliation se enchem depois de cada depósito da Payload |
| Erros | REDA Pay Logs → Attention Needed |
| O registro continua existindo | Pay Profile → guia Webhook Setup, dez linhas; Webhook Setup Datetime [Payload] no perfil |
A alternativa manual: Sync Transaction
Qualquer transação pode ser atualizada sob demanda:
- Em uma Pay Transaction: Sync Transaction → Sync relê essa transação.
- Em uma Pay Order: Sync Transaction → Sync pede à Payload todas as transações marcadas com a ordem, atualiza as que o Salesforce tem e cria as que faltam.
Use-a quando um status parecer desatualizado, quando um cliente disser que pagou e nenhuma transação aparecer, ou nos primeiros dias, antes de os webhooks serem verificados. Ela faz exatamente o que um webhook teria feito.
Erros comuns a evitar
| Erro | O que acontece | Solução |
|---|---|---|
| Operar sem webhooks em produção | Rejeições, reembolsos feitos na Payload e depósitos nunca chegam ao Salesforce | Configure-os antes de entrar em produção |
| Substituir a chave de API e não registrar de novo | Os webhooks continuam registrados com a chave antiga e param de chegar | Execute o Setup Webhooks de novo |
| Esperar que o status da ordem mude em uma rejeição | A transação muda; a ordem continua Processed | Use o status da transação nos relatórios de cobrança |
| Editar à mão o status de uma transação | O próximo webhook ou sincronização o sobrescreve com a verdade da Payload | Deixe os status com o REDA Pay; use os Internal Comments para observações |
Perguntas frequentes
A Payload envia a mensagem quando o evento acontece; o REDA Pay a processa em poucos minutos.
Crie um fluxo em Pay Transaction que dispare quando o Status mudar para rejected; consulte Automatizar pagamentos com fluxos.
Sim, pelo evento refund: a transação original é relida e uma transação de reembolso é criada ou atualizada abaixo da ordem.