Comissões

Gerar lote de comissões e pagar via Pix

Como agrupar comissões pendentes, executar a transferência Asaas e cancelar lote.

Quando um funcionário acumula entradas de comissão pendente, você gera um lote, confere o total e dispara a transferência Pix via Asaas. O PetShop Flow assume idempotência e protege contra duplo pagamento.

Pré-requisitos

  • Asaas conectado em /configuracoes/pagamento.
  • Pelo menos uma comissão pendente pro funcionário.
  • Chave Pix do funcionário em mãos (CPF, telefone, e-mail ou aleatória).
  • Permissão manage_team.

Passo 1 — Gerar o lote

  1. Vá em /equipe e abra o funcionário.
  2. Na seção Comissões, clique em Gerar lote.

O PetShop Flow:

  1. Agrega todas as entradas com status = pendente daquele funcionário na sua loja.
  2. Soma os valores em centavos pra obter o total do lote.
  3. Cria um commission_batches com status aberto.
  4. Marca as entradas como em_lote e vincula ao lote.

Se não há nenhuma entrada pendente, retorna "Sem comissões pendentes pra esse funcionário."

[SCREENSHOT: Card de lote aberto com valor total]

Passo 2 — Pagar o lote

  1. No próprio lote, clique em Pagar via Pix.
  2. Cole a chave Pix do funcionário (mínimo 3 caracteres).
  3. Confirme.

O PetShop Flow:

  1. Confere que o lote existe e está com status aberto.
  2. Descriptografa as credenciais Asaas da loja.
  3. Chama asaasTransfer com a chave, o valor total em centavos e a descrição Repasse comissão lote <prefixo do id>.
  4. Se a transferência der erro (chave inválida, saldo insuficiente, etc.), retorna Falha ao executar transfer: <motivo> e o lote continua aberto (pra você tentar de novo).
  5. Em caso de sucesso: marca o lote como pago, salva asaasTransferId e paidAt, e atualiza as entradas vinculadas pra pago.

[SCREENSHOT: Tela de confirmação de pagamento Pix]

Cancelar um lote

Se você criou o lote por engano e ainda não pagou:

  1. Abra o lote.
  2. Clique em Cancelar lote.
  3. O PetShop Flow só permite se status for aberto. As entradas voltam pra pendente (sem batchId) e o lote vira cancelado.

Por que essa separação em duas etapas?

  • Conferência humana: você confere o valor antes de transferir.
  • Resistência a falha: se a chamada Asaas falhar, as entradas continuam em lote, prontas pra retry.
  • Auditoria: cada lote pago guarda o asaasTransferId — você consegue rastrear no painel Asaas.

Permissões

manage_team — administrador e gestor.

Perguntas frequentes

Posso pagar manualmente fora do Asaas?

Não tem botão hoje. Se você pagar por fora, precisa pedir pro suporte marcar o lote como pago (caso contrário, vai aparecer como pendente).

A chave Pix do funcionário fica salva?

Não. Cada pagamento pede a chave de novo. Isso é proposital — chaves Pix podem mudar e funcionário pode pedir pra trocar.

O funcionário recebe comprovante?

O comprovante chega via Asaas (notificação por e-mail/app). Você pode reencaminhar.