Pular para o conteúdo principal

PaymentMethod (Metodo de Pagamento)

O PaymentMethod representa um metodo de pagamento configurado para uso no PDV.

Descricao

Metodos de pagamento definem como os clientes podem pagar suas compras. Cada metodo tem configuracoes especificas de taxas, parcelamento e integracao com contas financeiras.

Dados

Identificacao

CampoTipoObrigatorioDescricao
nameTextoSimNome do metodo
kindSelecaoSimTipo do metodo
activeBooleanoSimSe esta ativo
iconTextoNaoIcone para exibicao

Tipos de Metodo (kind)

TipoDescricaoConfiguracoes Especificas
moneyDinheiroPermite troco
credit_cardCartao de CreditoTaxas, parcelamento
debit_cardCartao de DebitoTaxas
pixPIXChave PIX, QR Code
bank_slipBoletoDias para vencimento
creditCredito do ClienteUsa saldo do cliente
voucherVoucher/ValeUsa voucher cadastrado
checkChequeDados do cheque
bank_transferTransferenciaDados bancarios
otherOutroConfiguracao livre

Configuracoes por Tipo

Dinheiro (money)

CampoTipoDescricao
allow_changeBooleanoPermite troco
max_changeMonetarioTroco maximo permitido

Cartao de Credito (credit_card)

CampoTipoDescricao
card_brandSelecaoBandeira (Visa, Master, etc)
max_installmentsNumeroMaximo de parcelas
min_installment_valueMonetarioValor minimo da parcela
tax_percentageDecimalTaxa percentual
tax_fixedMonetarioTaxa fixa por transacao
days_to_receiveNumeroDias para recebimento
installment_days_to_receiveNumeroDias para receber parcelas

Cartao de Debito (debit_card)

CampoTipoDescricao
card_brandSelecaoBandeira
tax_percentageDecimalTaxa percentual
tax_fixedMonetarioTaxa fixa
days_to_receiveNumeroDias para recebimento

PIX

CampoTipoDescricao
pix_keyTextoChave PIX
pix_key_typeSelecaoTipo da chave (cpf, cnpj, email, phone, random)
generate_qr_codeBooleanoGerar QR Code automatico
tax_percentageDecimalTaxa (se houver)

Boleto (bank_slip)

CampoTipoDescricao
days_to_dueNumeroDias para vencimento
tax_fixedMonetarioTaxa por boleto
instructionsTextoInstrucoes do boleto

Parcelamento

Configuracao de Parcelas

CampoTipoDescricao
max_installmentsNumeroNumero maximo de parcelas
min_installment_valueMonetarioValor minimo por parcela
installment_rulesArrayRegras por quantidade de parcelas

Regras de Parcelamento

Cada regra define taxas especificas por numero de parcelas:

CampoTipoDescricao
installmentsNumeroQuantidade de parcelas
tax_percentageDecimalTaxa para essa quantidade
days_to_receiveNumeroDias para receber cada parcela

Exemplo

2x: taxa 2%, recebe em 30/60 dias
3x: taxa 3%, recebe em 30/60/90 dias
6x: taxa 5%, recebe em 30/60/90/120/150/180 dias

Relacionamentos

Pertence a

EntidadeObrigatorioDescricao
AccountSimConta do petshop
StoreNaoFilial especifica (se nulo, vale para todas)
FinancialAccountNaoConta onde entra o dinheiro

Possui

EntidadeDescricao
PaymentsPagamentos usando este metodo

Integracao Financeira

Conta de Destino

Quando um pagamento e feito:

  1. Se financial_account_id definido: usa essa conta
  2. Se nao: usa conta padrao da loja
  3. Cria FinancialTransaction de receita

Calculo de Taxas

valor_liquido = valor_bruto - (valor_bruto * taxa_percentual / 100) - taxa_fixa

Exemplo

Venda: R$ 100,00
Cartao credito 3x
Taxa: 3%
Taxa fixa: R$ 0,50

Liquido: R$ 100 - R$ 3,00 - R$ 0,50 = R$ 96,50

Recebiveis

Geracao Automatica

Para cartoes, o sistema gera recebiveis:

CampoDescricao
expected_dateData prevista de recebimento
gross_valueValor bruto
net_valueValor liquido (apos taxas)
statuspending, received, canceled

Parcelas

Cada parcela gera um recebivel separado:

Venda 3x de R$ 300:
- Parcela 1: R$ 100 em 30 dias
- Parcela 2: R$ 100 em 60 dias
- Parcela 3: R$ 100 em 90 dias

Validacoes

CampoRegra
nameObrigatorio
kindObrigatorio, valor valido
max_installmentsMaior que 0 (se cartao credito)
min_installment_valueMaior que 0 (se parcelado)

Regras de Negocio

Disponibilidade no PDV

  1. Metodo deve estar ativo
  2. Se vinculado a loja, so aparece naquela loja
  3. Valor da venda deve permitir parcelamento minimo

Validacao de Pagamento

  1. Verifica se metodo esta ativo
  2. Verifica se parcelamento e permitido
  3. Verifica valor minimo da parcela
  4. Calcula taxas automaticamente

Troco (Dinheiro)

  1. Valor recebido maior que valor da venda
  2. Troco = valor recebido - valor da venda
  3. Troco nao pode exceder max_change

Permissoes

AcaoDescricao
CriarCadastrar metodo
EditarAlterar configuracoes
Ativar/DesativarMudar status
Configurar taxasDefinir taxas e parcelamento