Giter Club home page Giter Club logo

paynow's Introduction

Paynow

Um sistema gerenciador de pagamentos de uma plataforma b2b feita por mim utilizando Ruby on Rails e bootstrap

Instalação

Para rodar meu projeto, primeiro é necessário instalar o rails aqui

Rodar o Programa

Clone o projeto

  $ git clone https://github.com/glmsilva/paynow.git

Vá até a pasta do projeto

  $ cd paynow

Instale as dependências

  $ bin/setup

Popule o banco de dados com os seeds

  $ rails db:reset

Inicie o servidor

  $ rails server

Em seguida clique no link

127.0.0.1:3000

Rodando testes

Para rodar os testes, rode o seguinte comando no terminal:

  rspec

Autor

Tech Stack

Client: Bootstrap

Server: Rails, puma

Documentação

Wiki

paynow's People

Contributors

glmsilva avatar

Stargazers

 avatar

Watchers

 avatar

paynow's Issues

Administrador Gerencia Meios de Pagamento

Eu, usuário administrador da Paynow, devo ser capaz de gerenciar os meios de pagamento disponiveis na plataforma, para que as empresas escolham os tipos disponiveis previamente.

Critério de Aceitação:

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.

Relatório de Cobranças

Eu, cliente da Paynow, quero acessar o relatório de cobranças relacionados à minha empresa, para que possa visualizar o montante total das cobranças emitidas, o total de taxas pagas (de acordo com o meio de pagamento de cada cobrança), o valor total a receber (descontando as taxas) e o total dos descontos concedidos aos clientes.

Critério de Aceitação
A tela de acesso ao relatório, deverá ser encontrado na página do perfil da empresa, havendo um filtro com base em um intervalo de tempo de 30 dias, 90 ou o total.

Cliente Cadastra Empresa

Eu, cliente primeiro usuário da empresa, tenho que cadastrar os dados da minha empresa, para que tenha privilégios de usuário-administrador gerenciando e permitindo outros colaboradores da minha empresa se cadastrarem no site.

Critério de aceitação

O cliente deve configurar os dados de sua empresa informando:

  • CNPJ
  • Razão Social
  • Endereço de faturamento
  • 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.

Referenciar Cliente Final

Eu, cliente final, 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 mim.

Critério de aceitação
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.

Administrador Suspende Clientes

Eu, usuário administrador autenticado na plataforma, devo ser capaz de suspender uma conta de cliente para que impossibilite seu acesso à plataforma e a emissão de novas cobranças.

Critério de Aceitação

A Solicitação realizada deverá ser armazenada em um log de modificações, e só será efetuada caso outro usuário administrador aceite a solicitação. Um administrador sozinho não pode ser capaz de suspender uma conta de forma isolada.

Administrador Confirma Pagamentos

Eu, usuário adminstrador, devo ser capaz de alterar o status de uma cobrança de forma manual, para que aceite ou rejeite os pagamentos solicitados pelo cliente.

Critério de Aceitação

Cada cobrança efetuada ficará em estado "pendente" até ser aprovada por algum administrador. Na página de administrador deverá ter a opção de escolher ver as compras aprovadas e as pendentes, justamente com suas datas.

  • Visualização de Cobranças pendentes

  • Visualização de cobranças por data

  • Visualização de cobranças efetivadas

Administrador Acessa Plataforma

Eu, colaborador da Paynow, devo me cadastrar com email "@paynow.com.br" para que possa ter acesso de administrador na plataforma de pagamentos.

Critério de aceitação:

Somente usuários que se cadastrarem com email "@paynow.com.br" devem ser capazes de cadastrar e logar na conta como administradores automaticamente, sem qualquer intermédio de outro usuário.

Administrador Gerencia Clientes

Eu, usuário administrador da Paynow autenticado, devo ser capaz de gerenciar clientes, incluindo renovar solicitação de token, para que possa visualizar e alterar os dados das empresas cadastradas.

Critério de Aceitação

Usuários com email "@paynow.com.br" podem gerenciar os clientes, gerar tokens, etc, todas as alterações devem ser registradas em uma espécie de log, onde ficará armazenada a data e a hora da modificação e qual usuário pertence a submissão enviada, para fins de auditoria.

Visitar Site

Eu, visitante da paynow ainda não autenticado, devo entrar no site da empresa, para ter certeza de que estou no site correto da Paynow

Administrador Visualiza Cobranças

Eu, usuário administrador, devo ser capaz de visualizar todas as cobranças, para auditar a quantidade de cobranças emitidas pela minha plataforma.

Critério de Aceitação
Usuários autenticados com email @paynow.com.br devem ser capazes de ver um link/campo/entidade onde será possível conferir todas as cobranças emitidas em um determinado período.

Cliente Gerencia Funcionários

Eu, cliente da paynow com permissões de administrador da empresa, devo gerenciar todos os funcionários cadastrados da minha empresa, podendo ativar e inativar contas

Visualizar Recibo

Eu, cliente final não autenticado no sistema, devo ter a permissão para visualizar um recibo, para visualizar os dados do meu pagamento.

Critério de Aceitação

Usuários autenticados e não autenticados, devem ser capazes de visualizar os recibos emitidos. Um recibo só será emitido caso uma cobrança tenha o estado alterado para "Aprovada". 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. Um cliente(empresa), deve ser capaz de visualizar todos os recibos à ela pertencentes.

Emitir Cobrança

Eu, cliente da Paynow, devo emitir uma cobrança, para que seja enviada ao meu cliente final.

Critério de Aceitação
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.

[...]

Atualizar Cobranças

Eu, usuário administrador, devo ser capaz de atualizar o estado de uma cobrança, para que seja emitido um recibo final referente ao pagamento.

Critério de Aceitação

O gerenciamento de cobranças, deverá ser efetuado através de uma requisição API. 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.

Cliente Acessa Plataforma

Eu, usuário cliente da Paynow, devo me cadastrar com um email corporativo, para que possa ter acesso a plataforma.

Critério de Aceitação

Uma conta de email só será validada se não possuir domínio publico, como: gmail, yahoo, hotmail, etc. Só serão aceitas contas de empresas já previamente cadastradas.
Associado a Issue #4

Inativar Produtos

Eu, usuário cliente da Paynow, devo ser capaz de inativar produtos, para que fiquem indisponíveis de serem vendidos em meu site.

Critério de Aceitação
Para cada alteração efetuada no produto dever ser guardado para auditoria.

Cadastrar Produtos

Eu, usuário cliente da Paynow, devo ser capaz de cadastrar produtos, para que estejam disponíveis para venda.

Critérios de Aceitação

Usuário autenticado, pode cadastrar um produto, informando os valores de acordo com o meio de pagamento, descontos, nome. Deve ser registrado um log com as alterações efetuadas em cada produto, para fins de auditoria. Cada produto gera um token para ser usado para efetivar contratações via api.

Cliente Consulta Cobranças

Eu, cliente da Paynow, quero consultar as cobranças referentes a minha empresa, para que possa verificar os status das cobranças emitidas em um determinado período.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.