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
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| name | Texto | Sim | Nome do metodo |
| kind | Selecao | Sim | Tipo do metodo |
| active | Booleano | Sim | Se esta ativo |
| icon | Texto | Nao | Icone para exibicao |
Tipos de Metodo (kind)
| Tipo | Descricao | Configuracoes Especificas |
|---|---|---|
| money | Dinheiro | Permite troco |
| credit_card | Cartao de Credito | Taxas, parcelamento |
| debit_card | Cartao de Debito | Taxas |
| pix | PIX | Chave PIX, QR Code |
| bank_slip | Boleto | Dias para vencimento |
| credit | Credito do Cliente | Usa saldo do cliente |
| voucher | Voucher/Vale | Usa voucher cadastrado |
| check | Cheque | Dados do cheque |
| bank_transfer | Transferencia | Dados bancarios |
| other | Outro | Configuracao livre |
Configuracoes por Tipo
Dinheiro (money)
| Campo | Tipo | Descricao |
|---|---|---|
| allow_change | Booleano | Permite troco |
| max_change | Monetario | Troco maximo permitido |
Cartao de Credito (credit_card)
| Campo | Tipo | Descricao |
|---|---|---|
| card_brand | Selecao | Bandeira (Visa, Master, etc) |
| max_installments | Numero | Maximo de parcelas |
| min_installment_value | Monetario | Valor minimo da parcela |
| tax_percentage | Decimal | Taxa percentual |
| tax_fixed | Monetario | Taxa fixa por transacao |
| days_to_receive | Numero | Dias para recebimento |
| installment_days_to_receive | Numero | Dias para receber parcelas |
Cartao de Debito (debit_card)
| Campo | Tipo | Descricao |
|---|---|---|
| card_brand | Selecao | Bandeira |
| tax_percentage | Decimal | Taxa percentual |
| tax_fixed | Monetario | Taxa fixa |
| days_to_receive | Numero | Dias para recebimento |
PIX
| Campo | Tipo | Descricao |
|---|---|---|
| pix_key | Texto | Chave PIX |
| pix_key_type | Selecao | Tipo da chave (cpf, cnpj, email, phone, random) |
| generate_qr_code | Booleano | Gerar QR Code automatico |
| tax_percentage | Decimal | Taxa (se houver) |
Boleto (bank_slip)
| Campo | Tipo | Descricao |
|---|---|---|
| days_to_due | Numero | Dias para vencimento |
| tax_fixed | Monetario | Taxa por boleto |
| instructions | Texto | Instrucoes do boleto |
Parcelamento
Configuracao de Parcelas
| Campo | Tipo | Descricao |
|---|---|---|
| max_installments | Numero | Numero maximo de parcelas |
| min_installment_value | Monetario | Valor minimo por parcela |
| installment_rules | Array | Regras por quantidade de parcelas |
Regras de Parcelamento
Cada regra define taxas especificas por numero de parcelas:
| Campo | Tipo | Descricao |
|---|---|---|
| installments | Numero | Quantidade de parcelas |
| tax_percentage | Decimal | Taxa para essa quantidade |
| days_to_receive | Numero | Dias 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
| Entidade | Obrigatorio | Descricao |
|---|---|---|
| Account | Sim | Conta do petshop |
| Store | Nao | Filial especifica (se nulo, vale para todas) |
| FinancialAccount | Nao | Conta onde entra o dinheiro |
Possui
| Entidade | Descricao |
|---|---|
| Payments | Pagamentos usando este metodo |
Integracao Financeira
Conta de Destino
Quando um pagamento e feito:
- Se
financial_account_iddefinido: usa essa conta - Se nao: usa conta padrao da loja
- 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:
| Campo | Descricao |
|---|---|
| expected_date | Data prevista de recebimento |
| gross_value | Valor bruto |
| net_value | Valor liquido (apos taxas) |
| status | pending, 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
| Campo | Regra |
|---|---|
| name | Obrigatorio |
| kind | Obrigatorio, valor valido |
| max_installments | Maior que 0 (se cartao credito) |
| min_installment_value | Maior que 0 (se parcelado) |
Regras de Negocio
Disponibilidade no PDV
- Metodo deve estar ativo
- Se vinculado a loja, so aparece naquela loja
- Valor da venda deve permitir parcelamento minimo
Validacao de Pagamento
- Verifica se metodo esta ativo
- Verifica se parcelamento e permitido
- Verifica valor minimo da parcela
- Calcula taxas automaticamente
Troco (Dinheiro)
- Valor recebido maior que valor da venda
- Troco = valor recebido - valor da venda
- Troco nao pode exceder max_change
Permissoes
| Acao | Descricao |
|---|---|
| Criar | Cadastrar metodo |
| Editar | Alterar configuracoes |
| Ativar/Desativar | Mudar status |
| Configurar taxas | Definir taxas e parcelamento |