paynow's People
paynow's Issues
Acesso de Administrador
Usuários de e-mail com domínio “@paynow.com.br” devem ser reconhecidos automaticamente
como usuários com perfil administrativo. Os demais usuários devem ser considerados clientes
e, com isto, devem possuir sempre um perfil da sua empresa configurado.
Administração de Clientes
Um usuário administrador da PayNow autenticado na plataforma deve ser capaz de visualizar e
alterar dados de clientes (as empresas), inclusive solicitar a renovação do token. Todas
alterações de dados devem ser registradas na plataforma criando um histórico de modificações
para fins de auditoria.
Solicitação de cobrança API(Cobrança)
Dados
- token
- valor com desconto
- valor original
- meio de pagamento
- token do produto
- token da empresa
- token do comprador
- data referente ou atual
- data de vencimento
funções:
-n-1 token comprador
-n-1 token produto
-n-1 token empresa
API para emissão de cobrança
A plataforma de pagamento pode receber uma solicitação para emitir uma nova cobrança
avulsa via API. Essa solicitação deve incluir o token da empresa, o token do produto envolvido
na transação, o meio de pagamento escolhido e os dados do cliente final para emissão da
cobrança. Cada transação deve conter somente 1 token de produto, ou seja, a plataforma não
suporta contratações de múltiplos produtos simultaneamente.
De acordo com o meio de pagamento escolhido para emissão da cobrança devem ser
recebidos parâmetros adicionais conforme a tabela abaixo:
Meio de Pagamento:
Cartão de Crédito: Número do cartão, nome impresso no cartão,código de verificação
Boleto: Endereço completo para envio do boleto
PIX: Nada
Os parâmetros adicionais, caso existam, são sempre obrigatórios.
Durante a emissão da cobrança, deve ser aplicado o desconto de acordo com o meio de
pagamento escolhido, caso tenha sido configurado no cadastro do produto. A cobrança deve
registrar o valor original do pedido e o valor com desconto. Cada cobrança emitida deve possuir
um token de identificação alfanumérico único de 20 caracteres e o status inicial da cobrança é
pendente.
alterar vendedor(histórico)
Dados:
-data da alteração
-responsável pela alteração
-motivo da alteração
-o que foi alterado:
- dado antigo
- dado atual
função:
- gerar novo vendedor e manter antigo no bd
- n-1 adm
- n-1 vendedor
Produto
Dados:
- nome
- valor
- token
- desconto
- modo de pagamento(pagamento)
função:
- n-1 empresa
- n-1 pagamento
Boleto Bancário
Dados:
- Código do banco
- número da agencia
- número da conta bancaria
Função:
- 1-n tipo de modelo
Emissão de Recibos
Toda cobrança deve emitir um recibo quando seu status for alterado para “aprovada”. O recibo
deve ser acessível mesmo por usuários externos não autenticados no sistema. O recibo deve
conter a data de vencimento da cobrança, a data efetiva do pagamento e um código de
autorização enviado pela empresa/banco responsável pela confirmação de pagamento.
solicitação de renovação de token da empresa(adm pay now e adm empresa)
dados:
- data
- motivo
- solicitador(adm ou vendedor)
- token antigo
- novo token
função:
- n-1empresa
- n-1 adm/vendedor (?)
- talvez separar em bancos, 1 para empresa e outro para os adm
Gestão de Meios de Pagamento (Cliente)
Um usuário de uma empresa na plataforma deve configurar os meios de pagamento que
deseja disponibilizar para os seus clientes. Exemplo: uma empresa de e-commerce de sapatos
pode criar sua conta na plataforma e habilitar somente pagamentos via cartão de crédito,
enquanto nossa empresa de cursos de programação pode habilitar pagamentos via PIX e
boleto bancário, excluindo a opção de cartão de crédito.
Para cada meio de pagamento escolhido, a empresa deve ter dados de configuração próprios
conforme a tabela abaixo:
Observação: os códigos de bancos devem ser os mesmos indicados pela FEBRABAN.
https://portal.febraban.org.br/pagina/3164/12/pt-br/associados
PIX Chave PIX de 20 caracteres
alfanuméricos e o código do
banco
Cartão de Crédito Código alfanumérico de até
20 caracteres referente à
conta da empresa junto à
operadora de cartão
Boleto bancário Código do banco, número da
agência e da conta bancária
Então, caso a CodePlay deseje receber pagamentos via cartão de crédito PISA, ao ativar este
meio de pagamento deverá informar o código de 20 caracteres. Para habilitar outro tipo de
cartão, por exemplo o MESTRECARD, deverá informar outro código de 20 caracteres. Estes
códigos representam identificadores únicos dos contratos da CodePlay com as operadoras
PISA e MESTRECARD, estes contratos não estão dentro do escopo deste projeto.
Vendedor
Dados:
- nome
- senha
- cpf
Funções:
- 1-n cliente
- n-1 empresa
- CRUD produto
- Habilitar/desabilitar forma de pagamento
- CRUD forma de pagamento
- CRUD comprador
Acesso de Clientes
Um usuário pode criar sua conta como cliente usando um e-mail de sua empresa. Contas de
e-mails públicos como Gmail, Hotmail e Yahoo não podem ser utilizadas nesta plataforma. No
nosso contexto, um funcionário da CodePlay deve criar sua conta usando um e-mail com
dominínio “@codeplay.com.br”.
Ao criar sua conta, o cliente deve configurar os dados de sua empresa informando: CNPJ,
razão social, endereço de faturamento e e-mail para faturamento. Um cliente não deve
conseguir prosseguir com o acesso à plataforma enquanto não concluir o cadastro de todos os
dados de sua empresa.
Após a conclusão do cadastro da empresa, outras pessoas da mesma empresa podem criar
contas com o mesmo domínio de e-mail e ter acesso aos dados da empresa. O primeiro
usuário, no entanto, deve ser identificado como administrador da empresa dentro da
plataforma, com permissão para bloquear o acesso de outras pessoas da empresa.
Visitante trafega pela pagina
testes:
ver:
- home
- acessar perfil adm
- acessar empresa
- acessar vendedor
- acessar pagamento
- acessar histórico (alterar vendedor)
- acessar solicitação de suspensão
- acessar histórico de token da empresa
- acessar produto
- acessar token de um comprador
- acessar cobrança
- acessar opções de pagamento(fluxo)
PIX
Dados:
- chave pix
- código do banco(febran)
função :
- 1-n tipo de modelo
Empresa
Dados:
- CNPJ*
- razão social*
- Endereço de faturamento*
- email de faturamento*
- email de dominio
- token
funções:
- 1-n produtos
- 1-n vendedores
- 1-1 vendedor(adm)
- 1-n cobrança
Cadastro de Meios de Pagamento
Um usuário administrador autenticado pode gerenciar os meios de pagamento disponíveis na
plataforma. Os meios de pagamento devem ser do tipo boleto bancário, PIX ou cartão de
crédito. Cada meio de pagamento deve ter um nome, um ícone, uma taxa por cobrança em % e uma taxa máxima em reais. Exemplos de meio de pagamentos: boleto bancário do banco
laranja, com taxa de 5%; PIX do banco roxinho com taxa de 4,5%; cartão de crédito PISA com
taxa de 6%.
Um meio de pagamento pode ser desativado por um administrador. Meios de pagamento
desativados não devem ser disponibilizados para novas compras realizadas por qualquer
cliente da plataforma.
Cadastro de Produtos (Cliente)
Um usuário de uma empresa pode cadastrar produtos informando seus valores para venda. Os
produtos devem possuir um nome, seu valor e possíveis descontos de acordo com o meio de
pagamento escolhido. Em caso de mudança nos valores, deve ser armazenado um histórico
com os preços anteriores para efeito de auditoria. Cada produto terá um token gerado
automaticamente após o cadastro. Este token deve ser utilizado para efetivar contratações
através da API.
API para consulta de cobranças
O sistema de pagamento deve possuir uma API para consulta de cobranças permitindo filtrar
por data de vencimento e por forma de pagamento. A API deve permitir também a atualização
de status de uma determinada cobrança. Esta API será utilizada pelo sistema de execução de
cobranças e todas as requisições devem ser autorizadas por um token único de autenticação.
solicitação de suspensão (por:adm paynow)
dados:
- data
- motivo
- solicitador
- confirmador ou pendente
- solicitado
função:
- n-1 adm(solicitador)
- n-1 adm (confirmador)
- n-1 vendedor
- n-1 empresa
API de Criação de Token de Cliente Final (Cliente do cliente)
A plataforma de pagamento deve armazenar os dados dos clientes finais de seus clientes.
Exemplo: Eu, João, ao criar minha conta na plataforma de cursos online devo ter um token
único criado pela plataforma de meios de pagamentos PayNow. Este token será utilizado para
referenciar todas as cobranças emitidas para este cliente.
O token do cliente final deve ser vinculado ao nome completo e CPF de cada cliente e seu
formato é alfanumérico com 20 caracteres e único. Caso a mesma pessoa crie contas em
diversos clientes da PayNow, seu token deve ser sempre o mesmo, mas deve ser registrado
que este token foi vinculado com uma nova empresa para efeito de auditoria.
A criação deste token deve ser feita através de uma API e o token da empresa cliente deve ser
utilizado para identificar a qual empresa pertencem os dados do cliente final.
Fuções api
funções:
- solicita combrança
Compradores(cliente)
Dados:
- token
- nome do vendedor
- cpf do vendedor
- empresa cadastrada
funções:
- n-1 vendedor(nome e cpf)
- n-1 empresa
Cliente consulta cobranças
As empresas cadastradas na plataforma de pagamentos podem acessar suas contas e verificar
o status das cobranças relacionadas à sua empresa. A tela ‘inicial’ desta funcionalidade deve
trazer as cobranças referentes aos últimos 30 dias e devem existir opções para visualizar os
últimos 90 dias e o histórico completo.
Fluxo de pagamento
Dados:
- tipo de pagamento
- vendedor responsável
- token empresa
função:
- 1-n tipo de modelo
- n-1 pagamento
Cartão de crédito
Dados:
- Código alfanumérico
- operadora do cartão
função:
- 1-n tipo de modelo
tipo de modelo
dados:
- pagamento
- empresa
- fluxo de pagamento
função:
- n-1 fluxo de pagamento
- n-1 pagamento
- 1-n tabela(função id)
ADM paynow (adpay)
Dados:
- nome
- senha
Funções:
- desativar pagamento
- cadastrar formas de pagamento
- visualizar vendedor
- alterar vendedor
- solicitar renovação do token da empresa
- solicitar suspensão de cliente
- confirmar solicitação de suspensão de cliente de outro adm
- visualizar histórico de solicitações.
- visualizar histórico de alterações.
- confirmar pagamento manual
Confirmação Manual de Pagamentos
Na plataforma de pagamentos, um usuário administrador pode consultar todas cobranças com
status pendente e modificar este status para “aprovada” ou “rejeitada”. No caso de aprovada
deve ser informada a data efetiva do pagamento. No caso de rejeitada, devem ser informados:
a data da tentativa do pagamento, o código de retorno informado pela operadora/banco (tabela
disponível ao final do documento).
Uma cobrança rejeitada deve seguir no status “pendente”, para que novas tentativas de
cobrança sejam realizadas, mas mesmo assim devem ser armazenadas as informações da
tentativa de cobrança e todas estas tentativas devem ser visíveis ao consultar uma cobrança
no sistema.
Pagamento
Dados:
- nome
- tipo
- icone
- taxa de cobrança(%)
- taxa maxima em reais
- habilitado?
Token de Integração
Ao cadastrar uma empresa, os usuários desta empresa terão acesso a um token único
alfanumérico de 20 caracteres que será utilizado para integração com a API de pagamentos.
Este token deve ser disponibilizado no perfil da empresa, mas não deve ser passível de edição.
O administrador da empresa pode solicitar um novo token que deve ser gerado
automaticamente.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.